VerifymeDocs

Errors & limits

One error format, a trace id on everything, and how rate limits answer.

Error format

Errors are RFC 9457 application/problem+json:

{
  "type": "about:blank",
  "title": "Bad Request",
  "status": 400,
  "detail": "length must be between 4 and 8",
  "trace_id": "01JB2K…"
}

trace_id is also in the X-Request-ID header. Paste it into the console's audit or verification search to see the full request, provider attempts included.

StatusMeansDo
400Invalid input, or wrong/expired codeFix the request / ask for a new code
401Missing or unknown API keyCheck x-api-key
403Key lacks the scope, or the firewall blocked itCheck key scopes and firewall rules
429Rate or send limitWait Retry-After seconds
5xxOur side, or every provider failedRetry with backoff; quote the trace_id

Rate limits

  • Per business: set a budget in Console → Testing & limits (count per window, per target and IP). 0 means unlimited.
  • Send limits: firewall caps per destination, IP, channel, prefix or carrier. All-or-nothing — a refused send spends no budget.
  • Per key: a throttle on every API key.

A limited request answers 429 with Retry-After. Don't retry sooner.

On this page