The API is scoped to your district. You can only read and write data within the district associated with your API key or session token.
Base URL
Authentication
All API requests require authentication via a Bearer token. See Authentication for details on session tokens and API keys.Request format
- Content-Type:
application/jsonfor all request bodies - Date format: Unix timestamps in milliseconds (e.g.,
1709942400000) for date fields returned by the API; ISO 8601 strings (e.g.,2026-02-15) for date input fields
Response format
All responses are JSON. Successful responses return the requested data. Error responses follow a consistent structure:HTTP status codes
| Code | Meaning |
|---|---|
200 | Success |
201 | Created |
400 | Bad request — check your request body |
401 | Unauthorized — missing or invalid token |
403 | Forbidden — your role doesn’t have permission for this action |
404 | Not found |
402 | Payment required — trial expired or subscription inactive |
500 | Internal server error |