Content Type
Write operations use the JSON-API media type:application/json is not accepted for POST and PATCH operations.
For GET requests, the API also accepts:
application/json payloads instead of JSON-API resources. Webhook deliveries are always sent as application/json.
Resource Objects
Every API response wraps data in a JSON-API resource object:"data": [...] as an array.
Common Headers
Tenant Context
Admin API requests require an organization context. Pass it as a query parameter:- The
tenantclaim in the JWT (if present), or - The
oquery parameter
?o={organization_id}.
Including Related Resources
Use theinclude parameter to sideload related resources in a single request, avoiding N+1 round-trips:
included array:
attributes and stored resource meta you would get from fetching the resource as primary data. For example, community meta.members_count is the stored active_community_accounts_count on both GET /communities and ?include=communities.
Each resource type defines its own set of allowed include paths. Requesting an unsupported path returns a
400 error.Sparse Fieldsets
Request only the attributes you need to reduce payload size:Filtering
Filter collections using thefilter query parameter.
Simple Filters
Multiple Values
Repeat the filter key with[] to pass multiple values as an OR condition:
Date Range Filters
Range filters use nestedfrom and to keys:
Boolean Filters
Some collections accept boolean flags. Sendtrue to apply the restriction. false is a no-op.
filter[booked_today] keeps resources with an accepted or requested booking overlapping today. filter[active_today] keeps resources with a non-canceled timeslot overlapping today or a weekly schedule for today’s weekday. “Today” uses the active organization’s timezone. These filters are excluded from MCP tool schemas. See Admin Resources.
Admin orders also accept filter[created_at_range] (same date-range shape as above, including presets such as today), filter[created_by] (creator IDs), and filter[created_by_type] (users or customers). Include created_by to sideload the staff user or customer who created the order. Creators are stamped on new admin and shop orders; a backfill covers roughly the last 90 days.
Search
Full-text search across indexed fields:expires_at is null, including unfinished admin drafts. Checkout carts set an expiry and stay out of the index.
Custom Field Filters
Filter by custom field values using the field’s UUID:Available filters vary per resource. Requesting an unsupported filter returns a
400 error.Sorting
Sort results with thesort parameter. Prefix with - for descending:
Each resource type defines its allowed sort parameters. The default sort varies per resource.
Pagination
The API uses offset-based pagination:Response Metadata
Paginated responses include navigation links:Creating and Updating Resources
- Create (POST)
- Update (PATCH)