Skip to main content
API statusDashboard

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/v1

Request 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.

Tenant and location boundary