Bookings
La Bookings API dà alle integrazioni accesso in lettura ai booking e ai booking type (event type) del workspace. Si abbina a webhook outbound che notificano i tuoi sistemi ogni volta che un booking cambia — creato, confirmed, cancelled, rescheduled, declined, reassigned o segnalato come no-show.
Gli endpoint di lettura sono scopati al workspace del token: non puoi mai leggere i booking di un altro workspace.
Quick Start
- REST API
- CLI
# List bookings (newest first, keyset pagination)
curl -X GET "https://api.copera.ai/public/v1/bookings?status=CONFIRMED&limit=25" \
-H "Authorization: Bearer YOUR_API_KEY"
# Get a single booking by its public uid
curl -X GET https://api.copera.ai/public/v1/bookings/BOOKING_UID \
-H "Authorization: Bearer YOUR_API_KEY"
# List booking types (event types)
curl -X GET https://api.copera.ai/public/v1/booking-types \
-H "Authorization: Bearer YOUR_API_KEY"
La Copera CLI non spedisce ancora comandi dedicati bookings. Finché non lo fa, leggi booking e booking type tramite la REST API mostrata nell'altra tab. Installa la CLI ora così è pronta quando arriva il supporto:
curl -fsSL https://cli.copera.ai/install.sh | bash
Disponibile in
| Public API | CLI | MCP | Copera AI |
|---|---|---|---|
| ✅ Read-only | — | — | — |
Gli endpoint di lettura sono disponibili sulla Public API. I Bookings non sono ancora esposti tramite la CLI, l'MCP server hostato o l'assistente Copera AI in-app.
Gli endpoint Bookings non sono ancora nel API Reference live — la produzione non ha ancora spedito la superficie OpenAPI per essi. Fino ad allora, questa guida è il riferimento; usa le forme di request sotto con la Public API.
Superficie read-only
La Public API espone tre endpoint GET. Non ci sono endpoint create, cancel, confirm, decline o reschedule — i booking si gestiscono nell'app Copera e si leggono tramite l'API.
List bookings
GET /public/v1/bookings restituisce i booking del workspace, più recenti prima, con paginazione keyset. Query parameter (tutti opzionali):
status—PENDING,CONFIRMED,DECLINED,CANCELLEDoCOMPLETED.bookingTypeId— restringi a un singolo booking type.from/to— date-time ISO-8601; filtra per l'ora di start del booking.limit— 1–100 (default 25).cursor— ilnextCursorda una response precedente.
curl -X GET "https://api.copera.ai/public/v1/bookings?status=CONFIRMED&limit=25" \
-H "Authorization: Bearer YOUR_TOKEN"
La response è paginata keyset:
{ "bookings": [ /* … */ ], "nextCursor": "…", "hasMore": true }
Get a booking
GET /public/v1/bookings/{uid} restituisce un singolo booking per il suo public uid. Il path parameter accetta anche l'_id 24-hex del booking — l'identificatore che i webhook consegnano come data.id — così un receiver di webhook può recuperare il booking di cui è stato notificato senza conoscere l'uid.
List booking types
GET /public/v1/booking-types restituisce i booking type (event type) del workspace. Non prende parametri e li restituisce tutti, inclusi quelli hidden e inactive (ciascuno porta i flag hidden e active così puoi filtrare client-side).
Cosa contiene un booking
Un oggetto booking include il suo uid, status, il bookingTypeId e bookingTypeTitle, start / end / durationMinutes, timezoneAtBooking, gli hosts (ciascuno { userId, role }), il booker (name, email, phone opzionale, timezone, locale), guests, le form answers e la location. Poiché questi sono i dati del tuo workspace, i dettagli di contatto del booker sono inclusi; handle interni come manage token e idempotency key non vengono mai esposti.
Un booking type include il suo _id, title, slug e description opzionali, kind, durationMinutes, color opzionale, i flag hidden e active e i timestamp.
Webhook
Oltre a leggere i booking, puoi ricevere webhook outbound che notificano i tuoi sistemi ogni volta che un booking cambia. Vedi Booking Webhooks per l'elenco eventi, il payload firmato, gli header, la verifica della signature e il contratto di delivery/retry.
Autenticazione e scope
Gli endpoint Bookings accettano un Personal Access Token completo (cp_pat_) o un'integration API key (cp_key_) con lo scope access_bookings. Un token senza lo scope ottiene un 403. Vedi Autenticazione.
Riferimento
- Booking Webhooks — elenco eventi, payload firmato, header, verifica della signature e contratto di delivery/retry.
- Autenticazione e Paginazione — scope dei token e modello cursor keyset usato da list bookings.