API · comments
comments operations in the OpenAPI contract that accept an API key.
Updated:
GET /bookings/{id}/comments
Comentarios internos de una reserva (más nuevo primero)
Owner, manager y viewer ven todas; staff solo reservas con un recurso suyo (si no, 404). Scope de API key bookings:read (solo lectura). Un comentario es una nota del equipo y nunca se envía al cliente por ningún canal.
- Authentication: API key or dashboard session
- Scopes:
bookings:read
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
id | path | Yes | string | |
limit | query | No | integer default 25 | |
cursor | query | No | string |
Responses
| Status | Description |
|---|---|
200 | OK (CommentPage) |
403 | Error (RFC 9457) (Problem) |
404 | Error (RFC 9457) (Problem) |
422 | Error (RFC 9457) (Problem) |
default | Error (RFC 9457) (Problem) |
POST /bookings/{id}/comments
Comentar de una reserva
Solo sesión de panel con CSRF (las API keys no escriben). Límite de tasa por usuario (429 comment_rate_limited) y máximo de comentarios por entidad (422 comment_limit_reached). Auditado.
- Authentication: API key or dashboard session
- Scopes: None
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
id | path | Yes | string |
Request body (required)
application/json: CommentCreate
Responses
| Status | Description |
|---|---|
201 | Creado (Comment) |
403 | Error (RFC 9457) (Problem) |
404 | Error (RFC 9457) (Problem) |
429 | Error (RFC 9457) (Problem) |
default | Error (RFC 9457) (Problem) |
GET /bookings/{id}/timeline
Línea de tiempo de una reserva (más nuevo primero)
Comentarios, auditoría minimizada de estado/etapa/horario, ubicación puntual vigente y metadatos de adjuntos privados; nunca contenido del archivo ni storage keys. Cursor por (fecha, id). Owner, manager y viewer ven todas; staff solo reservas con un recurso suyo (si no, 404). Scope de API key bookings:read.
- Authentication: API key or dashboard session
- Scopes:
bookings:read
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
id | path | Yes | string | |
limit | query | No | integer default 25 | |
cursor | query | No | string |
Responses
| Status | Description |
|---|---|
200 | OK (TimelinePage) |
403 | Error (RFC 9457) (Problem) |
404 | Error (RFC 9457) (Problem) |
422 | Error (RFC 9457) (Problem) |
default | Error (RFC 9457) (Problem) |
PATCH /comments/{id}
Editar un comentario (autor, owner o manager)
El texto original queda en el diff de auditoría. Solo sesión de panel con CSRF.
- Authentication: API key or dashboard session
- Scopes: None
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
id | path | Yes | string |
Request body (required)
application/json: CommentCreate
Responses
| Status | Description |
|---|---|
200 | Actualizado (Comment) |
403 | Error (RFC 9457) (Problem) |
404 | Error (RFC 9457) (Problem) |
429 | Error (RFC 9457) (Problem) |
default | Error (RFC 9457) (Problem) |
DELETE /comments/{id}
Borrar un comentario (borrado lógico; autor, owner o manager)
- Authentication: API key or dashboard session
- Scopes: None
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
id | path | Yes | string |
Responses
| Status | Description |
|---|---|
204 | Borrado |
403 | Error (RFC 9457) (Problem) |
404 | Error (RFC 9457) (Problem) |
429 | Error (RFC 9457) (Problem) |
default | Error (RFC 9457) (Problem) |
GET /customers/{id}/comments
Comentarios internos de un cliente (más nuevo primero)
Solo owner/manager (PII, como /customers); staff/viewer reciben 403. Scope de API key customers:read (solo lectura). Un comentario es una nota del equipo y nunca se envía al cliente por ningún canal.
- Authentication: API key or dashboard session
- Scopes:
customers:read
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
id | path | Yes | string | |
limit | query | No | integer default 25 | |
cursor | query | No | string |
Responses
| Status | Description |
|---|---|
200 | OK (CommentPage) |
403 | Error (RFC 9457) (Problem) |
404 | Error (RFC 9457) (Problem) |
422 | Error (RFC 9457) (Problem) |
default | Error (RFC 9457) (Problem) |
POST /customers/{id}/comments
Comentar de un cliente
Solo sesión de panel con CSRF (las API keys no escriben). Límite de tasa por usuario (429 comment_rate_limited) y máximo de comentarios por entidad (422 comment_limit_reached). Auditado.
- Authentication: API key or dashboard session
- Scopes: None
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
id | path | Yes | string |
Request body (required)
application/json: CommentCreate
Responses
| Status | Description |
|---|---|
201 | Creado (Comment) |
403 | Error (RFC 9457) (Problem) |
404 | Error (RFC 9457) (Problem) |
429 | Error (RFC 9457) (Problem) |
default | Error (RFC 9457) (Problem) |
GET /customers/{id}/timeline
Línea de tiempo de un cliente (más nuevo primero)
Comentarios + auditoría relevante (cambios de ficha y de sus reservas). Cursor por (fecha, id). Cuando exista booking_stage_event (F1-19) se suma como fuente. Solo owner/manager (PII, como /customers); staff/viewer reciben 403. Scope de API key customers:read.
- Authentication: API key or dashboard session
- Scopes:
customers:read
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
id | path | Yes | string | |
limit | query | No | integer default 25 | |
cursor | query | No | string |
Responses
| Status | Description |
|---|---|
200 | OK (TimelinePage) |
403 | Error (RFC 9457) (Problem) |
404 | Error (RFC 9457) (Problem) |
422 | Error (RFC 9457) (Problem) |
default | Error (RFC 9457) (Problem) |