# Referencia de la API

> Todos los endpoints de la API v1, generados de la especificación OpenAPI.

URL base: `https://turnovapp.com`. Descargá la especificación en [openapi.yaml](https://turnovapp.com/docs/openapi.yaml) o [openapi.json](https://turnovapp.com/docs/openapi.json).

## Catálogo

Servicios, sedes y profesionales que el negocio muestra.

| Endpoint | Qué hace |
| --- | --- |
| [`GET /api/v1/catalogo`](https://turnovapp.com/docs/referencia/leer-catalogo.md) | Servicios visibles, sedes y profesionales visibles del negocio |

## Disponibilidad

Horarios libres para un servicio.

| Endpoint | Qué hace |
| --- | --- |
| [`GET /api/v1/disponibilidad`](https://turnovapp.com/docs/referencia/consultar-disponibilidad.md) | Horarios libres de un servicio |

## Reservas

Crear una reserva y consultar su estado.

| Endpoint | Qué hace |
| --- | --- |
| [`POST /api/v1/reservas`](https://turnovapp.com/docs/referencia/crear-reserva.md) | Crear una reserva de uno a ocho turnos |
| [`GET /api/v1/reservas/{compraId}`](https://turnovapp.com/docs/referencia/leer-reserva.md) | Estado de una reserva hecha por la API |

## Panel

Gestión de claves y uso desde el panel de Turnova (sesión de la dueña o una administradora).

| Endpoint | Qué hace |
| --- | --- |
| [`GET /api/configuracion/api-externa/credenciales`](https://turnovapp.com/docs/referencia/listar-credenciales.md) | Credenciales del negocio (panel, con sesión) |
| [`POST /api/configuracion/api-externa/credenciales`](https://turnovapp.com/docs/referencia/crear-credencial.md) | Crear una credencial; la clave se muestra una sola vez |
| [`POST /api/configuracion/api-externa/credenciales/{id}/revocar`](https://turnovapp.com/docs/referencia/revocar-credencial.md) | Revocar (repetible) |
| [`GET /api/configuracion/api-externa/uso`](https://turnovapp.com/docs/referencia/leer-uso.md) | Uso diario por credencial |
