Core concepts
Requests and responses
Stable JSON resources, opaque cursors, ISO 8601 timestamps, and safe booking retries.
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.