# Turnova API > Tomá reservas desde el sitio de tu negocio con el mismo catálogo, la misma agenda y la misma seña que la página de reservas de Turnova. Toda respuesta es JSON con la forma { version, ok, progreso, requiereRevision, datos | error }. Reglas: clave pública solo en el navegador y desde orígenes permitidos; clave secreta solo en el servidor; `Idempotency-Key` obligatoria al reservar; decidir por `error.codigo` y `error.recuperacion`. ## Empezar - [API de Turnova](https://turnovapp.com/docs/index.md): Tomá reservas desde el sitio de tu negocio con el mismo catálogo, la misma agenda y la misma seña que la página de reservas de Turnova. - [Primeros pasos](https://turnovapp.com/docs/primeros-pasos.md): Creá una clave en el panel de Turnova y hacé tu primera llamada en cinco minutos. ## Guías - [Reservar un turno de punta a punta](https://turnovapp.com/docs/guias/reservar-un-turno.md): Catálogo, horarios, reserva, seña por Mercado Pago y qué pasa cuando la clienta vuelve del pago. - [Guía para agentes de IA](https://turnovapp.com/docs/agentes-ia.md): Cómo leer esta documentación desde un asistente y qué reglas no puede saltearse una integración. ## Conceptos - [Autenticación](https://turnovapp.com/docs/autenticacion.md): Clave pública con orígenes permitidos para el navegador, clave secreta para tu servidor. - [Errores](https://turnovapp.com/docs/errores.md): Todas las respuestas tienen la misma forma; los errores traen un código estable y qué hacer. - [Idempotencia](https://turnovapp.com/docs/idempotencia.md): Una clave por reserva para poder reintentar sin crear dos turnos ni dos cobros. - [Límites](https://turnovapp.com/docs/limites.md): Cuántos pedidos por minuto acepta cada clave y qué hacer al pasarse. - [Disponibilidad y caché](https://turnovapp.com/docs/disponibilidad-y-cache.md): Cómo leer los horarios libres y por qué pueden tener hasta 45 segundos de atraso. - [Versionado y cambios](https://turnovapp.com/docs/versionado.md): Qué puede cambiar dentro de v1 y el historial de cambios. ## Referencia - [Referencia de la API](https://turnovapp.com/docs/referencia.md): Todos los endpoints de la API v1, generados de la especificación OpenAPI. ## Catálogo - [Servicios visibles, sedes y profesionales visibles del negocio](https://turnovapp.com/docs/referencia/leer-catalogo.md): GET /api/v1/catalogo ## Disponibilidad - [Horarios libres de un servicio](https://turnovapp.com/docs/referencia/consultar-disponibilidad.md): GET /api/v1/disponibilidad ## Reservas - [Crear una reserva de uno a ocho turnos](https://turnovapp.com/docs/referencia/crear-reserva.md): POST /api/v1/reservas - [Estado de una reserva hecha por la API](https://turnovapp.com/docs/referencia/leer-reserva.md): GET /api/v1/reservas/{compraId} ## Panel - [Credenciales del negocio (panel, con sesión)](https://turnovapp.com/docs/referencia/listar-credenciales.md): GET /api/configuracion/api-externa/credenciales - [Crear una credencial; la clave se muestra una sola vez](https://turnovapp.com/docs/referencia/crear-credencial.md): POST /api/configuracion/api-externa/credenciales - [Revocar (repetible)](https://turnovapp.com/docs/referencia/revocar-credencial.md): POST /api/configuracion/api-externa/credenciales/{id}/revocar - [Uso diario por credencial](https://turnovapp.com/docs/referencia/leer-uso.md): GET /api/configuracion/api-externa/uso ## Especificación - [OpenAPI 3.1 (YAML)](https://turnovapp.com/docs/openapi.yaml) - [OpenAPI 3.1 (JSON)](https://turnovapp.com/docs/openapi.json) - [Toda la documentación en un archivo](https://turnovapp.com/docs/llms-full.txt)