Skip to Content

Errors

The exit1.dev API uses standard HTTP status codes and returns structured error responses.

Status Codes

CodeMeaningDescription
200OKRequest succeeded
201CreatedResource created successfully (POST)
400Bad RequestInvalid request parameters or body
401UnauthorizedMissing or invalid API key
403ForbiddenAccess denied — missing scope or resource not owned
404Not FoundResource not found
405Method Not AllowedHTTP method not supported for this endpoint
409ConflictDuplicate resource (e.g., URL already monitored) or plan limit reached
422UnprocessableIdempotency key conflict (same key used for a different request)
429Too Many RequestsRate limit exceeded
500Internal Server ErrorServer-side error

Error Response Format

All error responses follow this structure:

{ "error": "Invalid parameter: limit must be between 1 and 100" }

Common Errors

401 Unauthorized

{ "error": "Invalid or missing API key" }

Causes:

  • Missing X-Api-Key header
  • Invalid API key format
  • Revoked API key

403 Forbidden

{ "error": "API key does not have the required scope: checks:write" }

Causes:

  • API key missing required scope for the operation
  • Attempting to access a check owned by a different account

404 Not Found

{ "error": "Check not found" }

Causes:

  • The check ID does not exist
  • The check belongs to a different account

409 Conflict

{ "error": "A check already exists for this URL" }

Causes:

  • Duplicate URL when creating or updating a check
  • Maximum check limit reached for your plan

422 Unprocessable

{ "error": "Idempotency key previously used for a different request" }

Cause: The same Idempotency-Key was used with a different HTTP method or path. Use a new key for each distinct request.

429 Too Many Requests

{ "error": "Rate limit exceeded. Please retry after the reset time.", "retryAfter": 60 }

Cause: You’ve exceeded a rate limit. Wait for the specified retry period.

Last updated on