Error Handling
The Proctorio API uses standard HTTP status codes and returns structured error responses.
HTTP Status Codes
| Code | Meaning |
|---|---|
200 | Success — request completed and URL was generated |
400 | Bad Request — validation failed on one or more fields |
401 | Unauthorized — invalid or missing API key |
429 | Too Many Requests — rate limit exceeded |
500 | Server Error — internal error, retry with exponential backoff |
Error Response Format
Validation errors (400) return an array of error objects:
[
{
"memberNames": ["launch_url"],
"errorMessage": "The launch_url field is required."
},
{
"memberNames": ["exam_settings"],
"errorMessage": "exam_settings is required."
}
] 401 Error Codes
| Code | Description |
|---|---|
2154 | Account not active — contact your account manager |
2155 | Incorrect region — use the correct regional endpoint |
2655 | Invalid API key — check your key value |
Best Practices
- Always validate your request payload before sending
- Implement retry logic with exponential backoff for 5xx errors
- Log the full error response body for debugging
- Never expose your API key in client-side code