Skip to main content
When something fails in an automation, ask for the code, not only the red message text.

If you are recruiting / ops

Most hiring work happens in the dashboard. Common failure codes:

For engineers

Public API errors use one envelope. Branch on error.code — messages may change.
Some plan gates also include required_plan. Do not expect the session/dashboard { "status", "code", "data" } shape on Public API routes.

Codes by HTTP status

400: VALIDATION_ERROR, MISSING_EMAIL, INVALID_INPUT, REMINDER_COOLDOWN, ASSESSMENT_NOT_ACTIVE, ALREADY_STARTED, ALREADY_COMPLETED, INVITATION_EXPIRED, WEBHOOK_REQUEST_FAILED, WEBHOOK_ENDPOINT_ERROR, NOT_VERIFIED 401: INVALID_API_KEY, EXPIRED_API_KEY 403: INSUFFICIENT_SCOPE, IP_NOT_ALLOWED, INVITE_QUOTA_EXCEEDED, PLAN_REQUIRED, ASSESSMENT_LIMIT_REACHED, LIMIT_REACHED 404: NOT_FOUND, CASE_NOT_FOUND 409: TASKS_LOCKED 429: RATE_LIMITED 500: INTERNAL_ERROR

Retry guidance

SDKs raise typed errors with the same codes.

Next

Authentication · Rate limits · Plan limits
Last modified on August 24, 2026