Skip to main content

How errors are reported

Every error of the Sally API uses the same JSON body, so one error handler is enough. This page shows that body and what each status code means for your integration.

{
"statusCode": 429,
"message": "Transcription quota exhausted.",
"code": "FUP_LIMIT_EXCEEDED"
}

Quick navigation

  1. The error body
  2. The status codes
  3. 403 and 404 mean different things

1. The error body​

code is a stable, machine-readable identifier. It is only present for errors that deserve their own reaction, such as FUP_LIMIT_EXCEEDED or TOO_MANY_CONCURRENT_TRANSCRIPTIONS. Generic errors leave it out, so branch on code when it is there and on statusCode otherwise.

2. The status codes​

CodeMeaning
400The request is invalid: body, query or path failed validation.
401The bearer token is missing or no longer valid.
403You can see the resource, but the operation needs a higher role, for example admin or owner.
404Not found or not visible to you.
409Conflict, for example inviting someone who is already a member or already invited.
429Rate limit exceeded, for uploads also the fair-usage limit. Check code here.
500Internal server error. Retrying later is reasonable.

3. 403 and 404 mean different things​

This means

A 403 tells you the resource exists and your role is too low, which a person can fix. A 404 deliberately tells you nothing: not found and not visible cannot be told apart, so a response never reveals that data exists. Authentication explains why a token sees what it sees.