Errors and limits
Every error has the same shape: { "error": { "code": "…", "message": "…" } }.
| Status | Code | What it means |
|---|---|---|
| 401 | unauthorized | No token, or it is invalid or has expired (they last 5 minutes). Sign in again. |
| 403 | plan_required | This organization's plan does not include API access (Plus and Max do). |
| 403 | api_disabled | API and agent access is switched off for the organization. An owner or admin switches it on in SparkyLi, Settings, API and agents. |
| 403 | forbidden | You are not a member of this product, or your role may not see that data. You see what you see in the app, no more. |
| 400 | org_required | You belong to several organizations. Add the x-sparky-org header (ids are in /me). |
| 404 | not_found | There is no such record, or it is not yours to see. |
| 429 | rate_limited | More than 60 requests in a minute. Wait a minute. |
Limits
- 60 requests a minute per person or app.
- Lists return up to 100 records; use offset and next_offset to page.
- Every call is recorded: the route, when and who, never the data.
- Tokens last 5 minutes. Switching API access off for the organization stops everything at once.