Skip to main content

Errors

The WillItTrack API uses a consistent error envelope across all endpoints. Every error response includes a type, code, human-readable message, and request ID for debugging.

Error Envelope

Error response
{
  "error": {
    "type": "invalid_request_error",
    "code": "missing_parameter",
    "message": "The 'url' parameter is required.",
    "request_id": "req_550e8400-e29b-41d4-a716"
  }
}
FieldTypeDescription
typestringCategory of the error (see below).
codestringMachine-readable error code for programmatic handling.
messagestringHuman-readable description of the error.
request_idstring | nullUnique request ID. Include this when contacting support. Also returned in the X-Request-Id response header.

Error Types

TypeHTTP StatusDescription
invalid_request_error400, 404, 409, 429The request was malformed, missing required fields, or targeted a non-existent resource.
authentication_error401, 403The API key is missing, invalid, revoked, or expired.
usage_limit_error402Free tier exhausted and insufficient credits to complete the request.
api_error500, 503An internal error occurred or a dependent service (scanner, database) is unavailable.

Error Codes

Use the code field for programmatic error handling rather than parsing the message string.

CodeDescription
missing_parameterA required field is missing from the request body.
invalid_parameterA field has an invalid value (e.g. unknown check_type).
invalid_urlThe provided URL is malformed or uses a disallowed scheme.
invalid_jsonThe request body is not valid JSON.
not_foundThe requested resource (check, batch, monitor, key) does not exist.
invalid_api_keyThe API key is invalid or has been revoked.
invalid_credentialsAuthentication failed (JWT or API key).
insufficient_creditsFree tier exhausted and credit balance is too low for this check type.
rate_limitedToo many requests. Retry after the Retry-After period.
too_many_urlsDetect endpoint: more than 100 URLs provided.
too_many_batchesUser has reached the limit of 3 active batches.
invalid_urlsNo valid URLs found in the batch request after filtering.
monitor_limit_reachedUser has reached the limit of 10 monitors.
cannot_revoke_current_keyCannot revoke the API key being used for this request.
check_failedThe scanner encountered an error while checking the URL.
scanner_unavailableThe headless browser service is temporarily unavailable.
billing_unavailableThe payment service is temporarily unavailable.
batch_creation_failedFailed to create the batch due to an internal error.
key_creation_failedFailed to create the API key due to an internal error.
monitor_creation_failedFailed to create the monitor due to an internal error.
internal_errorAn unexpected internal error occurred.