{
"type": "https://docs.craqui.com/errors/revoked_api_key",
"title": "La clave fue revocada",
"status": 401,
"code": "revoked_api_key",
"detail": "Crea una clave nueva en Configuración → Integraciones.",
"request_id": "req_01hzx8m4k2a7d9q3f5w6y8z0bc"
}
{
"type": "https://docs.craqui.com/errors/sandbox_unavailable",
"title": "Tu estudio de prueba no está listo",
"status": 409,
"code": "sandbox_unavailable",
"detail": "Restablece tus datos de prueba en Configuración → Integraciones y vuelve a intentar.",
"request_id": "req_01hzx8m4k2a7d9q3f5w6y8z0bc"
}
{
"type": "https://docs.craqui.com/errors/revoked_api_key",
"title": "La clave fue revocada",
"status": 401,
"code": "revoked_api_key",
"detail": "Crea una clave nueva en Configuración → Integraciones.",
"request_id": "req_01hzx8m4k2a7d9q3f5w6y8z0bc"
}
{
"type": "https://docs.craqui.com/errors/sandbox_unavailable",
"title": "Tu estudio de prueba no está listo",
"status": 409,
"code": "sandbox_unavailable",
"detail": "Restablece tus datos de prueba en Configuración → Integraciones y vuelve a intentar.",
"request_id": "req_01hzx8m4k2a7d9q3f5w6y8z0bc"
}
Clave del negocio. sk es una clave completa (todo lo que el rol de quien la creó puede dar)
y rk una restringida a los permisos que se eligieron al crearla. Solo se usa desde un
servidor: un pedido desde un navegador se rechaza con browser_not_allowed.
client (pide clients:read) y session (pide sessions:read), uno por parámetro. Un
client expandido sigue la misma regla de contacto que GET /v1/clients/{id}.
Available options:
client,
session
Response
OK.
La reserva de un cliente en una sesión.
Volver a reservar una sesión que el cliente había cancelado reusa el mismo bkg_: el id es
uno por cliente y sesión, no uno por intento. booked_at es el del último intento.
Hasta cuándo cancelar devuelve el crédito, con el plazo de la clase, de su disciplina o del
estudio, y la regla de la lista de espera. Es una predicción: lo decide Craqui al cancelar.
null si la reserva no está confirmed ni waitlisted, o si la sesión ya empezó.
De dónde salió la reserva: api, recurring (una reserva fija), aggregator (una plataforma
de terceros) o craqui (el estudio o el cliente en Craqui). La lista puede crecer.
Solo con expand[]=session (pide sessions:read). null si session_id es null.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"API de Craqui","colors":{"primary":"#1F33C7","light":"#8E9CFF","dark":"#1F33C7"},"logo":{"light":"https://mintcdn.com/craqui/oYoj2lAgh2Jk1Qcv/logo/light.png?fit=max\u0026auto=format\u0026n=oYoj2lAgh2Jk1Qcv\u0026q=85\u0026s=e96edbf5621b5bc4068b5ad8dee910c7","dark":"https://mintcdn.com/craqui/oYoj2lAgh2Jk1Qcv/logo/dark.png?fit=max\u0026auto=format\u0026n=oYoj2lAgh2Jk1Qcv\u0026q=85\u0026s=119f3ccfb48eb398b9a41837114157f1","href":"https://docs.craqui.com"},"favicon":"https://mintcdn.com/craqui/oYoj2lAgh2Jk1Qcv/favicon.png?fit=max\u0026auto=format\u0026n=oYoj2lAgh2Jk1Qcv\u0026q=85\u0026s=9b21e70461f095f51069e525e11ed743","api":{"playground":{"display":"interactive"}},"footer":{"socials":{"website":"https://craqui.com"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"craqui","hasAudioNarration":false,"actualSubdomain":"craqui","customDomains":["docs.craqui.com"],"gitSource":{"type":"github","owner":"javicraqui-build","repo":"craqui-api-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6aee011a2f669b27f0303a49"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af22f0027110864ba94823c","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"Guías","count":129},{"language":"default","tag":"Errores","count":108},{"language":"default","tag":"Referencia","count":57},{"language":"default","tag":"Apps de terceros","count":8},{"language":"default","tag":"webhook_endpoints","count":8},{"language":"default","tag":"Conceptos","count":7},{"language":"default","tag":"memberships","count":7},{"language":"default","tag":"clients","count":6},{"language":"default","tag":"Empezar","count":5},{"language":"default","tag":"bookings","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"estudios/api-reference/bookings/ver-una-reserva","slug":"/estudios/api-reference/bookings/ver-una-reserva","pageMetadata":{"title":"Ver una reserva","description":"Una reserva del estudio.\n\n Solo para estudios: en una academia responde `wrong_vertical`. Un parámetro que la ruta no\n declara responde `validation_failed` con `unknown_parameter`.\n","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /bookings/{id}","href":"/estudios/api-reference/bookings/ver-una-reserva","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Una reserva del estudio.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Solo para estudios: en una academia responde \", _jsx(_components.code, {\n children: \"wrong_vertical\"\n }), \". Un parámetro que la ruta no\\ndeclara responde \", _jsx(_components.code, {\n children: \"validation_failed\"\n }), \" con \", _jsx(_components.code, {\n children: \"unknown_parameter\"\n }), \".\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Ver una reserva","description":"Una reserva del estudio.\n\n Solo para estudios: en una academia responde `wrong_vertical`. Un parámetro que la ruta no\n declara responde `validation_failed` con `unknown_parameter`.\n","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /bookings/{id}","href":"/estudios/api-reference/bookings/ver-una-reserva","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"getBooking","tags":["bookings"],"summary":"Ver una reserva","description":"Una reserva del estudio.\n\n Solo para estudios: en una academia responde `wrong_vertical`. Un parámetro que la ruta no\n declara responde `validation_failed` con `unknown_parameter`.\n","x-craqui-scope":"bookings:read","security":["fe415c55-003c-4573-83a9-7b210f3247ef","96beb10e-1c60-4547-baa8-a8725de39a10"],"parameters":["29e99d6e-c119-4998-b7aa-459db2bc9ab1","38c22a0c-c8b1-4ed4-a8af-8905dde71b87","befbc98f-1778-48d4-9708-879251e5215e"],"responses":{"200":"f234c9eb-263e-489b-8d0d-7984818830f3","400":"9f161060-8040-4f57-b1c9-2963b502aa56","401":"fd81c7c7-53b6-4f4f-bf6f-2074ecee6351","403":"1669fd65-db22-4f9c-951e-8a1fee8a6ef6","404":"cd81fec5-d2c9-4993-882f-bb58443e5758","409":"e3ca0cb2-4f13-456a-a125-45f4f98e0f3f","429":"9a3c5e3e-1562-4a0b-9023-fdde83e1edf2","500":"3cf9f61e-5afe-4ddc-9d3b-b86521b2d3d3"},"method":"get","type":"path","servers":["bb48cfac-2655-4314-90fd-28cc11e87988"],"path":"/bookings/{id}","baseUrlOptions":["https://api.craqui.com/v1"],"title":"Ver una reserva","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"29e99d6e-c119-4998-b7aa-459db2bc9ab1":{"name":"Craqui-Version","in":"header","required":false,"description":"Versión de la API para este pedido (`YYYY-MM-DD`). Si no la mandas, se usa la versión fijada en\nla clave cuando se creó.\n","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","examples":["2026-12-01"],"isRequired":false,"description":"Versión de la API para este pedido (`YYYY-MM-DD`). Si no la mandas, se usa la versión fijada en\nla clave cuando se creó.\n","uniqueKey":"","typeLabel":"string"}},"38c22a0c-c8b1-4ed4-a8af-8905dde71b87":{"name":"id","in":"path","required":true,"description":"El id de la reserva (`bkg_…`).","schema":{"type":"string","description":"El id de la reserva (`bkg_…`).\nId de una reserva.","pattern":"^bkg_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["bkg_01jx9eak0437zdf0yw0atg7g0r"],"isRequired":true,"uniqueKey":"","typeLabel":"string"}},"befbc98f-1778-48d4-9708-879251e5215e":{"name":"expand[]","in":"query","required":false,"description":"`client` (pide `clients:read`) y `session` (pide `sessions:read`), uno por parámetro. Un\n`client` expandido sigue la misma regla de contacto que `GET /v1/clients/{id}`.\n","style":"form","explode":true,"schema":{"type":"array","items":{"type":"string","enum":["client","session"],"uniqueKey":"items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":false,"description":"`client` (pide `clients:read`) y `session` (pide `sessions:read`), uno por parámetro. Un\n`client` expandido sigue la misma regla de contacto que `GET /v1/clients/{id}`.\n","uniqueKey":"","typeLabel":"enum\u003cstring>[]"}}},"responses":{"f234c9eb-263e-489b-8d0d-7984818830f3":{"description":"OK.","headers":{"Request-Id":{"description":"Identificador del pedido. Aparece también en el cuerpo de los errores.","schema":{"type":"string","pattern":"^req_[0-9a-hjkmnp-tv-z]{26}$"}},"Craqui-Version":{"description":"La versión de la API con la que se respondió.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"RateLimit":{"description":"Pedidos que quedan en la ventana actual y segundos hasta que se renueva (draft IETF httpapi-ratelimit-headers).","schema":{"type":"string","examples":["\"read\";r=97;t=42"]}},"RateLimit-Policy":{"description":"Límite de la clave por ventana (draft IETF httpapi-ratelimit-headers).","schema":{"type":"string","examples":["\"read\";q=100;w=60"]}}},"content":{"application/json":{"schema":{"type":"object","description":"La reserva de un cliente en una sesión.\n\nVolver a reservar una sesión que el cliente había cancelado **reusa** el mismo `bkg_`: el id es\nuno por cliente y sesión, no uno por intento. `booked_at` es el del último intento.\n","required":["id","object","livemode","client_id","session_id","status","credits_charged","waitlist_position","booked_at","cancelled_at","free_cancel_until","recurring","credit_refunded","source","created_at","updated_at"],"properties":{"id":{"type":"string","description":"Id de una reserva.","pattern":"^bkg_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["bkg_01jx9eak0437zdf0yw0atg7g0r"],"isRequired":true,"uniqueKey":"id","typeLabel":"string"},"object":{"type":"string","const":"booking","isRequired":true,"uniqueKey":"object","typeLabel":"string"},"livemode":{"type":"boolean","description":"`false` si el objeto es de tu estudio de prueba (claves `crq_test_`); `true` con claves `crq_live_`.","isRequired":true,"uniqueKey":"livemode","typeLabel":"boolean"},"client_id":{"oneOf":[{"type":"string","description":"El cliente. `null` si quien reservó no es cliente del estudio (por ejemplo, alguien del equipo).\n","pattern":"^cli_[0-7][0-9a-hjkmnp-tv-z]{25}$","example":"cli_01jatfha5h4nkg77c3wfrvd3cw","isRequired":true,"uniqueKey":"client_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"El cliente. `null` si quien reservó no es cliente del estudio (por ejemplo, alguien del equipo).\n","isRequired":true,"uniqueKey":"client_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"client_id","typeLabel":"string | null"},"session_id":{"oneOf":[{"type":"string","description":"La sesión. `null` si la sesión se borró.","pattern":"^ses_[0-7][0-9a-hjkmnp-tv-z]{25}$","example":"ses_01jnb07m4yxxe0s687jf750tkv","isRequired":true,"uniqueKey":"session_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"La sesión. `null` si la sesión se borró.","isRequired":true,"uniqueKey":"session_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"session_id","typeLabel":"string | null"},"status":{"type":"string","description":"`confirmed`, `waitlisted`, `cancelled`, `attended` o `no_show`. La lista puede crecer: trata un\nvalor que no conoces como una reserva que no ocupa lugar.\n","enum":["confirmed","waitlisted","cancelled","attended","no_show"],"x-extensible-enum":true,"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"credits_charged":{"type":"integer","description":"Los créditos que se descontaron al reservar (0 en lista de espera).","isRequired":true,"uniqueKey":"credits_charged","typeLabel":"integer"},"waitlist_position":{"oneOf":[{"type":"integer","description":"El lugar en la lista de espera; `null` fuera de ella.","isRequired":true,"uniqueKey":"waitlist_position.oneOf.0","typeLabel":"integer"},{"type":"null","description":"El lugar en la lista de espera; `null` fuera de ella.","isRequired":true,"uniqueKey":"waitlist_position.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"waitlist_position","typeLabel":"integer | null"},"booked_at":{"type":"string","format":"date-time","description":"Instante en RFC 3339 con el offset del negocio en ese momento.","examples":["2026-12-02T19:00:00-03:00"],"isRequired":true,"uniqueKey":"booked_at","typeLabel":"string\u003cdate-time>"},"cancelled_at":{"oneOf":[{"type":"string","description":"Instante en RFC 3339 con el offset del negocio en ese momento.","format":"date-time","example":"2026-12-02T19:00:00-03:00","isRequired":true,"uniqueKey":"cancelled_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","isRequired":true,"uniqueKey":"cancelled_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"cancelled_at","typeLabel":"string\u003cdate-time> | null"},"free_cancel_until":{"oneOf":[{"type":"string","description":"Hasta cuándo cancelar devuelve el crédito, con el plazo de la clase, de su disciplina o del\nestudio, y la regla de la lista de espera. Es una **predicción**: lo decide Craqui al cancelar.\n`null` si la reserva no está `confirmed` ni `waitlisted`, o si la sesión ya empezó.\n","format":"date-time","example":"2026-12-02T19:00:00-03:00","isRequired":true,"uniqueKey":"free_cancel_until.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"Hasta cuándo cancelar devuelve el crédito, con el plazo de la clase, de su disciplina o del\nestudio, y la regla de la lista de espera. Es una **predicción**: lo decide Craqui al cancelar.\n`null` si la reserva no está `confirmed` ni `waitlisted`, o si la sesión ya empezó.\n","isRequired":true,"uniqueKey":"free_cancel_until.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"free_cancel_until","typeLabel":"string\u003cdate-time> | null"},"recurring":{"type":"boolean","description":"Si la reserva salió de una reserva fija.","isRequired":true,"uniqueKey":"recurring","typeLabel":"boolean"},"credit_refunded":{"type":"boolean","description":"Si se le devolvió el crédito de esta reserva (desde su último `booked_at`).","isRequired":true,"uniqueKey":"credit_refunded","typeLabel":"boolean"},"source":{"type":"string","description":"De dónde salió la reserva: `api`, `recurring` (una reserva fija), `aggregator` (una plataforma\nde terceros) o `craqui` (el estudio o el cliente en Craqui). La lista puede crecer.\n","enum":["api","recurring","aggregator","craqui"],"x-extensible-enum":true,"isRequired":true,"uniqueKey":"source","typeLabel":"enum\u003cstring>"},"created_at":{"type":"string","format":"date-time","description":"Instante en RFC 3339 con el offset del negocio en ese momento.","examples":["2026-12-02T19:00:00-03:00"],"isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Instante en RFC 3339 con el offset del negocio en ese momento.","examples":["2026-12-02T19:00:00-03:00"],"isRequired":true,"uniqueKey":"updated_at","typeLabel":"string\u003cdate-time>"},"client":{"oneOf":[{"type":"object","description":"Solo con `expand[]=client` (pide `clients:read`). `null` si `client_id` es `null`.","required":["id","object","livemode","first_name","last_name","status","home_center_id","created_at","updated_at","metadata"],"properties":{"id":{"type":"string","description":"Id de un cliente del estudio.","pattern":"^cli_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["cli_01jatfha5h4nkg77c3wfrvd3cw"],"isRequired":true,"uniqueKey":"client.oneOf.0.id","typeLabel":"string"},"object":{"type":"string","const":"client","isRequired":true,"uniqueKey":"client.oneOf.0.object","typeLabel":"string"},"livemode":{"type":"boolean","description":"`false` si el objeto es de tu estudio de prueba (claves `crq_test_`); `true` con claves `crq_live_`.","isRequired":true,"uniqueKey":"client.oneOf.0.livemode","typeLabel":"boolean"},"first_name":{"oneOf":[{"type":"string","description":"`null` en un cliente `deleted`, o si el estudio no lo cargó.","examples":["Sofía"],"isRequired":true,"uniqueKey":"client.oneOf.0.first_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"`null` en un cliente `deleted`, o si el estudio no lo cargó.","examples":["Sofía"],"isRequired":true,"uniqueKey":"client.oneOf.0.first_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"client.oneOf.0.first_name","typeLabel":"string | null"},"last_name":{"oneOf":[{"type":"string","description":"`null` en un cliente `deleted`, o si el estudio no lo cargó.","examples":["Pérez"],"isRequired":true,"uniqueKey":"client.oneOf.0.last_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"`null` en un cliente `deleted`, o si el estudio no lo cargó.","examples":["Pérez"],"isRequired":true,"uniqueKey":"client.oneOf.0.last_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"client.oneOf.0.last_name","typeLabel":"string | null"},"status":{"type":"string","description":"`active`, `inactive` o `deleted`. Las listas traen solo `active` e `inactive`. La lista puede\ncrecer: trata un valor que no conoces como inactivo.\n","enum":["active","inactive","deleted"],"x-extensible-enum":true,"isRequired":true,"uniqueKey":"client.oneOf.0.status","typeLabel":"enum\u003cstring>"},"home_center_id":{"oneOf":[{"type":"string","description":"La sede habitual del cliente, si el estudio le asignó una.","pattern":"^ctr_[0-7][0-9a-hjkmnp-tv-z]{25}$","example":"ctr_01j65pdnq74qvnh0953pzvtczg","isRequired":true,"uniqueKey":"client.oneOf.0.home_center_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"La sede habitual del cliente, si el estudio le asignó una.","isRequired":true,"uniqueKey":"client.oneOf.0.home_center_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"client.oneOf.0.home_center_id","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","description":"Cuándo pasó a ser cliente de este estudio.","examples":["2026-12-02T19:00:00-03:00"],"isRequired":true,"uniqueKey":"client.oneOf.0.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"La última vez que cambió algo del cliente, su metadata incluida.","examples":["2026-12-02T19:00:00-03:00"],"isRequired":true,"uniqueKey":"client.oneOf.0.updated_at","typeLabel":"string\u003cdate-time>"},"metadata":{"type":"object","description":"Lo que tu sistema guardó sobre el cliente (`{}` si nada). Un cliente `deleted` trae `{}`.","maxProperties":20,"propertyNames":{"pattern":"^[a-z0-9_]{1,40}$"},"additionalProperties":{"type":"string","maxLength":500,"uniqueKey":"client.oneOf.0.metadata.additionalProperties","typeLabel":"string"},"isRequired":true,"uniqueKey":"client.oneOf.0.metadata","typeLabel":"object"},"email":{"oneOf":[{"type":"string","description":"Solo con el permiso `clients.pii:read`: sin él, el campo no viene (no es `null`). `null` si el\ncliente no tiene email.\n","uniqueKey":"client.oneOf.0.email.oneOf.0","typeLabel":"string"},{"type":"null","description":"Solo con el permiso `clients.pii:read`: sin él, el campo no viene (no es `null`). `null` si el\ncliente no tiene email.\n","uniqueKey":"client.oneOf.0.email.oneOf.1","typeLabel":"null"}],"uniqueKey":"client.oneOf.0.email","typeLabel":"string | null"},"phone":{"oneOf":[{"type":"string","description":"Solo con el permiso `clients.pii:read`: sin él, el campo no viene. En formato E.164\n(`+59899123456`); `null` si no tiene teléfono o si no se pudo leer como uno.\n","pattern":"^\\+[1-9]\\d{6,14}$","examples":["+59899123456"],"uniqueKey":"client.oneOf.0.phone.oneOf.0","typeLabel":"string"},{"type":"null","description":"Solo con el permiso `clients.pii:read`: sin él, el campo no viene. En formato E.164\n(`+59899123456`); `null` si no tiene teléfono o si no se pudo leer como uno.\n","pattern":"^\\+[1-9]\\d{6,14}$","examples":["+59899123456"],"uniqueKey":"client.oneOf.0.phone.oneOf.1","typeLabel":"null"}],"uniqueKey":"client.oneOf.0.phone","typeLabel":"string | null"},"active_membership":{"oneOf":[{"type":"object","description":"Solo en `GET /v1/clients/{id}` con `expand[]=active_membership` (pide `memberships:read`): la\nmembresía que tiene ahora (la `active`; si no hay, la más nueva `paused`, `suspended` o\n`pending_payment`). `null` si no tiene ninguna.\n","required":["id","object","livemode","client_id","membership_plan_id","status","current_period_start","current_period_end","renews_at","next_credit_date","started_at","cancelled_at","suspension_reason","discount","active_freeze_id","created_at","updated_at"],"properties":{"id":{"type":"string","description":"Id de una membresía de un cliente.","pattern":"^mem_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["mem_01j1q27t44qvr6v2s50cv4rbvq"],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.id","typeLabel":"string"},"object":{"type":"string","const":"membership","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.object","typeLabel":"string"},"livemode":{"type":"boolean","description":"`false` si el objeto es de tu estudio de prueba (claves `crq_test_`); `true` con claves `crq_live_`.","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.livemode","typeLabel":"boolean"},"client_id":{"oneOf":[{"type":"string","description":"El cliente. `null` si la membresía es de alguien que no es cliente del estudio.","pattern":"^cli_[0-7][0-9a-hjkmnp-tv-z]{25}$","example":"cli_01jatfha5h4nkg77c3wfrvd3cw","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.client_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"El cliente. `null` si la membresía es de alguien que no es cliente del estudio.","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.client_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.client_id","typeLabel":"string | null"},"membership_plan_id":{"type":"string","description":"Id de un plan de membresía.","pattern":"^mpl_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["mpl_01jt05nvk11xa1zm1pwve2qj7r"],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.membership_plan_id","typeLabel":"string"},"status":{"type":"string","description":"`active`, `paused` (congelada), `suspended`, `pending_payment`, `cancelled` o `expired`. La lista\npuede crecer: trata un valor que no conoces como una membresía que no da créditos.\n","enum":["active","paused","suspended","pending_payment","cancelled","expired"],"x-extensible-enum":true,"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.status","typeLabel":"enum\u003cstring>"},"current_period_start":{"type":"string","format":"date-time","description":"Instante en RFC 3339 con el offset del negocio en ese momento.","examples":["2026-12-02T19:00:00-03:00"],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.current_period_start","typeLabel":"string\u003cdate-time>"},"current_period_end":{"type":"string","format":"date-time","description":"Instante en RFC 3339 con el offset del negocio en ese momento.","examples":["2026-12-02T19:00:00-03:00"],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.current_period_end","typeLabel":"string\u003cdate-time>"},"renews_at":{"oneOf":[{"type":"string","description":"Cuándo se renueva sola: el fin del período actual si la membresía está `active` y su plan se\nrenueva solo; si no, `null`.\n","format":"date-time","example":"2026-12-02T19:00:00-03:00","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.renews_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"Cuándo se renueva sola: el fin del período actual si la membresía está `active` y su plan se\nrenueva solo; si no, `null`.\n","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.renews_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.renews_at","typeLabel":"string\u003cdate-time> | null"},"next_credit_date":{"oneOf":[{"type":"string","description":"La fecha local en que recibe los próximos créditos; `null` si no hay una prevista.","format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$","example":"2026-12-02","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.next_credit_date.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","description":"La fecha local en que recibe los próximos créditos; `null` si no hay una prevista.","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.next_credit_date.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.next_credit_date","typeLabel":"string\u003cdate> | null"},"started_at":{"type":"string","format":"date-time","description":"Instante en RFC 3339 con el offset del negocio en ese momento.","examples":["2026-12-02T19:00:00-03:00"],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.started_at","typeLabel":"string\u003cdate-time>"},"cancelled_at":{"oneOf":[{"type":"string","description":"Instante en RFC 3339 con el offset del negocio en ese momento.","format":"date-time","example":"2026-12-02T19:00:00-03:00","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.cancelled_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.cancelled_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.cancelled_at","typeLabel":"string\u003cdate-time> | null"},"suspension_reason":{"oneOf":[{"type":"string","description":"Por qué se suspendió, como texto; `null` si no está suspendida.","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.suspension_reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Por qué se suspendió, como texto; `null` si no está suspendida.","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.suspension_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.suspension_reason","typeLabel":"string | null"},"discount":{"oneOf":[{"type":"object","description":"El descuento que tiene la membresía; `null` si no tiene.","required":["percent","fixed_amount","periods_remaining"],"properties":{"percent":{"oneOf":[{"type":"number","description":"El porcentaje de descuento (por ejemplo `15` es 15 %); `null` si es un monto fijo.","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.discount.oneOf.0.percent.oneOf.0","typeLabel":"number"},{"type":"null","description":"El porcentaje de descuento (por ejemplo `15` es 15 %); `null` si es un monto fijo.","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.discount.oneOf.0.percent.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.discount.oneOf.0.percent","typeLabel":"number | null"},"fixed_amount":{"oneOf":[{"type":"object","description":"El monto fijo que se descuenta de cada cuota; `null` si es un porcentaje.","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.discount.oneOf.0.fixed_amount.oneOf.0.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.discount.oneOf.0.fixed_amount.oneOf.0.currency","typeLabel":"string"}},"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.discount.oneOf.0.fixed_amount.oneOf.0","typeLabel":"object"},{"type":"null","description":"El monto fijo que se descuenta de cada cuota; `null` si es un porcentaje.","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.discount.oneOf.0.fixed_amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.discount.oneOf.0.fixed_amount","typeLabel":"object | null"},"periods_remaining":{"oneOf":[{"type":"integer","description":"Cuántos períodos más se aplica; `null` si se aplica siempre.","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.discount.oneOf.0.periods_remaining.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Cuántos períodos más se aplica; `null` si se aplica siempre.","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.discount.oneOf.0.periods_remaining.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.discount.oneOf.0.periods_remaining","typeLabel":"integer | null"}},"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.discount.oneOf.0","typeLabel":"object"},{"type":"null","description":"El descuento que tiene la membresía; `null` si no tiene.","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.discount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.discount","typeLabel":"object | null"},"active_freeze_id":{"oneOf":[{"type":"string","description":"El congelamiento en curso o programado; `null` si no hay. El detalle está en `GET /v1/memberships/{id}/freezes`.","pattern":"^frz_[0-7][0-9a-hjkmnp-tv-z]{25}$","example":"frz_01jtk6e3z2vm9ych2cc7kadyja","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.active_freeze_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"El congelamiento en curso o programado; `null` si no hay. El detalle está en `GET /v1/memberships/{id}/freezes`.","isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.active_freeze_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.active_freeze_id","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","description":"Instante en RFC 3339 con el offset del negocio en ese momento.","examples":["2026-12-02T19:00:00-03:00"],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Instante en RFC 3339 con el offset del negocio en ese momento.","examples":["2026-12-02T19:00:00-03:00"],"isRequired":true,"uniqueKey":"client.oneOf.0.active_membership.oneOf.0.updated_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"client.oneOf.0.active_membership.oneOf.0","typeLabel":"object"},{"type":"null","description":"Solo en `GET /v1/clients/{id}` con `expand[]=active_membership` (pide `memberships:read`): la\nmembresía que tiene ahora (la `active`; si no hay, la más nueva `paused`, `suspended` o\n`pending_payment`). `null` si no tiene ninguna.\n","uniqueKey":"client.oneOf.0.active_membership.oneOf.1","typeLabel":"null"}],"uniqueKey":"client.oneOf.0.active_membership","typeLabel":"object | null"},"credit_balance":{"type":"object","description":"Solo en `GET /v1/clients/{id}` con `expand[]=credit_balance` (pide `credits:read`).","required":["object","livemode","client_id","total_credits","grants","grants_has_more"],"properties":{"object":{"type":"string","const":"credit_balance","isRequired":true,"uniqueKey":"client.oneOf.0.credit_balance.object","typeLabel":"string"},"livemode":{"type":"boolean","description":"`false` si el objeto es de tu estudio de prueba (claves `crq_test_`); `true` con claves `crq_live_`.","isRequired":true,"uniqueKey":"client.oneOf.0.credit_balance.livemode","typeLabel":"boolean"},"client_id":{"type":"string","description":"Id de un cliente del estudio.","pattern":"^cli_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["cli_01jatfha5h4nkg77c3wfrvd3cw"],"isRequired":true,"uniqueKey":"client.oneOf.0.credit_balance.client_id","typeLabel":"string"},"total_credits":{"type":"integer","description":"El saldo del cliente; `0` si nunca tuvo créditos.","isRequired":true,"uniqueKey":"client.oneOf.0.credit_balance.total_credits","typeLabel":"integer"},"grants":{"type":"array","description":"Los lotes que se pueden usar (sin anular, con créditos y sin vencer), del que vence primero al último. Como mucho 100.","items":{"type":"object","required":["credit_grant_id","kind","credits_remaining","expires_at","course_ids"],"properties":{"credit_grant_id":{"type":"string","description":"Id de un lote de créditos (un pack, una oferta o el período de una membresía).","pattern":"^cgr_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["cgr_01jdwsxvjgc7y12y0h12f43149"],"isRequired":true,"uniqueKey":"client.oneOf.0.credit_balance.grants.items.[INDEX].credit_grant_id","typeLabel":"string"},"kind":{"oneOf":[{"type":"string","description":"`pack`, `intro_offer` o `membership_period`. La lista puede crecer.","enum":["pack","intro_offer","membership_period",null],"x-extensible-enum":true,"isRequired":true,"uniqueKey":"client.oneOf.0.credit_balance.grants.items.[INDEX].kind.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"`pack`, `intro_offer` o `membership_period`. La lista puede crecer.","enum":["pack","intro_offer","membership_period",null],"x-extensible-enum":true,"isRequired":true,"uniqueKey":"client.oneOf.0.credit_balance.grants.items.[INDEX].kind.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"client.oneOf.0.credit_balance.grants.items.[INDEX].kind","typeLabel":"enum\u003cstring> | null"},"credits_remaining":{"type":"integer","isRequired":true,"uniqueKey":"client.oneOf.0.credit_balance.grants.items.[INDEX].credits_remaining","typeLabel":"integer"},"expires_at":{"oneOf":[{"type":"string","description":"Cuándo vencen; `null` si no vencen.","format":"date-time","example":"2026-12-02T19:00:00-03:00","isRequired":true,"uniqueKey":"client.oneOf.0.credit_balance.grants.items.[INDEX].expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"Cuándo vencen; `null` si no vencen.","isRequired":true,"uniqueKey":"client.oneOf.0.credit_balance.grants.items.[INDEX].expires_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"client.oneOf.0.credit_balance.grants.items.[INDEX].expires_at","typeLabel":"string\u003cdate-time> | null"},"course_ids":{"oneOf":[{"description":"Las disciplinas en las que sirven; `null` si sirven en todas.","type":"array","items":{"type":"string","description":"Id de una disciplina.","pattern":"^crs_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["crs_01jff81dk7rxtacmye5nanfp0h"],"uniqueKey":"client.oneOf.0.credit_balance.grants.items.[INDEX].course_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"client.oneOf.0.credit_balance.grants.items.[INDEX].course_ids.oneOf.0","typeLabel":"string[]"},{"description":"Las disciplinas en las que sirven; `null` si sirven en todas.","type":"null","items":{"type":"string","description":"Id de una disciplina.","pattern":"^crs_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["crs_01jff81dk7rxtacmye5nanfp0h"]},"isRequired":true,"uniqueKey":"client.oneOf.0.credit_balance.grants.items.[INDEX].course_ids.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"client.oneOf.0.credit_balance.grants.items.[INDEX].course_ids","typeLabel":"string[] | null"}},"uniqueKey":"client.oneOf.0.credit_balance.grants.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"client.oneOf.0.credit_balance.grants","typeLabel":"object[]"},"grants_has_more":{"type":"boolean","description":"`true` si el cliente tiene más de 100 lotes vivos; la lista completa está en `GET /v1/credit_grants?client_id=…\u0026status=active`.","isRequired":true,"uniqueKey":"client.oneOf.0.credit_balance.grants_has_more","typeLabel":"boolean"}},"uniqueKey":"client.oneOf.0.credit_balance","typeLabel":"object"}},"uniqueKey":"client.oneOf.0","typeLabel":"object"},{"type":"null","description":"Solo con `expand[]=client` (pide `clients:read`). `null` si `client_id` es `null`.","uniqueKey":"client.oneOf.1","typeLabel":"null"}],"uniqueKey":"client","typeLabel":"object | null"},"session":{"oneOf":[{"type":"object","description":"Solo con `expand[]=session` (pide `sessions:read`). `null` si `session_id` es `null`.","required":["id","object","livemode","class_id","course_id","center_id","room_id","teacher_id","starts_at","ends_at","local_date","local_start_time","local_end_time","time_zone","status","capacity","booked_count","waitlist_count","available_spots","created_at","updated_at"],"properties":{"id":{"type":"string","description":"Id de una sesión (una fecha de una clase).","pattern":"^ses_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["ses_01jnb07m4yxxe0s687jf750tkv"],"isRequired":true,"uniqueKey":"session.oneOf.0.id","typeLabel":"string"},"object":{"type":"string","const":"session","isRequired":true,"uniqueKey":"session.oneOf.0.object","typeLabel":"string"},"livemode":{"type":"boolean","description":"`false` si el objeto es de tu estudio de prueba (claves `crq_test_`); `true` con claves `crq_live_`.","isRequired":true,"uniqueKey":"session.oneOf.0.livemode","typeLabel":"boolean"},"class_id":{"type":"string","description":"Id de una clase (el grupo con su horario semanal).","pattern":"^cls_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["cls_01jryg07jeazdbx61dnx96ckmv"],"isRequired":true,"uniqueKey":"session.oneOf.0.class_id","typeLabel":"string"},"course_id":{"type":"string","description":"Id de una disciplina.","pattern":"^crs_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["crs_01jff81dk7rxtacmye5nanfp0h"],"isRequired":true,"uniqueKey":"session.oneOf.0.course_id","typeLabel":"string"},"center_id":{"oneOf":[{"type":"string","description":"Id de una sede.","pattern":"^ctr_[0-7][0-9a-hjkmnp-tv-z]{25}$","example":"ctr_01j65pdnq74qvnh0953pzvtczg","isRequired":true,"uniqueKey":"session.oneOf.0.center_id.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"session.oneOf.0.center_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"session.oneOf.0.center_id","typeLabel":"string | null"},"room_id":{"oneOf":[{"type":"string","description":"El salón de esta sesión, si tiene uno asignado.","pattern":"^room_[0-7][0-9a-hjkmnp-tv-z]{25}$","example":"room_01jhweg897s9npa0tasfgt6a65","isRequired":true,"uniqueKey":"session.oneOf.0.room_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"El salón de esta sesión, si tiene uno asignado.","isRequired":true,"uniqueKey":"session.oneOf.0.room_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"session.oneOf.0.room_id","typeLabel":"string | null"},"teacher_id":{"oneOf":[{"type":"string","description":"Quien da esta sesión, con la suplencia aplicada (igual que el calendario del estudio). `null`\nsi no tiene instructor asignado.\n","pattern":"^tch_[0-7][0-9a-hjkmnp-tv-z]{25}$","example":"tch_01jmwqh91chk154n8xwnaw5ynd","isRequired":true,"uniqueKey":"session.oneOf.0.teacher_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Quien da esta sesión, con la suplencia aplicada (igual que el calendario del estudio). `null`\nsi no tiene instructor asignado.\n","isRequired":true,"uniqueKey":"session.oneOf.0.teacher_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"session.oneOf.0.teacher_id","typeLabel":"string | null"},"starts_at":{"type":"string","format":"date-time","description":"El inicio, con el offset del estudio en ese momento. Una hora local que no existe por el\ncambio de horario (por ejemplo 00:30 la noche en que se adelanta el reloj) se corre una hora,\nigual que al reservar: en ese caso `starts_at` y `local_start_time` no coinciden.\n","examples":["2026-12-02T19:00:00-03:00"],"isRequired":true,"uniqueKey":"session.oneOf.0.starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"El fin. Una clase que cruza la medianoche termina al día siguiente.","examples":["2026-12-02T19:00:00-03:00"],"isRequired":true,"uniqueKey":"session.oneOf.0.ends_at","typeLabel":"string\u003cdate-time>"},"local_date":{"type":"string","format":"date","description":"Fecha local del negocio, `YYYY-MM-DD`.","pattern":"^\\d{4}-\\d{2}-\\d{2}$","examples":["2026-12-02"],"isRequired":true,"uniqueKey":"session.oneOf.0.local_date","typeLabel":"string\u003cdate>"},"local_start_time":{"type":"string","description":"Hora local del negocio, `HH:MM` (24 horas).","pattern":"^\\d{2}:\\d{2}$","examples":["19:00"],"isRequired":true,"uniqueKey":"session.oneOf.0.local_start_time","typeLabel":"string"},"local_end_time":{"type":"string","description":"Hora local del negocio, `HH:MM` (24 horas).","pattern":"^\\d{2}:\\d{2}$","examples":["19:00"],"isRequired":true,"uniqueKey":"session.oneOf.0.local_end_time","typeLabel":"string"},"time_zone":{"oneOf":[{"type":"string","description":"La zona horaria del estudio (IANA). `null` si el estudio no eligió una; los instantes salen en `+00:00`.","examples":["America/Montevideo"],"isRequired":true,"uniqueKey":"session.oneOf.0.time_zone.oneOf.0","typeLabel":"string"},{"type":"null","description":"La zona horaria del estudio (IANA). `null` si el estudio no eligió una; los instantes salen en `+00:00`.","examples":["America/Montevideo"],"isRequired":true,"uniqueKey":"session.oneOf.0.time_zone.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"session.oneOf.0.time_zone","typeLabel":"string | null"},"status":{"type":"string","description":"`scheduled`, `cancelled` (el estudio la canceló) o `studio_closed` (el estudio cerró ese día).\nLa lista puede crecer: trata un valor que no conoces como una sesión que no se da.\n","enum":["scheduled","cancelled","studio_closed"],"x-extensible-enum":true,"isRequired":true,"uniqueKey":"session.oneOf.0.status","typeLabel":"enum\u003cstring>"},"capacity":{"oneOf":[{"type":"integer","description":"El cupo de la sesión. `null` si la clase no tiene cupo.","isRequired":true,"uniqueKey":"session.oneOf.0.capacity.oneOf.0","typeLabel":"integer"},{"type":"null","description":"El cupo de la sesión. `null` si la clase no tiene cupo.","isRequired":true,"uniqueKey":"session.oneOf.0.capacity.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"session.oneOf.0.capacity","typeLabel":"integer | null"},"booked_count":{"type":"integer","description":"Los lugares tomados: reservas confirmadas, asistidas y ausentes hasta que la sesión empieza. Es\nla misma cuenta que usa Craqui al reservar.\n","minimum":0,"isRequired":true,"uniqueKey":"session.oneOf.0.booked_count","typeLabel":"integer"},"waitlist_count":{"type":"integer","description":"Cuántas personas esperan en la lista de espera.","minimum":0,"isRequired":true,"uniqueKey":"session.oneOf.0.waitlist_count","typeLabel":"integer"},"available_spots":{"oneOf":[{"type":"integer","description":"`capacity - booked_count`, nunca menos de 0. `null` si la clase no tiene cupo.","minimum":0,"isRequired":true,"uniqueKey":"session.oneOf.0.available_spots.oneOf.0","typeLabel":"integer"},{"type":"null","description":"`capacity - booked_count`, nunca menos de 0. `null` si la clase no tiene cupo.","minimum":0,"isRequired":true,"uniqueKey":"session.oneOf.0.available_spots.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"session.oneOf.0.available_spots","typeLabel":"integer | null"},"created_at":{"type":"string","format":"date-time","description":"Instante en RFC 3339 con el offset del negocio en ese momento.","examples":["2026-12-02T19:00:00-03:00"],"isRequired":true,"uniqueKey":"session.oneOf.0.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Instante en RFC 3339 con el offset del negocio en ese momento.","examples":["2026-12-02T19:00:00-03:00"],"isRequired":true,"uniqueKey":"session.oneOf.0.updated_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"session.oneOf.0","typeLabel":"object"},{"type":"null","description":"Solo con `expand[]=session` (pide `sessions:read`). `null` si `session_id` es `null`.","uniqueKey":"session.oneOf.1","typeLabel":"null"}],"uniqueKey":"session","typeLabel":"object | null"}},"uniqueKey":"","typeLabel":"object"},"example":{"id":"bkg_01jx9eak0437zdf0yw0atg7g0r","object":"booking","livemode":true,"client_id":"cli_01jatfha5h4nkg77c3wfrvd3cw","session_id":"ses_01jnb07m4yxxe0s687jf750tkv","status":"confirmed","credits_charged":1,"waitlist_position":null,"booked_at":"2026-11-28T09:15:22-03:00","cancelled_at":null,"free_cancel_until":"2026-12-02T07:00:00-03:00","recurring":false,"credit_refunded":false,"source":"craqui","created_at":"2026-11-28T09:15:22-03:00","updated_at":"2026-11-28T09:15:22-03:00"},"examples":{"Example":{"title":"Example","value":{"id":"bkg_01jx9eak0437zdf0yw0atg7g0r","object":"booking","livemode":true,"client_id":"cli_01jatfha5h4nkg77c3wfrvd3cw","session_id":"ses_01jnb07m4yxxe0s687jf750tkv","status":"confirmed","credits_charged":1,"waitlist_position":null,"booked_at":"2026-11-28T09:15:22-03:00","cancelled_at":null,"free_cancel_until":"2026-12-02T07:00:00-03:00","recurring":false,"credit_refunded":false,"source":"craqui","created_at":"2026-11-28T09:15:22-03:00","updated_at":"2026-11-28T09:15:22-03:00"}}},"exampleType":"examples"}},"exampleType":"examples"},"9f161060-8040-4f57-b1c9-2963b502aa56":{"description":"El pedido está mal formado. Códigos posibles: `invalid_api_version`, `idempotency_key_required`,\n`validation_failed` (con un elemento de `errors` por parámetro: `unknown_parameter`,\n`invalid_prefix`, `invalid_id`, `invalid_date`, `invalid_boolean`, `invalid_enum`,\n`invalid_limit`, `duplicate_parameter`, `expand_not_supported`…) e `invalid_cursor` (un\n`starting_after` de otra búsqueda: repite la primera página con los mismos filtros). En las URLs de\navisos, `webhook_url_invalid` (en `errors`, la causa: `not_https`, `port_not_allowed`,\n`credentials_in_url`, `ip_literal`, `internal_hostname`, `private_address`, `craqui_host` o `too_long`).\nAl cancelar una sesión, `notify_not_supported` (esa escritura no lleva `notify`: siempre avisa); también al\nrevocar un pack y al congelar o descongelar una membresía (no le avisan nada al cliente). En las escrituras de\nplata, `fee_decision_required` y `current_fee_choice_required` (la API no decide sobre plata por ti).\nUn token en la URL o en un cuerpo de formulario responde `invalid_request`: va solo en el header\n`Authorization`. El detalle de un error nunca repite el valor que mandaste.\n","headers":{"Request-Id":{"description":"Identificador del pedido. Aparece también en el cuerpo de los errores.","schema":{"type":"string","pattern":"^req_[0-9a-hjkmnp-tv-z]{26}$"}}},"content":{"application/problem+json":{"schema":{"type":"object","description":"Un error. Programa contra `code`, que no cambia; `title` y `detail` son para mostrarle a una\npersona y pueden cambiar de redacción.\n","required":["type","title","status","code","request_id"],"properties":{"type":{"type":"string","format":"uri","description":"URL de la página de la documentación de este error.","examples":["https://docs.craqui.com/errors/invalid_api_key"],"isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"Resumen corto, en español.","examples":["La clave no es válida"],"isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"El mismo código HTTP de la respuesta.","examples":[401],"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Código estable del error. La lista puede crecer: trata un `code` que no conoces como un\nerror genérico de su `status`.\n","examples":["invalid_api_key"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[0-9a-hjkmnp-tv-z]{26}$","description":"Identificador del pedido. Búscalo en Configuración → Integraciones → Actividad de la API.","examples":["req_01hzx8m4k2a7d9q3f5w6y8z0bc"],"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"detail":{"type":"string","description":"Qué pasó y qué hacer, en español.","examples":["Revisa que copiaste la clave completa, incluido el prefijo (crq_live_ o crq_test_)."],"uniqueKey":"detail","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","description":"Igual a `type`, por compatibilidad con clientes que buscan este campo.","uniqueKey":"doc_url","typeLabel":"string\u003curi>"},"required_scope":{"type":"string","description":"Solo en `scope_required` y `event_type_not_permitted`. El permiso que le falta a la clave.","examples":["business:read"],"uniqueKey":"required_scope","typeLabel":"string"},"errors":{"type":"array","description":"Solo en errores de validación. Un elemento por campo con problemas.","items":{"type":"object","required":["field","code"],"properties":{"field":{"type":"string","description":"El campo, como lo mandaste (por ejemplo `limit`).","examples":["limit"],"isRequired":true,"uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","description":"Qué tiene mal el campo.","examples":["invalid_limit"],"isRequired":true,"uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"detail":{"type":"string","description":"Explicación en español.","uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"current_price":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"current_price.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"current_price.currency","typeLabel":"string"}},"description":"Solo en `price_changed`. El precio de hoy, en centésimos y con su moneda.","uniqueKey":"current_price","typeLabel":"object"},"expected_amount":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"expected_amount.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"expected_amount.currency","typeLabel":"string"}},"description":"Solo en `amount_mismatch`. El saldo de hoy de la cuota, en centésimos y con su moneda.","uniqueKey":"expected_amount","typeLabel":"object"},"amount_at_stake":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"amount_at_stake.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"amount_at_stake.currency","typeLabel":"string"}},"description":"Solo en `advance_payment_choice_required`. Lo que falta cobrar del pago por adelantado.","uniqueKey":"amount_at_stake","typeLabel":"object"},"existing_membership_id":{"type":"string","description":"Solo en `active_membership_exists`, `membership_suspended`, `membership_paused` y `membership_scheduled` al\nasignar una membresía: la que el cliente ya tiene.\n","pattern":"^mem_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["mem_01j1q27t44qvr6v2s50cv4rbvq"],"uniqueKey":"existing_membership_id","typeLabel":"string"},"booking_ids":{"type":"array","description":"Solo en `bookings_in_freeze_window` y `bookings_changed`. Las reservas en esas fechas.","items":{"type":"string","description":"Id de una reserva.","pattern":"^bkg_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["bkg_01jx9eak0437zdf0yw0atg7g0r"],"uniqueKey":"booking_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"booking_ids","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://docs.craqui.com/errors/invalid_api_key","title":"La clave no es válida","status":401,"code":"invalid_api_key","request_id":"req_01hzx8m4k2a7d9q3f5w6y8z0bc","detail":"Revisa que copiaste la clave completa, incluido el prefijo (crq_live_ o crq_test_).","doc_url":"\u003cstring>","required_scope":"business:read","errors":[{"field":"limit","code":"invalid_limit","detail":"\u003cstring>"}],"current_price":{"amount_cents":250000,"currency":"UYU"},"expected_amount":{"amount_cents":250000,"currency":"UYU"},"amount_at_stake":{"amount_cents":250000,"currency":"UYU"},"existing_membership_id":"mem_01j1q27t44qvr6v2s50cv4rbvq","booking_ids":["bkg_01jx9eak0437zdf0yw0atg7g0r"]}}},"exampleType":"generated"}},"exampleType":"generated"},"fd81c7c7-53b6-4f4f-bf6f-2074ecee6351":{"description":"Falta la clave o no sirve. Códigos posibles: `missing_api_key`, `invalid_api_key`,\n`revoked_api_key`, `expired_api_key`, `legacy_api_key`. Con el token de una app: `invalid_access_token` (no\nes válido o venció: pide otro con el refresh token) y `app_connection_revoked` (el propietario desconectó la\napp); los dos llevan el header `WWW-Authenticate: Bearer error=\"invalid_token\"`.\n","headers":{"Request-Id":{"description":"Identificador del pedido. Aparece también en el cuerpo de los errores.","schema":{"type":"string","pattern":"^req_[0-9a-hjkmnp-tv-z]{26}$"}}},"content":{"application/problem+json":{"schema":{"type":"object","description":"Un error. Programa contra `code`, que no cambia; `title` y `detail` son para mostrarle a una\npersona y pueden cambiar de redacción.\n","required":["type","title","status","code","request_id"],"properties":{"type":{"type":"string","format":"uri","description":"URL de la página de la documentación de este error.","examples":["https://docs.craqui.com/errors/invalid_api_key"],"isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"Resumen corto, en español.","examples":["La clave no es válida"],"isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"El mismo código HTTP de la respuesta.","examples":[401],"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Código estable del error. La lista puede crecer: trata un `code` que no conoces como un\nerror genérico de su `status`.\n","examples":["invalid_api_key"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[0-9a-hjkmnp-tv-z]{26}$","description":"Identificador del pedido. Búscalo en Configuración → Integraciones → Actividad de la API.","examples":["req_01hzx8m4k2a7d9q3f5w6y8z0bc"],"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"detail":{"type":"string","description":"Qué pasó y qué hacer, en español.","examples":["Revisa que copiaste la clave completa, incluido el prefijo (crq_live_ o crq_test_)."],"uniqueKey":"detail","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","description":"Igual a `type`, por compatibilidad con clientes que buscan este campo.","uniqueKey":"doc_url","typeLabel":"string\u003curi>"},"required_scope":{"type":"string","description":"Solo en `scope_required` y `event_type_not_permitted`. El permiso que le falta a la clave.","examples":["business:read"],"uniqueKey":"required_scope","typeLabel":"string"},"errors":{"type":"array","description":"Solo en errores de validación. Un elemento por campo con problemas.","items":{"type":"object","required":["field","code"],"properties":{"field":{"type":"string","description":"El campo, como lo mandaste (por ejemplo `limit`).","examples":["limit"],"isRequired":true,"uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","description":"Qué tiene mal el campo.","examples":["invalid_limit"],"isRequired":true,"uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"detail":{"type":"string","description":"Explicación en español.","uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"current_price":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"current_price.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"current_price.currency","typeLabel":"string"}},"description":"Solo en `price_changed`. El precio de hoy, en centésimos y con su moneda.","uniqueKey":"current_price","typeLabel":"object"},"expected_amount":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"expected_amount.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"expected_amount.currency","typeLabel":"string"}},"description":"Solo en `amount_mismatch`. El saldo de hoy de la cuota, en centésimos y con su moneda.","uniqueKey":"expected_amount","typeLabel":"object"},"amount_at_stake":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"amount_at_stake.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"amount_at_stake.currency","typeLabel":"string"}},"description":"Solo en `advance_payment_choice_required`. Lo que falta cobrar del pago por adelantado.","uniqueKey":"amount_at_stake","typeLabel":"object"},"existing_membership_id":{"type":"string","description":"Solo en `active_membership_exists`, `membership_suspended`, `membership_paused` y `membership_scheduled` al\nasignar una membresía: la que el cliente ya tiene.\n","pattern":"^mem_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["mem_01j1q27t44qvr6v2s50cv4rbvq"],"uniqueKey":"existing_membership_id","typeLabel":"string"},"booking_ids":{"type":"array","description":"Solo en `bookings_in_freeze_window` y `bookings_changed`. Las reservas en esas fechas.","items":{"type":"string","description":"Id de una reserva.","pattern":"^bkg_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["bkg_01jx9eak0437zdf0yw0atg7g0r"],"uniqueKey":"booking_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"booking_ids","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"revoked":{"title":"revoked","value":{"type":"https://docs.craqui.com/errors/revoked_api_key","title":"La clave fue revocada","status":401,"code":"revoked_api_key","detail":"Crea una clave nueva en Configuración → Integraciones.","request_id":"req_01hzx8m4k2a7d9q3f5w6y8z0bc"}}},"exampleType":"examples"}},"exampleType":"examples"},"1669fd65-db22-4f9c-951e-8a1fee8a6ef6":{"description":"La clave es válida pero no puede hacer esto. Códigos posibles: `scope_required`,\n`plan_required`, `api_key_suspended`, `browser_not_allowed`, `wrong_vertical`,\n`event_type_not_permitted` (eventos de un recurso que la clave no puede leer; `required_scope` dice cuál) y\n`write_access_disabled` (en una ruta que crea o cambia datos, si tu negocio no tiene habilitada la escritura por\nla API) y `money_writes_not_enabled` (en una ruta de packs, membresías o pagos, si tu negocio no tiene\nhabilitadas las escrituras de plata). Con el token de una app, además: `app_suspended` (Craqui suspendió la\napp) y `app_connection_suspended` (quien conectó la app ya no es propietario del negocio).\n","headers":{"Request-Id":{"description":"Identificador del pedido. Aparece también en el cuerpo de los errores.","schema":{"type":"string","pattern":"^req_[0-9a-hjkmnp-tv-z]{26}$"}}},"content":{"application/problem+json":{"schema":{"type":"object","description":"Un error. Programa contra `code`, que no cambia; `title` y `detail` son para mostrarle a una\npersona y pueden cambiar de redacción.\n","required":["type","title","status","code","request_id"],"properties":{"type":{"type":"string","format":"uri","description":"URL de la página de la documentación de este error.","examples":["https://docs.craqui.com/errors/invalid_api_key"],"isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"Resumen corto, en español.","examples":["La clave no es válida"],"isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"El mismo código HTTP de la respuesta.","examples":[401],"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Código estable del error. La lista puede crecer: trata un `code` que no conoces como un\nerror genérico de su `status`.\n","examples":["invalid_api_key"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[0-9a-hjkmnp-tv-z]{26}$","description":"Identificador del pedido. Búscalo en Configuración → Integraciones → Actividad de la API.","examples":["req_01hzx8m4k2a7d9q3f5w6y8z0bc"],"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"detail":{"type":"string","description":"Qué pasó y qué hacer, en español.","examples":["Revisa que copiaste la clave completa, incluido el prefijo (crq_live_ o crq_test_)."],"uniqueKey":"detail","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","description":"Igual a `type`, por compatibilidad con clientes que buscan este campo.","uniqueKey":"doc_url","typeLabel":"string\u003curi>"},"required_scope":{"type":"string","description":"Solo en `scope_required` y `event_type_not_permitted`. El permiso que le falta a la clave.","examples":["business:read"],"uniqueKey":"required_scope","typeLabel":"string"},"errors":{"type":"array","description":"Solo en errores de validación. Un elemento por campo con problemas.","items":{"type":"object","required":["field","code"],"properties":{"field":{"type":"string","description":"El campo, como lo mandaste (por ejemplo `limit`).","examples":["limit"],"isRequired":true,"uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","description":"Qué tiene mal el campo.","examples":["invalid_limit"],"isRequired":true,"uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"detail":{"type":"string","description":"Explicación en español.","uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"current_price":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"current_price.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"current_price.currency","typeLabel":"string"}},"description":"Solo en `price_changed`. El precio de hoy, en centésimos y con su moneda.","uniqueKey":"current_price","typeLabel":"object"},"expected_amount":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"expected_amount.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"expected_amount.currency","typeLabel":"string"}},"description":"Solo en `amount_mismatch`. El saldo de hoy de la cuota, en centésimos y con su moneda.","uniqueKey":"expected_amount","typeLabel":"object"},"amount_at_stake":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"amount_at_stake.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"amount_at_stake.currency","typeLabel":"string"}},"description":"Solo en `advance_payment_choice_required`. Lo que falta cobrar del pago por adelantado.","uniqueKey":"amount_at_stake","typeLabel":"object"},"existing_membership_id":{"type":"string","description":"Solo en `active_membership_exists`, `membership_suspended`, `membership_paused` y `membership_scheduled` al\nasignar una membresía: la que el cliente ya tiene.\n","pattern":"^mem_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["mem_01j1q27t44qvr6v2s50cv4rbvq"],"uniqueKey":"existing_membership_id","typeLabel":"string"},"booking_ids":{"type":"array","description":"Solo en `bookings_in_freeze_window` y `bookings_changed`. Las reservas en esas fechas.","items":{"type":"string","description":"Id de una reserva.","pattern":"^bkg_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["bkg_01jx9eak0437zdf0yw0atg7g0r"],"uniqueKey":"booking_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"booking_ids","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://docs.craqui.com/errors/invalid_api_key","title":"La clave no es válida","status":401,"code":"invalid_api_key","request_id":"req_01hzx8m4k2a7d9q3f5w6y8z0bc","detail":"Revisa que copiaste la clave completa, incluido el prefijo (crq_live_ o crq_test_).","doc_url":"\u003cstring>","required_scope":"business:read","errors":[{"field":"limit","code":"invalid_limit","detail":"\u003cstring>"}],"current_price":{"amount_cents":250000,"currency":"UYU"},"expected_amount":{"amount_cents":250000,"currency":"UYU"},"amount_at_stake":{"amount_cents":250000,"currency":"UYU"},"existing_membership_id":"mem_01j1q27t44qvr6v2s50cv4rbvq","booking_ids":["bkg_01jx9eak0437zdf0yw0atg7g0r"]}}},"exampleType":"generated"}},"exampleType":"generated"},"cd81fec5-d2c9-4993-882f-bb58443e5758":{"description":"No existe, o no es de tu negocio. Código `not_found` o `route_not_found`.","headers":{"Request-Id":{"description":"Identificador del pedido. Aparece también en el cuerpo de los errores.","schema":{"type":"string","pattern":"^req_[0-9a-hjkmnp-tv-z]{26}$"}}},"content":{"application/problem+json":{"schema":{"type":"object","description":"Un error. Programa contra `code`, que no cambia; `title` y `detail` son para mostrarle a una\npersona y pueden cambiar de redacción.\n","required":["type","title","status","code","request_id"],"properties":{"type":{"type":"string","format":"uri","description":"URL de la página de la documentación de este error.","examples":["https://docs.craqui.com/errors/invalid_api_key"],"isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"Resumen corto, en español.","examples":["La clave no es válida"],"isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"El mismo código HTTP de la respuesta.","examples":[401],"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Código estable del error. La lista puede crecer: trata un `code` que no conoces como un\nerror genérico de su `status`.\n","examples":["invalid_api_key"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[0-9a-hjkmnp-tv-z]{26}$","description":"Identificador del pedido. Búscalo en Configuración → Integraciones → Actividad de la API.","examples":["req_01hzx8m4k2a7d9q3f5w6y8z0bc"],"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"detail":{"type":"string","description":"Qué pasó y qué hacer, en español.","examples":["Revisa que copiaste la clave completa, incluido el prefijo (crq_live_ o crq_test_)."],"uniqueKey":"detail","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","description":"Igual a `type`, por compatibilidad con clientes que buscan este campo.","uniqueKey":"doc_url","typeLabel":"string\u003curi>"},"required_scope":{"type":"string","description":"Solo en `scope_required` y `event_type_not_permitted`. El permiso que le falta a la clave.","examples":["business:read"],"uniqueKey":"required_scope","typeLabel":"string"},"errors":{"type":"array","description":"Solo en errores de validación. Un elemento por campo con problemas.","items":{"type":"object","required":["field","code"],"properties":{"field":{"type":"string","description":"El campo, como lo mandaste (por ejemplo `limit`).","examples":["limit"],"isRequired":true,"uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","description":"Qué tiene mal el campo.","examples":["invalid_limit"],"isRequired":true,"uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"detail":{"type":"string","description":"Explicación en español.","uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"current_price":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"current_price.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"current_price.currency","typeLabel":"string"}},"description":"Solo en `price_changed`. El precio de hoy, en centésimos y con su moneda.","uniqueKey":"current_price","typeLabel":"object"},"expected_amount":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"expected_amount.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"expected_amount.currency","typeLabel":"string"}},"description":"Solo en `amount_mismatch`. El saldo de hoy de la cuota, en centésimos y con su moneda.","uniqueKey":"expected_amount","typeLabel":"object"},"amount_at_stake":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"amount_at_stake.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"amount_at_stake.currency","typeLabel":"string"}},"description":"Solo en `advance_payment_choice_required`. Lo que falta cobrar del pago por adelantado.","uniqueKey":"amount_at_stake","typeLabel":"object"},"existing_membership_id":{"type":"string","description":"Solo en `active_membership_exists`, `membership_suspended`, `membership_paused` y `membership_scheduled` al\nasignar una membresía: la que el cliente ya tiene.\n","pattern":"^mem_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["mem_01j1q27t44qvr6v2s50cv4rbvq"],"uniqueKey":"existing_membership_id","typeLabel":"string"},"booking_ids":{"type":"array","description":"Solo en `bookings_in_freeze_window` y `bookings_changed`. Las reservas en esas fechas.","items":{"type":"string","description":"Id de una reserva.","pattern":"^bkg_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["bkg_01jx9eak0437zdf0yw0atg7g0r"],"uniqueKey":"booking_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"booking_ids","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://docs.craqui.com/errors/invalid_api_key","title":"La clave no es válida","status":401,"code":"invalid_api_key","request_id":"req_01hzx8m4k2a7d9q3f5w6y8z0bc","detail":"Revisa que copiaste la clave completa, incluido el prefijo (crq_live_ o crq_test_).","doc_url":"\u003cstring>","required_scope":"business:read","errors":[{"field":"limit","code":"invalid_limit","detail":"\u003cstring>"}],"current_price":{"amount_cents":250000,"currency":"UYU"},"expected_amount":{"amount_cents":250000,"currency":"UYU"},"amount_at_stake":{"amount_cents":250000,"currency":"UYU"},"existing_membership_id":"mem_01j1q27t44qvr6v2s50cv4rbvq","booking_ids":["bkg_01jx9eak0437zdf0yw0atg7g0r"]}}},"exampleType":"generated"}},"exampleType":"generated"},"e3ca0cb2-4f13-456a-a125-45f4f98e0f3f":{"description":"Solo con una clave `crq_test_`: tu estudio de prueba no está listo. Código\n`sandbox_unavailable`. Restablece tus datos de prueba en Configuración → Integraciones y vuelve\na intentar. Una clave de prueba nunca responde con los datos reales del negocio. En los pedidos que\ncrean o modifican algo, también `idempotency_in_progress` (el mismo pedido todavía se está procesando) y,\nal crear una URL de avisos, `webhook_endpoint_limit_reached` (ya hay 10). En una ruta que crea o cambia datos\ndel estudio, además, sus reglas no dejan hacerlo: la descripción de cada ruta lista sus códigos.\n","headers":{"Request-Id":{"description":"Identificador del pedido. Aparece también en el cuerpo de los errores.","schema":{"type":"string","pattern":"^req_[0-9a-hjkmnp-tv-z]{26}$"}}},"content":{"application/problem+json":{"schema":{"type":"object","description":"Un error. Programa contra `code`, que no cambia; `title` y `detail` son para mostrarle a una\npersona y pueden cambiar de redacción.\n","required":["type","title","status","code","request_id"],"properties":{"type":{"type":"string","format":"uri","description":"URL de la página de la documentación de este error.","examples":["https://docs.craqui.com/errors/invalid_api_key"],"isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"Resumen corto, en español.","examples":["La clave no es válida"],"isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"El mismo código HTTP de la respuesta.","examples":[401],"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Código estable del error. La lista puede crecer: trata un `code` que no conoces como un\nerror genérico de su `status`.\n","examples":["invalid_api_key"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[0-9a-hjkmnp-tv-z]{26}$","description":"Identificador del pedido. Búscalo en Configuración → Integraciones → Actividad de la API.","examples":["req_01hzx8m4k2a7d9q3f5w6y8z0bc"],"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"detail":{"type":"string","description":"Qué pasó y qué hacer, en español.","examples":["Revisa que copiaste la clave completa, incluido el prefijo (crq_live_ o crq_test_)."],"uniqueKey":"detail","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","description":"Igual a `type`, por compatibilidad con clientes que buscan este campo.","uniqueKey":"doc_url","typeLabel":"string\u003curi>"},"required_scope":{"type":"string","description":"Solo en `scope_required` y `event_type_not_permitted`. El permiso que le falta a la clave.","examples":["business:read"],"uniqueKey":"required_scope","typeLabel":"string"},"errors":{"type":"array","description":"Solo en errores de validación. Un elemento por campo con problemas.","items":{"type":"object","required":["field","code"],"properties":{"field":{"type":"string","description":"El campo, como lo mandaste (por ejemplo `limit`).","examples":["limit"],"isRequired":true,"uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","description":"Qué tiene mal el campo.","examples":["invalid_limit"],"isRequired":true,"uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"detail":{"type":"string","description":"Explicación en español.","uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"current_price":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"current_price.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"current_price.currency","typeLabel":"string"}},"description":"Solo en `price_changed`. El precio de hoy, en centésimos y con su moneda.","uniqueKey":"current_price","typeLabel":"object"},"expected_amount":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"expected_amount.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"expected_amount.currency","typeLabel":"string"}},"description":"Solo en `amount_mismatch`. El saldo de hoy de la cuota, en centésimos y con su moneda.","uniqueKey":"expected_amount","typeLabel":"object"},"amount_at_stake":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"amount_at_stake.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"amount_at_stake.currency","typeLabel":"string"}},"description":"Solo en `advance_payment_choice_required`. Lo que falta cobrar del pago por adelantado.","uniqueKey":"amount_at_stake","typeLabel":"object"},"existing_membership_id":{"type":"string","description":"Solo en `active_membership_exists`, `membership_suspended`, `membership_paused` y `membership_scheduled` al\nasignar una membresía: la que el cliente ya tiene.\n","pattern":"^mem_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["mem_01j1q27t44qvr6v2s50cv4rbvq"],"uniqueKey":"existing_membership_id","typeLabel":"string"},"booking_ids":{"type":"array","description":"Solo en `bookings_in_freeze_window` y `bookings_changed`. Las reservas en esas fechas.","items":{"type":"string","description":"Id de una reserva.","pattern":"^bkg_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["bkg_01jx9eak0437zdf0yw0atg7g0r"],"uniqueKey":"booking_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"booking_ids","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"sandbox_unavailable":{"title":"sandbox_unavailable","value":{"type":"https://docs.craqui.com/errors/sandbox_unavailable","title":"Tu estudio de prueba no está listo","status":409,"code":"sandbox_unavailable","detail":"Restablece tus datos de prueba en Configuración → Integraciones y vuelve a intentar.","request_id":"req_01hzx8m4k2a7d9q3f5w6y8z0bc"}}},"exampleType":"examples"}},"exampleType":"examples"},"9a3c5e3e-1562-4a0b-9023-fdde83e1edf2":{"description":"Se pasó el límite de pedidos por minuto de la clave. Código `rate_limited`.","headers":{"Request-Id":{"description":"Identificador del pedido. Aparece también en el cuerpo de los errores.","schema":{"type":"string","pattern":"^req_[0-9a-hjkmnp-tv-z]{26}$"}},"Retry-After":{"description":"Segundos que hay que esperar antes de reintentar.","schema":{"type":"integer","minimum":0}},"RateLimit":{"description":"Pedidos que quedan en la ventana actual y segundos hasta que se renueva (draft IETF httpapi-ratelimit-headers).","schema":{"type":"string","examples":["\"read\";r=97;t=42"]}},"RateLimit-Policy":{"description":"Límite de la clave por ventana (draft IETF httpapi-ratelimit-headers).","schema":{"type":"string","examples":["\"read\";q=100;w=60"]}}},"content":{"application/problem+json":{"schema":{"type":"object","description":"Un error. Programa contra `code`, que no cambia; `title` y `detail` son para mostrarle a una\npersona y pueden cambiar de redacción.\n","required":["type","title","status","code","request_id"],"properties":{"type":{"type":"string","format":"uri","description":"URL de la página de la documentación de este error.","examples":["https://docs.craqui.com/errors/invalid_api_key"],"isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"Resumen corto, en español.","examples":["La clave no es válida"],"isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"El mismo código HTTP de la respuesta.","examples":[401],"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Código estable del error. La lista puede crecer: trata un `code` que no conoces como un\nerror genérico de su `status`.\n","examples":["invalid_api_key"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[0-9a-hjkmnp-tv-z]{26}$","description":"Identificador del pedido. Búscalo en Configuración → Integraciones → Actividad de la API.","examples":["req_01hzx8m4k2a7d9q3f5w6y8z0bc"],"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"detail":{"type":"string","description":"Qué pasó y qué hacer, en español.","examples":["Revisa que copiaste la clave completa, incluido el prefijo (crq_live_ o crq_test_)."],"uniqueKey":"detail","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","description":"Igual a `type`, por compatibilidad con clientes que buscan este campo.","uniqueKey":"doc_url","typeLabel":"string\u003curi>"},"required_scope":{"type":"string","description":"Solo en `scope_required` y `event_type_not_permitted`. El permiso que le falta a la clave.","examples":["business:read"],"uniqueKey":"required_scope","typeLabel":"string"},"errors":{"type":"array","description":"Solo en errores de validación. Un elemento por campo con problemas.","items":{"type":"object","required":["field","code"],"properties":{"field":{"type":"string","description":"El campo, como lo mandaste (por ejemplo `limit`).","examples":["limit"],"isRequired":true,"uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","description":"Qué tiene mal el campo.","examples":["invalid_limit"],"isRequired":true,"uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"detail":{"type":"string","description":"Explicación en español.","uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"current_price":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"current_price.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"current_price.currency","typeLabel":"string"}},"description":"Solo en `price_changed`. El precio de hoy, en centésimos y con su moneda.","uniqueKey":"current_price","typeLabel":"object"},"expected_amount":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"expected_amount.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"expected_amount.currency","typeLabel":"string"}},"description":"Solo en `amount_mismatch`. El saldo de hoy de la cuota, en centésimos y con su moneda.","uniqueKey":"expected_amount","typeLabel":"object"},"amount_at_stake":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"amount_at_stake.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"amount_at_stake.currency","typeLabel":"string"}},"description":"Solo en `advance_payment_choice_required`. Lo que falta cobrar del pago por adelantado.","uniqueKey":"amount_at_stake","typeLabel":"object"},"existing_membership_id":{"type":"string","description":"Solo en `active_membership_exists`, `membership_suspended`, `membership_paused` y `membership_scheduled` al\nasignar una membresía: la que el cliente ya tiene.\n","pattern":"^mem_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["mem_01j1q27t44qvr6v2s50cv4rbvq"],"uniqueKey":"existing_membership_id","typeLabel":"string"},"booking_ids":{"type":"array","description":"Solo en `bookings_in_freeze_window` y `bookings_changed`. Las reservas en esas fechas.","items":{"type":"string","description":"Id de una reserva.","pattern":"^bkg_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["bkg_01jx9eak0437zdf0yw0atg7g0r"],"uniqueKey":"booking_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"booking_ids","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://docs.craqui.com/errors/invalid_api_key","title":"La clave no es válida","status":401,"code":"invalid_api_key","request_id":"req_01hzx8m4k2a7d9q3f5w6y8z0bc","detail":"Revisa que copiaste la clave completa, incluido el prefijo (crq_live_ o crq_test_).","doc_url":"\u003cstring>","required_scope":"business:read","errors":[{"field":"limit","code":"invalid_limit","detail":"\u003cstring>"}],"current_price":{"amount_cents":250000,"currency":"UYU"},"expected_amount":{"amount_cents":250000,"currency":"UYU"},"amount_at_stake":{"amount_cents":250000,"currency":"UYU"},"existing_membership_id":"mem_01j1q27t44qvr6v2s50cv4rbvq","booking_ids":["bkg_01jx9eak0437zdf0yw0atg7g0r"]}}},"exampleType":"generated"}},"exampleType":"generated"},"3cf9f61e-5afe-4ddc-9d3b-b86521b2d3d3":{"description":"Falló algo de nuestro lado. Código `internal_error`. Reintenta; si sigue, escríbenos con el `request_id`.","headers":{"Request-Id":{"description":"Identificador del pedido. Aparece también en el cuerpo de los errores.","schema":{"type":"string","pattern":"^req_[0-9a-hjkmnp-tv-z]{26}$"}}},"content":{"application/problem+json":{"schema":{"type":"object","description":"Un error. Programa contra `code`, que no cambia; `title` y `detail` son para mostrarle a una\npersona y pueden cambiar de redacción.\n","required":["type","title","status","code","request_id"],"properties":{"type":{"type":"string","format":"uri","description":"URL de la página de la documentación de este error.","examples":["https://docs.craqui.com/errors/invalid_api_key"],"isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"Resumen corto, en español.","examples":["La clave no es válida"],"isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"El mismo código HTTP de la respuesta.","examples":[401],"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"code":{"type":"string","description":"Código estable del error. La lista puede crecer: trata un `code` que no conoces como un\nerror genérico de su `status`.\n","examples":["invalid_api_key"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"request_id":{"type":"string","pattern":"^req_[0-9a-hjkmnp-tv-z]{26}$","description":"Identificador del pedido. Búscalo en Configuración → Integraciones → Actividad de la API.","examples":["req_01hzx8m4k2a7d9q3f5w6y8z0bc"],"isRequired":true,"uniqueKey":"request_id","typeLabel":"string"},"detail":{"type":"string","description":"Qué pasó y qué hacer, en español.","examples":["Revisa que copiaste la clave completa, incluido el prefijo (crq_live_ o crq_test_)."],"uniqueKey":"detail","typeLabel":"string"},"doc_url":{"type":"string","format":"uri","description":"Igual a `type`, por compatibilidad con clientes que buscan este campo.","uniqueKey":"doc_url","typeLabel":"string\u003curi>"},"required_scope":{"type":"string","description":"Solo en `scope_required` y `event_type_not_permitted`. El permiso que le falta a la clave.","examples":["business:read"],"uniqueKey":"required_scope","typeLabel":"string"},"errors":{"type":"array","description":"Solo en errores de validación. Un elemento por campo con problemas.","items":{"type":"object","required":["field","code"],"properties":{"field":{"type":"string","description":"El campo, como lo mandaste (por ejemplo `limit`).","examples":["limit"],"isRequired":true,"uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"code":{"type":"string","description":"Qué tiene mal el campo.","examples":["invalid_limit"],"isRequired":true,"uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"detail":{"type":"string","description":"Explicación en español.","uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"current_price":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"current_price.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"current_price.currency","typeLabel":"string"}},"description":"Solo en `price_changed`. El precio de hoy, en centésimos y con su moneda.","uniqueKey":"current_price","typeLabel":"object"},"expected_amount":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"expected_amount.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"expected_amount.currency","typeLabel":"string"}},"description":"Solo en `amount_mismatch`. El saldo de hoy de la cuota, en centésimos y con su moneda.","uniqueKey":"expected_amount","typeLabel":"object"},"amount_at_stake":{"type":"object","required":["amount_cents","currency"],"properties":{"amount_cents":{"type":"integer","description":"El monto multiplicado por 100. `250000` con `UYU` es $ 2.500,00. Un entero: `250000.5` o `\"250000\"` es\n`validation_failed` (`250000.0` es el mismo número que `250000`).\n","examples":[250000],"isRequired":true,"uniqueKey":"amount_at_stake.amount_cents","typeLabel":"integer"},"currency":{"type":"string","description":"Moneda ISO 4217, en mayúsculas.","pattern":"^[A-Z]{3}$","examples":["UYU"],"isRequired":true,"uniqueKey":"amount_at_stake.currency","typeLabel":"string"}},"description":"Solo en `advance_payment_choice_required`. Lo que falta cobrar del pago por adelantado.","uniqueKey":"amount_at_stake","typeLabel":"object"},"existing_membership_id":{"type":"string","description":"Solo en `active_membership_exists`, `membership_suspended`, `membership_paused` y `membership_scheduled` al\nasignar una membresía: la que el cliente ya tiene.\n","pattern":"^mem_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["mem_01j1q27t44qvr6v2s50cv4rbvq"],"uniqueKey":"existing_membership_id","typeLabel":"string"},"booking_ids":{"type":"array","description":"Solo en `bookings_in_freeze_window` y `bookings_changed`. Las reservas en esas fechas.","items":{"type":"string","description":"Id de una reserva.","pattern":"^bkg_[0-7][0-9a-hjkmnp-tv-z]{25}$","examples":["bkg_01jx9eak0437zdf0yw0atg7g0r"],"uniqueKey":"booking_ids.items.[INDEX]","typeLabel":"string"},"uniqueKey":"booking_ids","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://docs.craqui.com/errors/invalid_api_key","title":"La clave no es válida","status":401,"code":"invalid_api_key","request_id":"req_01hzx8m4k2a7d9q3f5w6y8z0bc","detail":"Revisa que copiaste la clave completa, incluido el prefijo (crq_live_ o crq_test_).","doc_url":"\u003cstring>","required_scope":"business:read","errors":[{"field":"limit","code":"invalid_limit","detail":"\u003cstring>"}],"current_price":{"amount_cents":250000,"currency":"UYU"},"expected_amount":{"amount_cents":250000,"currency":"UYU"},"amount_at_stake":{"amount_cents":250000,"currency":"UYU"},"existing_membership_id":"mem_01j1q27t44qvr6v2s50cv4rbvq","booking_ids":["bkg_01jx9eak0437zdf0yw0atg7g0r"]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"fe415c55-003c-4573-83a9-7b210f3247ef":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"crq_live_sk_… / crq_live_rk_…","description":"Clave del negocio. `sk` es una clave completa (todo lo que el rol de quien la creó puede dar)\ny `rk` una restringida a los permisos que se eligieron al crearla. Solo se usa desde un\nservidor: un pedido desde un navegador se rechaza con `browser_not_allowed`.\n","scopes":[],"schemeName":"bearerAuth"}},"96beb10e-1c60-4547-baa8-a8725de39a10":{"oauth2":{"type":"oauth2","description":"Una app de terceros conectada a un negocio por su propietario (OAuth 2.1, Authorization Code con PKCE). El\naccess token (`crq_oat_…`) vale 1 hora, va solo en el header `Authorization: Bearer` y es de un solo negocio.\nUna app nunca recibe `notifications:suppress` ni `webhooks:manage`. Ver https://docs.craqui.com/apps.\n","flows":{"authorizationCode":{"authorizationUrl":"https://www.craqui.com/oauth/authorize","tokenUrl":"https://api.craqui.com/oauth/token","refreshUrl":"https://api.craqui.com/oauth/token","scopes":{"business:read":"Ver los datos básicos del negocio (siempre incluido).","centers:read":"Ver las sedes.","rooms:read":"Ver los salones.","teachers:read":"Ver a quienes dan clases.","courses:read":"Ver las disciplinas.","classes:read":"Ver las clases y su horario.","sessions:read":"Ver el horario, sesión por sesión.","sessions:write":"Cancelar sesiones.","clients:read":"Ver los clientes.","clients.pii:read":"Ver el email y el teléfono de los clientes.","clients:write":"Crear, cambiar, dar de baja y reactivar clientes.","bookings:read":"Ver las reservas.","bookings:write":"Reservar, cancelar reservas y marcar asistencia.","credits:read":"Ver los créditos de los clientes.","credits:write":"Asignar y revocar packs de créditos.","memberships:read":"Ver las membresías.","memberships:write":"Asignar, cancelar, congelar y descongelar membresías.","fees:read":"Ver las cuotas.","payments:read":"Ver los pagos.","refunds:read":"Ver los reembolsos.","payments:write":"Registrar pagos.","events:read":"Ver la lista de cambios recientes."}}},"scopes":["bookings:read"],"schemeName":"oauth2"}}},"servers":{"bb48cfac-2655-4314-90fd-28cc11e87988":{"url":"https://api.craqui.com/v1","description":"Producción"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"crq_live_sk_… / crq_live_rk_…","description":"Clave del negocio. `sk` es una clave completa (todo lo que el rol de quien la creó puede dar)\ny `rk` una restringida a los permisos que se eligieron al crearla. Solo se usa desde un\nservidor: un pedido desde un navegador se rechaza con `browser_not_allowed`.\n","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Clave del negocio. `sk` es una clave completa (todo lo que el rol de quien la creó puede dar)\ny `rk` una restringida a los permisos que se eligieron al crearla. Solo se usa desde un\nservidor: un pedido desde un navegador se rechaza con `browser_not_allowed`.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"},{"schemes":[{"scheme":{"type":"oauth2","description":"Una app de terceros conectada a un negocio por su propietario (OAuth 2.1, Authorization Code con PKCE). El\naccess token (`crq_oat_…`) vale 1 hora, va solo en el header `Authorization: Bearer` y es de un solo negocio.\nUna app nunca recibe `notifications:suppress` ni `webhooks:manage`. Ver https://docs.craqui.com/apps.\n","flows":{"authorizationCode":{"authorizationUrl":"https://www.craqui.com/oauth/authorize","tokenUrl":"https://api.craqui.com/oauth/token","refreshUrl":"https://api.craqui.com/oauth/token","scopes":{"business:read":"Ver los datos básicos del negocio (siempre incluido).","centers:read":"Ver las sedes.","rooms:read":"Ver los salones.","teachers:read":"Ver a quienes dan clases.","courses:read":"Ver las disciplinas.","classes:read":"Ver las clases y su horario.","sessions:read":"Ver el horario, sesión por sesión.","sessions:write":"Cancelar sesiones.","clients:read":"Ver los clientes.","clients.pii:read":"Ver el email y el teléfono de los clientes.","clients:write":"Crear, cambiar, dar de baja y reactivar clientes.","bookings:read":"Ver las reservas.","bookings:write":"Reservar, cancelar reservas y marcar asistencia.","credits:read":"Ver los créditos de los clientes.","credits:write":"Asignar y revocar packs de créditos.","memberships:read":"Ver las membresías.","memberships:write":"Asignar, cancelar, congelar y descongelar membresías.","fees:read":"Ver las cuotas.","payments:read":"Ver los pagos.","refunds:read":"Ver los reembolsos.","payments:write":"Registrar pagos.","events:read":"Ver la lista de cambios recientes."}}},"scopes":["bookings:read"],"schemeName":"oauth2"},"schema":{"title":"OAuth2 Auth","type":"string","isRequired":true,"description":"Una app de terceros conectada a un negocio por su propietario (OAuth 2.1, Authorization Code con PKCE). El\naccess token (`crq_oat_…`) vale 1 hora, va solo en el header `Authorization: Bearer` y es de un solo negocio.\nUna app nunca recibe `notifications:suppress` ni `webhooks:manage`. Ver https://docs.craqui.com/apps.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"oauth2","name":"Authorization"}],"title":"oauth2"}]},"originalFileLocation":"estudios/openapi.yaml"},"subdomain":"craqui","siteName":"API de Craqui","title":"Ver una reserva - API de Craqui","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T20:37:26.575Z","originalFileLocation":"estudios/api-reference/bookings/ver-una-reserva.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Una reserva del estudio. Solo para estudios: en una academia responde wrong_vertical. Un parámetro que la ruta no declara responde validation_failed con unknown_parameter.\">\u003cmeta data-mint-head name=\"application-name\" content=\"API de Craqui\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/craqui/ptsKlgDyHJpLj3bc/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/craqui/ptsKlgDyHJpLj3bc/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/craqui/ptsKlgDyHJpLj3bc/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/craqui/ptsKlgDyHJpLj3bc/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/craqui/ptsKlgDyHJpLj3bc/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/craqui/ptsKlgDyHJpLj3bc/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/craqui/ptsKlgDyHJpLj3bc/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/craqui/ptsKlgDyHJpLj3bc/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/craqui/ptsKlgDyHJpLj3bc/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Ver una reserva - API de Craqui\">\u003cmeta data-mint-head property=\"og:description\" content=\"Una reserva del estudio. Solo para estudios: en una academia responde wrong_vertical. Un parámetro que la ruta no declara responde validation_failed con unknown_parameter.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"API de Craqui\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.craqui.com/estudios/api-reference/bookings/ver-una-reserva\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://craqui.mintlify.site/_mintlify/api/og/v2?division=bookings\u0026amp;title=Ver+una+reserva\u0026amp;description=Una+reserva+del+estudio.%0A%0A++++++++Solo+para+estudios%3A+en+una+academia+responde+%60wrong_vertical%60.+Un+par%C3%A1metro+que+la+ruta+no%0A++++++++declara+responde+%60validatio\u0026amp;theme=176da6da42441ffcb9f627fc\u0026amp;signature=f93e8e1ea12dd9ea07a50c3a50552b72f0ee3b27244cc8ff26920b0943c36d64\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Ver una reserva - API de Craqui\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Una reserva del estudio. Solo para estudios: en una academia responde wrong_vertical. Un parámetro que la ruta no declara responde validation_failed con unknown_parameter.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://craqui.mintlify.site/_mintlify/api/og/v2?division=bookings\u0026amp;title=Ver+una+reserva\u0026amp;description=Una+reserva+del+estudio.%0A%0A++++++++Solo+para+estudios%3A+en+una+academia+responde+%60wrong_vertical%60.+Un+par%C3%A1metro+que+la+ruta+no%0A++++++++declara+responde+%60validatio\u0026amp;theme=176da6da42441ffcb9f627fc\u0026amp;signature=f93e8e1ea12dd9ea07a50c3a50552b72f0ee3b27244cc8ff26920b0943c36d64\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/craqui/ptsKlgDyHJpLj3bc/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"API de Craqui\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1F33C7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.craqui.com/estudios/api-reference/bookings/ver-una-reserva\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/estudios/api-reference/bookings/ver-una-reserva.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.craqui.com/#organization\",\"name\":\"API de Craqui\",\"url\":\"https://docs.craqui.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/craqui/oYoj2lAgh2Jk1Qcv/logo/light.png?fit=max\u0026auto=format\u0026n=oYoj2lAgh2Jk1Qcv\u0026q=85\u0026s=e96edbf5621b5bc4068b5ad8dee910c7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.craqui.com#website\",\"name\":\"API de Craqui\",\"url\":\"https://docs.craqui.com\",\"publisher\":{\"@id\":\"https://docs.craqui.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.craqui.com/estudios/api-reference/bookings/ver-una-reserva#webpage\",\"url\":\"https://docs.craqui.com/estudios/api-reference/bookings/ver-una-reserva\",\"name\":\"Ver una reserva\",\"description\":\"Una reserva del estudio. Solo para estudios: en una academia responde wrong_vertical. Un parámetro que la ruta no declara responde validation_failed con unknown_parameter.\",\"dateModified\":\"2026-11-09T20:37:26.575Z\",\"isPartOf\":{\"@id\":\"https://docs.craqui.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.craqui.com/estudios/api-reference/bookings/ver-una-reserva#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.craqui.com/estudios/api-reference/bookings/ver-una-reserva#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"bookings\",\"item\":\"https://docs.craqui.com/estudios/api-reference/bookings/listar-reservas\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ver una reserva\",\"item\":\"https://docs.craqui.com/estudios/api-reference/bookings/ver-una-reserva\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.craqui.com/estudios/api-reference/bookings/ver-una-reserva#apireference\",\"headline\":\"Ver una reserva\",\"name\":\"Ver una reserva\",\"description\":\"Una reserva del estudio. Solo para estudios: en una academia responde wrong_vertical. Un parámetro que la ruta no declara responde validation_failed con unknown_parameter.\",\"url\":\"https://docs.craqui.com/estudios/api-reference/bookings/ver-una-reserva\",\"mainEntityOfPage\":{\"@id\":\"https://docs.craqui.com/estudios/api-reference/bookings/ver-una-reserva#webpage\"},\"dateModified\":\"2026-11-09T20:37:26.575Z\",\"publisher\":{\"@id\":\"https://docs.craqui.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.craqui.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"API de Craqui\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"API de Craqui","nav":{"global":null,"tabs":[{"tab":"Guías","pages":[{"title":"Guías","href":""}]},{"tab":"Referencia","groups":[{"group":"business","pages":[{"title":"Ver el negocio de la clave","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /business","href":"/estudios/api-reference/business/ver-el-negocio-de-la-clave"}]},{"group":"booking_policy","pages":[{"title":"Ver las reglas de reserva","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /booking_policy","href":"/estudios/api-reference/booking_policy/ver-las-reglas-de-reserva"}]},{"group":"centers","pages":[{"title":"Listar sedes","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /centers","href":"/estudios/api-reference/centers/listar-sedes"},{"title":"Ver una sede","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /centers/{id}","href":"/estudios/api-reference/centers/ver-una-sede"}]},{"group":"rooms","pages":[{"title":"Listar salones","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /rooms","href":"/estudios/api-reference/rooms/listar-salones"},{"title":"Ver un salón","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /rooms/{id}","href":"/estudios/api-reference/rooms/ver-un-salón"}]},{"group":"teachers","pages":[{"title":"Listar instructores","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /teachers","href":"/estudios/api-reference/teachers/listar-instructores"},{"title":"Ver un instructor","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /teachers/{id}","href":"/estudios/api-reference/teachers/ver-un-instructor"}]},{"group":"courses","pages":[{"title":"Listar disciplinas","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /courses","href":"/estudios/api-reference/courses/listar-disciplinas"}]},{"group":"classes","pages":[{"title":"Listar clases","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /classes","href":"/estudios/api-reference/classes/listar-clases"},{"title":"Ver una clase","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /classes/{id}","href":"/estudios/api-reference/classes/ver-una-clase"}]},{"group":"credit_packs","pages":[{"title":"Listar packs de créditos","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /credit_packs","href":"/estudios/api-reference/credit_packs/listar-packs-de-créditos"}]},{"group":"membership_plans","pages":[{"title":"Listar planes de membresía","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /membership_plans","href":"/estudios/api-reference/membership_plans/listar-planes-de-membresía"}]},{"group":"intro_offers","pages":[{"title":"Listar ofertas de bienvenida","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /intro_offers","href":"/estudios/api-reference/intro_offers/listar-ofertas-de-bienvenida"}]},{"group":"sessions","pages":[{"title":"Listar sesiones","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /sessions","href":"/estudios/api-reference/sessions/listar-sesiones"},{"title":"Ver una sesión","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /sessions/{id}","href":"/estudios/api-reference/sessions/ver-una-sesión"},{"title":"Listar las reservas de una sesión","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /sessions/{id}/bookings","href":"/estudios/api-reference/sessions/listar-las-reservas-de-una-sesión"},{"title":"Cancelar una sesión","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml post /sessions/{id}/cancel","href":"/estudios/api-reference/sessions/cancelar-una-sesión"}]},{"group":"clients","pages":[{"title":"Listar clientes","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /clients","href":"/estudios/api-reference/clients/listar-clientes"},{"title":"Dar de alta a un cliente","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml post /clients","href":"/estudios/api-reference/clients/dar-de-alta-a-un-cliente"},{"title":"Ver un cliente","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /clients/{id}","href":"/estudios/api-reference/clients/ver-un-cliente"},{"title":"Cambiar los datos de un cliente","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml patch /clients/{id}","href":"/estudios/api-reference/clients/cambiar-los-datos-de-un-cliente"},{"title":"Reactivar a un cliente","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml post /clients/{id}/reactivate","href":"/estudios/api-reference/clients/reactivar-a-un-cliente"},{"title":"Dar de baja a un cliente","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml post /clients/{id}/deactivate","href":"/estudios/api-reference/clients/dar-de-baja-a-un-cliente"}]},{"group":"bookings","pages":[{"title":"Listar reservas","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /bookings","href":"/estudios/api-reference/bookings/listar-reservas"},{"title":"Reservar una sesión","description":"Reserva una sesión para un cliente, con las mismas reglas que tiene el cliente al reservar desde la web\ndel estudio: la anticipación máxima, el tope de reservas, el límite de ausencias, las clases que solo\nreserva el estudio y la sede propia. Cuesta 1 crédito. Si la sesión está completa, anota al cliente en\nla lista de espera, salvo con `allow_waitlist: false`. Avisa al cliente como cualquier reserva, salvo con\n`notify: false`.\n\nResponde `201` con la reserva. Si el cliente había cancelado esa sesión, la reserva vuelve con el mismo\n`bkg_`. Con `dry_run=true` responde `200` con la vista previa.\n\nRechazos (`409`): `already_booked`, `session_full`, `session_started`, `session_cancelled`,\n`session_on_vacation`, `class_archived`, `client_inactive`, `membership_suspended`,\n`membership_frozen`, `class_restricted_to_studio`, `outside_home_center`, `booking_window_closed`,\n`no_show_limit_reached`, `max_active_bookings_reached`, `insufficient_credits`,\n`credits_not_valid_for_class`, `credits_not_valid_for_date`. Un `client_id` o un `session_id` que no\nes de tu negocio responde `404 not_found`.\n\nUna escritura: lleva `Idempotency-Key` (salvo con `dry_run=true`), solo para estudios (en una academia\nresponde `wrong_vertical`), y solo si tu negocio tiene habilitada la escritura por la API\n(`write_access_disabled` si no). Un campo que el cuerpo no declara responde `validation_failed` con\n`unknown_field`. Cuenta para el límite de escrituras (30 por minuto).\n","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml post /bookings","href":"/estudios/api-reference/bookings/reservar-una-sesión"},{"title":"Ver una reserva","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /bookings/{id}","href":"/estudios/api-reference/bookings/ver-una-reserva"},{"title":"Cancelar una reserva","description":"Cancela una reserva. Devuelve el crédito si se cancela dentro del plazo de la clase (`free_cancel_until`\nde la reserva lo predice; `credit_refunded` dice lo que pasó). Si la reserva ocupaba un lugar y hay\nlista de espera, entra la siguiente persona que tenga créditos, y a ella se le avisa siempre. Al cliente\nse le avisa de la cancelación, salvo con `notify: false`.\n\nRechazos (`409`): `booking_not_cancellable` (ya cancelada, o la sesión pasó con la asistencia\nmarcada) y `session_started` (por la API no se cancela una sesión que ya empezó).\n\nUna escritura: lleva `Idempotency-Key` (salvo con `dry_run=true`), solo para estudios (en una academia\nresponde `wrong_vertical`), y solo si tu negocio tiene habilitada la escritura por la API\n(`write_access_disabled` si no). Un campo que el cuerpo no declara responde `validation_failed` con\n`unknown_field`. Cuenta para el límite de escrituras (30 por minuto).\n","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml post /bookings/{id}/cancel","href":"/estudios/api-reference/bookings/cancelar-una-reserva"},{"title":"Marcar la asistencia","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml post /bookings/{id}/attendance","href":"/estudios/api-reference/bookings/marcar-la-asistencia"}]},{"group":"credits","pages":[{"title":"Ver el saldo de créditos de un cliente","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /clients/{id}/credit_balance","href":"/estudios/api-reference/credits/ver-el-saldo-de-créditos-de-un-cliente"},{"title":"Listar lotes de créditos","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /credit_grants","href":"/estudios/api-reference/credits/listar-lotes-de-créditos"},{"title":"Asignar un pack ya vendido","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml post /credit_grants","href":"/estudios/api-reference/credits/asignar-un-pack-ya-vendido"},{"title":"Revocar un pack","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml post /credit_grants/{id}/revoke","href":"/estudios/api-reference/credits/revocar-un-pack"},{"title":"Listar movimientos de créditos","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /credit_transactions","href":"/estudios/api-reference/credits/listar-movimientos-de-créditos"}]},{"group":"memberships","pages":[{"title":"Listar membresías","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /memberships","href":"/estudios/api-reference/memberships/listar-membresías"},{"title":"Asignar una membresía ya vendida","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml post /memberships","href":"/estudios/api-reference/memberships/asignar-una-membresía-ya-vendida"},{"title":"Ver una membresía","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /memberships/{id}","href":"/estudios/api-reference/memberships/ver-una-membresía"},{"title":"Listar los congelamientos de una membresía","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /memberships/{id}/freezes","href":"/estudios/api-reference/memberships/listar-los-congelamientos-de-una-membresía"},{"title":"Dar de baja una membresía","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml post /memberships/{id}/cancel","href":"/estudios/api-reference/memberships/dar-de-baja-una-membresía"},{"title":"Congelar una membresía","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml post /memberships/{id}/freeze","href":"/estudios/api-reference/memberships/congelar-una-membresía"},{"title":"Descongelar una membresía","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml post /memberships/{id}/unfreeze","href":"/estudios/api-reference/memberships/descongelar-una-membresía"}]},{"group":"fees","pages":[{"title":"Listar cuotas","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /fees","href":"/estudios/api-reference/fees/listar-cuotas"},{"title":"Ver una cuota","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /fees/{id}","href":"/estudios/api-reference/fees/ver-una-cuota"}]},{"group":"payments","pages":[{"title":"Listar pagos","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /payments","href":"/estudios/api-reference/payments/listar-pagos"},{"title":"Registrar un pago","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml post /payments","href":"/estudios/api-reference/payments/registrar-un-pago"},{"title":"Ver un pago","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /payments/{id}","href":"/estudios/api-reference/payments/ver-un-pago"}]},{"group":"refunds","pages":[{"title":"Listar reembolsos","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /refunds","href":"/estudios/api-reference/refunds/listar-reembolsos"}]},{"group":"events","pages":[{"title":"Listar eventos","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /events","href":"/estudios/api-reference/events/listar-eventos"},{"title":"Ver un evento","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /events/{id}","href":"/estudios/api-reference/events/ver-un-evento"}]},{"group":"webhook_endpoints","pages":[{"title":"Listar URLs de avisos","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /webhook_endpoints","href":"/estudios/api-reference/webhook_endpoints/listar-urls-de-avisos"},{"title":"Agregar una URL de avisos","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml post /webhook_endpoints","href":"/estudios/api-reference/webhook_endpoints/agregar-una-url-de-avisos"},{"title":"Ver una URL de avisos","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml get /webhook_endpoints/{id}","href":"/estudios/api-reference/webhook_endpoints/ver-una-url-de-avisos"},{"title":"Borrar una URL de avisos","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml delete /webhook_endpoints/{id}","href":"/estudios/api-reference/webhook_endpoints/borrar-una-url-de-avisos"},{"title":"Editar una URL de avisos","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml patch /webhook_endpoints/{id}","href":"/estudios/api-reference/webhook_endpoints/editar-una-url-de-avisos"},{"title":"Enviar un aviso de prueba","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml post /webhook_endpoints/{id}/test","href":"/estudios/api-reference/webhook_endpoints/enviar-un-aviso-de-prueba"},{"title":"Cambiar el secreto de una URL de avisos","deprecated":null,"version":null,"openapi":"/estudios/openapi.yaml post /webhook_endpoints/{id}/rotate_secret","href":"/estudios/api-reference/webhook_endpoints/cambiar-el-secreto-de-una-url-de-avisos"},{"title":"El aviso que recibe tu sistema","version":null,"deprecated":null,"openapi":"/estudios/openapi.yaml webhook event","href":"/estudios/api-reference/webhook_endpoints/el-aviso-que-recibe-tu-sistema"}]}]}]},"basePath":"","title":"Ver una reserva - API de Craqui","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","Page-C945cI-W.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}