Skip to content
Back to home
Book a call

Response Format

All responses are wrapped in a standard envelope:

{
"success": true,
"data": { ... }
}

or, on error:

{
"success": false,
"error": "Not found",
"code": "NOT_FOUND"
}

data is not always flat

Important: payloads under data are not always flat. Most collection endpoints nest the resource under a typed key. Read each endpoint description carefully - body.data is rarely a bare array.

Examples of nested shapes you will see:

Endpoint Shape
GET /organizations/:slug data.organization
GET /organizations/:id/members data.members, data.pagination
GET /events/:slug data.event, data.registration_count, data.team_count
GET /teams/:id data.team, data.members, data.member_count
GET /registrations/:id data.registration

When you write a client, branch on the typed key documented for each endpoint rather than assuming data is the resource itself.

Errors

Branch on the machine-readable code, not the error text - the message may change, the code will not. See Error Codes for the full list.