Error Handling
JSON:API Error Specification
HTTP Status Codes
200 OK
, while errors like 400 Bad Request
are used for issues such as invalid input. The use of well-known status codes allows developers to quickly understand the nature of the error.Validation Errors
400 Bad Request
status with a detailed error object that includes information about each validation error. This should help you quickly identify which parts of the request need correction.Authentication and Authorisation Errors
401 Unauthorised
and 403 Forbidden
status codes, respectively. The accompanying error object provides additional context, such as which credentials were missing or why the action was denied. An example of a 403 Forbidden
response would be one where you try to perform a disallowed action, such as marking an Exam that is still in draft.Server Errors
5xx
status codes will be returned. A 500 Internal Server Error
indicates an unexpected issue on our end. You should retry these at least once, but persistent failures would suggest a reportable bug; please get in touch if you come across this type of error and make note of the traceId
which we include the the response payload. Our engineers can use this traceId
to more quickly locate, and resolve your issue.502 Bad Gateway
, 503 Service Unavailable
, and 504 Gateway Timeout
, signal temporary problems. In these cases, you should attempt a reasonable amount of retries with an exponential backoff strategy. Although there is no single answer here, however we recommend up to 5 retries with at least a 2 to 15 second delay between each.Endpoint-Specific Error Information
Modified at 2024-08-20 12:39:07