API · holds

Operaciones de holds del contrato OpenAPI que aceptan una clave de API.

Actualizado:

POST /holds

Crear una pre-reserva (hold) de 10 minutos

La misma Idempotency-Key conserva el conjunto pedido, también en replays concurrentes del core. Otro conjunto responde 422 idempotency_conflict; el orden de recursos no altera el payload. 409 membership_blocked si el cliente tiene la membresía que cubre ese servicio bloqueada por impago (plan en el cuerpo; se libera al pagar la cuota).

  • Autenticación: Clave de API o sesión del panel
  • Scopes: Ninguno

Parámetros

NombreEnObligatorioTipoDescripción
Idempotency-KeyheaderSístringUUID único por operación; reintentos con la misma key devuelven el mismo resultado durante 24 h.

Cuerpo de la solicitud (obligatorio)

  • application/json: HoldCreate

Respuestas

EstadoDescripción
201Creado (Booking)
409Error (RFC 9457) (Problem)
defaultError (RFC 9457) (Problem)

DELETE /holds/{id}

Liberar un hold

Cancelar nunca se bloquea (F3-181, decisión del dueño 2026-10-09). Con etapas v2, liberar una tarea held/pending_payment no exige los datos de la etapa cancelada ni de la salida «cancelar».

  • Autenticación: Clave de API o sesión del panel
  • Scopes: Ninguno

Parámetros

NombreEnObligatorioTipoDescripción
idpathSístring

Respuestas

EstadoDescripción
204Liberado
defaultError (RFC 9457) (Problem)

POST /holds/{id}/confirm

Confirmar un hold (o pasarlo a pending_payment si requiere seña)

Serializa la confirmación con reinicios de configuración. Un hold pendiente cuyo servicio está inactivo responde 409 service_inactive; una confirmación ya comprometida conserva su replay idempotente. Confirmar para otro cliente (customer_id) cuya membresía que cubre ese servicio está bloqueada por impago responde 409 membership_blocked.

  • Autenticación: Clave de API o sesión del panel
  • Scopes: Ninguno

Parámetros

NombreEnObligatorioTipoDescripción
idpathSístring
Idempotency-KeyheaderSístringUUID único por operación; reintentos con la misma key devuelven el mismo resultado durante 24 h.

Cuerpo de la solicitud (obligatorio)

  • application/json: HoldConfirm

Respuestas

EstadoDescripción
200OK (Booking)
409Error (RFC 9457) (Problem)
410Error (RFC 9457) (Problem)
defaultError (RFC 9457) (Problem)