Getting started
Authentication
API keys
Send the key in the X-ClassFlow-Key header on every Partner API request.
GET /partner/v1/classes HTTP/1.1
Host: api.getclassflow.com
X-ClassFlow-Key: cf_live_••••••••••••Test and live environments
cf_test_…Test keyRead-only access to the studio’s current permitted data. Test keys are not a separate sandbox tenant and cannot receive write scopes.
cf_live_…Live keyCan receive read and write scopes. Webhook subscriptions require a live credential.
Scopes
Grant the minimum permissions needed by the integration. Missing permissions return 403 with the required scope.
studio:readreadStudio identity and locations
schedule:readreadRooms, class types, instructors, classes, and availability
catalog:readreadProducts and price records
forms:readreadForm definitions
form_submissions:readreadSubmitted form answers and contact data
form_submissions:writewrite / manageSubmit answers to a published form
leads:readreadLead contact and lifecycle data
leads:writewrite / manageCreate and update studio leads
members:readreadMember profiles and membership summaries
members:writewrite / manageCreate members; never changes billing or credits
bookings:readreadBookings and waitlist state
bookings:writewrite / manageCreate through Booking Authority
bookings:cancelwrite / manageCancel through Booking Authority; studio policy can apply configured fees or forfeit credits
purchases:readreadPurchase ledger summaries without payment credentials
webhooks:managewrite / manageSubscriptions, attempts, replay, and signing-secret rotation
Location restrictions
A key can be restricted to selected studio locations. Schedule, booking, purchase, room, and location reads enforce that list. An identifier outside the permitted locations returns 404, preventing resource-existence leaks.
Expiration, rotation, and revocation
- Set an expiration date for temporary integrations and contractors.
- Rotation creates a new one-time secret and revokes the replaced credential.
- Webhook subscriptions transfer during credential rotation so delivery can continue.
- Revoking or expiring a credential immediately stops API access and its webhook deliveries.