Skip to main content
Every successful response is shaped {"data": ...} (plus "pagination" on list endpoints). Every error response is shaped the same way everywhere in the API:
code is a short, stable, machine-readable string — safe to branch your own error handling on. message is for humans and may change wording over time; don’t parse it.

Reading “not found”

A 404 not_found means either the record genuinely doesn’t exist, or it exists but belongs to a different organization than your API key. The API deliberately never distinguishes the two — returning a 403 instead would confirm to a caller that something exists at that id, even if they can’t see it. If you’re sure an id is right and still get not_found, double check it belongs to the same organization your key was created for.

Common error codes

Some endpoints raise a few additional, endpoint-specific codes (e.g. form_not_published on form submission, plan_not_supported on attendance for orgs without that feature) — those are documented on the endpoint’s own reference page.