Error codes
The API uses standard HTTP status codes to indicate whether a request was successful or why it failed.
Error response format
{
"detail": "name is required",
"instance": "https://api.domain.com/v1/screen",
"status": 400,
"title": "Bad Request",
"type": "about:blank",
"code": "MISSING_NAME",
"pointer": "/subjects/0/name"
}
HTTP status codes
| Status | Code | When it happens | Common causes |
|---|---|---|---|
| 200 | OK | Request processed successfully | Matches may still be empty |
| 400 | Bad Request | Invalid or malformed request body | Missing subjects, empty array, invalid JSON, wrong types, invalid enum values, more than 20 subjects |
| 401 | Unauthorized | Authentication failed | Missing or invalid Authorization header, invalid API key |
| 404 | Not Found | Endpoint does not exist | Wrong URL path or version |
| 405 | Method Not Allowed | Unsupported HTTP method | Using GET instead of POST |
| 415 | Unsupported Media Type | Invalid content type | Missing or incorrect Content-Type: application/json |
| 500 | Internal Server Error | Unexpected server error | Temporary failure |
Statuses such as 429 Too Many Requests or 503 Service Unavailable are reserved for future rate limiting, maintenance, or capacity controls when those features are enabled.