Skip to content

Error Reporting

To make using UCLCSSA API as pleasent as possible, all API endpoints strive to have a uniform error reporting format.

Firstly, HTTP status codes are used semantically to convey success or failure. Any 2XX codes shall indicate successful request. Any 4XX codes shall indicate failure. Any 5XX codes shall indicate unexpected errors.

For 4XX errors, such as 400 Bad Request, 403 Forbidden, any endpoints returning those status codes shall return a JSON response containing a detailed error.

An error is a short string of the format @http-status/detailed-error-type. For example, missing the Authorization header in a request made to a protected endpoint will give an error of @bad-request/missing-authorization-header.

The client may choose to check error for detailed error causes, as 400 Bad Request may happen due to different reasons, and 403 Forbidden may happen because uclcssaSessionKey is either expired or invalid.

Typical Error Response

HTTP/1.1 403 Forbidden
Content-Type: application/vnd.uclcssa.v1+json
{
    "error": "@forbidden/invalid-uclcssa-session-key"
}