Core concepts
Requests and responses
The Partner API uses predictable JSON resources, stable UUIDs, opaque cursors, ISO 8601 timestamps, and explicit idempotency for consequential booking writes.
Base URL and JSON
Base URL
https://api.getclassflow.com/partner/v1Request and response bodies use UTF-8 JSON. Send Content-Type: application/json for requests with a body.
Object types and identifiers
Resource responses include a stable UUID id and an object discriminator such as lead, member, or booking. Treat IDs as opaque strings.
Cursor pagination
Paginated endpoints return data, has_more, and next_cursor. The default page size is 50 and the maximum is 200.
Response
{
"object": "list",
"data": [/* resources */],
"has_more": true,
"next_cursor": "11f9fbae-e7c6-4318-b766-ef41ca2d75a0"
}When has_more is true, pass next_cursor back unchanged as the next request’s cursor. An invalid cursor returns 400.
Dates and times
Date-time values use ISO 8601 and include a timezone offset or Z. Studio timezone is available from GET /studio; do not infer it from the caller’s server.
Idempotent booking writes
POST /bookings and DELETE /bookings/{booking_id} require an Idempotency-Key header between 8 and 120 characters.
HTTP
Idempotency-Key: booking-3c68151a-9e55-4fd0-b3ae-1f111713fa32- The first result is replayable for 24 hours.
- Retry the same logical operation with the same key.
- Using the key for different parameters returns
409 idempotency_key_reused.