The routes that exist today answer errors as JSON with one field, error, a sentence meant to be read by a person, and the matching HTTP status. Every error response is sent with cache-control: no-store.
Statuses
| Status | Meaning |
|---|---|
400 | The body is not JSON of the shape the route expects. |
401 | No session or token, or the Authorization header is not a Solid Growth token. |
403 | A cookie session was used from another site's page. Writes work only from the app. |
429 | You are going too fast. See Rate limits. |
500 | The request failed on our side. Try again in a minute. |
Error codes
Machine-readable error codes and a common error shape for the public API are coming soon. Read the status today, not the text of error, which may change.