# API de Craqui - [API de Craqui](https://docs.craqui.com/index.md): Conecta tu web o tu sistema a un estudio en Craqui: su horario, sus clientes, sus reservas, sus créditos y sus pagos. - [Empezar en 5 minutos](https://docs.craqui.com/quickstart.md): De una clave de prueba a la segunda página del horario de un estudio. - [Claves y permisos](https://docs.craqui.com/authentication.md): Cómo se manda una clave, qué dice su prefijo, qué permisos puede tener y cómo cuidarla. - [Entorno de prueba](https://docs.craqui.com/test-mode.md): Un estudio de ejemplo con la configuración del real, para probar tu código sin tocar datos reales y sin escribirle a nadie. - [Conceptos de un estudio](https://docs.craqui.com/concepts.md): Cómo funciona un estudio de wellness en Craqui, para quien integra sin conocer el producto. - [Paginación](https://docs.craqui.com/pagination.md): Cómo recorrer una lista completa con cursores. - [Errores](https://docs.craqui.com/errors.md): La forma de un error, cómo programar contra él y cómo encontrar un pedido. - [Idempotencia](https://docs.craqui.com/idempotency.md): Cómo reintentar un pedido que modifica algo sin que el efecto se repita. - [Límites](https://docs.craqui.com/rate-limits.md): Cuántos pedidos acepta una clave por minuto y cómo saber cuántos te quedan. - [Versiones](https://docs.craqui.com/versioning.md): Cómo se versiona la API y qué cambios pueden llegar sin que cambies nada. - [API o MCP](https://docs.craqui.com/api-or-mcp.md): Cuándo conviene la API y cuándo el MCP de Craqui. - [Falta la clave](https://docs.craqui.com/errors/missing_api_key.md): Código missing_api_key · HTTP 401 - [La clave no es válida](https://docs.craqui.com/errors/invalid_api_key.md): Código invalid_api_key · HTTP 401 - [La clave fue revocada](https://docs.craqui.com/errors/revoked_api_key.md): Código revoked_api_key · HTTP 401 - [La clave venció](https://docs.craqui.com/errors/expired_api_key.md): Código expired_api_key · HTTP 401 - [Esa es una clave del API anterior](https://docs.craqui.com/errors/legacy_api_key.md): Código legacy_api_key · HTTP 401 - [La clave está en pausa](https://docs.craqui.com/errors/api_key_suspended.md): Código api_key_suspended · HTTP 403 - [Tu plan no incluye la API](https://docs.craqui.com/errors/plan_required.md): Código plan_required · HTTP 403 - [La API se usa desde un servidor](https://docs.craqui.com/errors/browser_not_allowed.md): Código browser_not_allowed · HTTP 403 - [La clave no tiene ese permiso](https://docs.craqui.com/errors/scope_required.md): Código scope_required · HTTP 403 - [Esa ruta no es para tu tipo de negocio](https://docs.craqui.com/errors/wrong_vertical.md): Código wrong_vertical · HTTP 403 - [Esa versión de la API no existe](https://docs.craqui.com/errors/invalid_api_version.md): Código invalid_api_version · HTTP 400 - [Falta Idempotency-Key](https://docs.craqui.com/errors/idempotency_key_required.md): Código idempotency_key_required · HTTP 400 - [Idempotency-Key ya usada con otro pedido](https://docs.craqui.com/errors/idempotency_key_reused.md): Código idempotency_key_reused · HTTP 422 - [El mismo pedido todavía se está procesando](https://docs.craqui.com/errors/idempotency_in_progress.md): Código idempotency_in_progress · HTTP 409 - [Hay datos inválidos](https://docs.craqui.com/errors/validation_failed.md): Código validation_failed · HTTP 400 - [El cursor no sirve para esta búsqueda](https://docs.craqui.com/errors/invalid_cursor.md): Código invalid_cursor · HTTP 400 - [Esa ruta no existe](https://docs.craqui.com/errors/route_not_found.md): Código route_not_found · HTTP 404 - [No existe](https://docs.craqui.com/errors/not_found.md): Código not_found · HTTP 404 - [Tu estudio de prueba no está listo](https://docs.craqui.com/errors/sandbox_unavailable.md): Código sandbox_unavailable · HTTP 409 - [Ese contacto no se admite en el estudio de prueba](https://docs.craqui.com/errors/sandbox_contact_not_allowed.md): Código sandbox_contact_not_allowed · HTTP 422 - [Ese email está reservado](https://docs.craqui.com/errors/sandbox_account_reserved.md): Código sandbox_account_reserved · HTTP 422 - [Demasiados pedidos seguidos](https://docs.craqui.com/errors/rate_limited.md): Código rate_limited · HTTP 429 - [Falló algo de nuestro lado](https://docs.craqui.com/errors/internal_error.md): Código internal_error · HTTP 500 - [Cambios](https://docs.craqui.com/changelog.md): Qué cambió en la API, con fecha y versión. - [Ver el negocio de la clave](https://docs.craqui.com/api-reference/business/ver-el-negocio-de-la-clave.md): Devuelve el estudio o la academia al que pertenece la clave. Sirve para confirmar que la clave funciona y para leer la zona horaria y la moneda antes de usar el resto de la API. - [Ver las reglas de reserva](https://docs.craqui.com/api-reference/booking_policy/ver-las-reglas-de-reserva.md): Las reglas con las que el estudio acepta y cancela reservas: plazo de cancelación, anticipación, tope de reservas, ausencias, lista de espera y congelamiento de membresías. - [Listar sedes](https://docs.craqui.com/api-reference/centers/listar-sedes.md): Las sedes del estudio, de la más nueva a la más vieja. - [Ver una sede](https://docs.craqui.com/api-reference/centers/ver-una-sede.md): Una sede del estudio. - [Listar salones](https://docs.craqui.com/api-reference/rooms/listar-salones.md): Los salones del estudio, del más nuevo al más viejo. Se pueden filtrar por sede y por si están activos. - [Ver un salón](https://docs.craqui.com/api-reference/rooms/ver-un-salón.md): Un salón del estudio. - [Listar instructores](https://docs.craqui.com/api-reference/teachers/listar-instructores.md): Quienes dan clases en el estudio, del más nuevo al más viejo: los que tienen el rol de instructor y quienes dan o suplen una clase con cualquier otro rol. Solo datos públicos. - [Ver un instructor](https://docs.craqui.com/api-reference/teachers/ver-un-instructor.md): Un instructor del estudio. El `teacher_id` de una clase o de una sesión siempre se puede pedir aquí. - [Listar disciplinas](https://docs.craqui.com/api-reference/courses/listar-disciplinas.md): Las disciplinas del estudio (Yoga, Pilates…), de la más nueva a la más vieja. Incluye las borradas, con `status: deleted`, porque sus clases las siguen nombrando; `active=true` trae solo las vigentes. - [Listar clases](https://docs.craqui.com/api-reference/classes/listar-clases.md): Las clases del estudio con su horario semanal, de la más nueva a la más vieja. Cada fecha del horario es una sesión. - [Ver una clase](https://docs.craqui.com/api-reference/classes/ver-una-clase.md): Una clase del estudio con su horario semanal. Una clase borrada responde `not_found`. - [Listar packs de créditos](https://docs.craqui.com/api-reference/credit_packs/listar-packs-de-créditos.md): Los packs de créditos que vende el estudio, del más nuevo al más viejo. - [Listar planes de membresía](https://docs.craqui.com/api-reference/membership_plans/listar-planes-de-membresía.md): Los planes de membresía que vende el estudio, del más nuevo al más viejo. - [Listar ofertas de bienvenida](https://docs.craqui.com/api-reference/intro_offers/listar-ofertas-de-bienvenida.md): Las ofertas para quien llega por primera vez, de la más nueva a la más vieja. - [Listar sesiones](https://docs.craqui.com/api-reference/sessions/listar-sesiones.md): El horario del estudio: las sesiones de sus clases entre dos fechas locales, en orden cronológico, con quién las da (con la suplencia aplicada) y sus lugares. Las canceladas y las de días cerrados no vienen, salvo con `include_cancelled=true`. - [Ver una sesión](https://docs.craqui.com/api-reference/sessions/ver-una-sesión.md): Una sesión de una clase del estudio, también si está cancelada (`status: cancelled`). Una sesión de un workshop responde `not_found`. - [Listar las reservas de una sesión](https://docs.craqui.com/api-reference/sessions/listar-las-reservas-de-una-sesión.md): La lista de una sesión: sus reservas en el orden en que se anotaron. Con `expand[]=client` viene el nombre de cada cliente (y el contacto solo si la clave tiene `clients.pii:read`). - [Listar clientes](https://docs.craqui.com/api-reference/clients/listar-clientes.md): Los clientes activos e inactivos del estudio, del más nuevo al más viejo. Sin el permiso `clients.pii:read` no traen email ni teléfono, y filtrar por `email` o `phone` responde `scope_required`. - [Ver un cliente](https://docs.craqui.com/api-reference/clients/ver-un-cliente.md): Un cliente del estudio, sin contacto salvo que la clave tenga `clients.pii:read`. Un cliente dado de baja responde con `status: deleted`, sin nombre ni contacto. Alguien que nunca fue cliente del estudio responde `not_found`. - [Listar reservas](https://docs.craqui.com/api-reference/bookings/listar-reservas.md): Las reservas del estudio, de la más nueva a la más vieja. Los filtros de fecha son por la fecha local de la sesión: una reserva cuya sesión se borró queda fuera de un filtro de fecha. - [Ver una reserva](https://docs.craqui.com/api-reference/bookings/ver-una-reserva.md): Una reserva del estudio. - [Ver el saldo de créditos de un cliente](https://docs.craqui.com/api-reference/credits/ver-el-saldo-de-créditos-de-un-cliente.md): El saldo de créditos de un cliente y sus lotes vivos, del que vence primero al último. `total_credits` es el saldo que vale. Un cliente sin créditos responde `total_credits: 0`. Alguien que nunca fue cliente del estudio responde `not_found`. - [Listar lotes de créditos](https://docs.craqui.com/api-reference/credits/listar-lotes-de-créditos.md): Los lotes de créditos del estudio (packs, ofertas de bienvenida y períodos de membresía), del más nuevo al más viejo. - [Listar movimientos de créditos](https://docs.craqui.com/api-reference/credits/listar-movimientos-de-créditos.md): Los movimientos de créditos del estudio, del más nuevo al más viejo. Para sincronizar un estudio grande, pide por partes con `created_at[gte]` y `created_at[lte]`. - [Listar membresías](https://docs.craqui.com/api-reference/memberships/listar-membresías.md): Las membresías de los clientes del estudio, de la más nueva a la más vieja. Una membresía anulada o una compra que no se terminó no aparecen. - [Ver una membresía](https://docs.craqui.com/api-reference/memberships/ver-una-membresía.md): Una membresía de un cliente del estudio. Una membresía anulada o una compra que no se terminó responden `not_found`. - [Listar los congelamientos de una membresía](https://docs.craqui.com/api-reference/memberships/listar-los-congelamientos-de-una-membresía.md): Los congelamientos de una membresía, del más nuevo al más viejo. - [Listar cuotas](https://docs.craqui.com/api-reference/fees/listar-cuotas.md): Las cuotas del estudio (membresías, packs, ofertas de bienvenida y pagos adelantados), de la más nueva a la más vieja. Un mes cubierto por un pago adelantado viene `covered` y no se debe. - [Ver una cuota](https://docs.craqui.com/api-reference/fees/ver-una-cuota.md): Una cuota del estudio. Una cuota que no es de membresía, pack, oferta de bienvenida ni pago adelantado responde `not_found`. - [Listar pagos](https://docs.craqui.com/api-reference/payments/listar-pagos.md): Los pagos de las cuotas del estudio, del más nuevo al más viejo. Para sincronizar, pide por partes con `paid_at[gte]` y `paid_at[lte]`. - [Ver un pago](https://docs.craqui.com/api-reference/payments/ver-un-pago.md): Un pago de una cuota del estudio. - [Listar reembolsos](https://docs.craqui.com/api-reference/refunds/listar-reembolsos.md): Los reembolsos de los pagos del estudio, del más nuevo al más viejo. ## OpenAPI Specs - [openapi](/openapi.yaml) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.