Skip to content
v3Latest
Feedback

Error codes

Every error returns a stable <code>code</code>, a human message and a link to the fix.

On this page

Every error returns a stable code, a human message and a link to the fix. Follow the steps below — it takes just a few minutes.

Before you begin#

  • A Relay account and a test-mode API key
  • curl or one of the official SDKs

Steps#

  1. Read the HTTP status#

    4xx means fix the request; 5xx means retry later.

  2. Use the code#

    Branch on error.code, never on the message text.

  3. Log the request ID#

    Include Relay-Request-Id when you contact support.

Tip

The full list lives in the table below.

Common codes#

CodeHTTPWhat to do
invalid_recipient422Check the number is in E.164 format, like +15550100001.
insufficient_scope403Give the key the scope named in the message.
rate_limited429Wait for Retry-After seconds.
provider_unavailable503Retry with backoff; Relay already tried a second carrier.

Still stuck?#

Include the request ID from the Relay-Request-Id response header — it lets us find your call in seconds.

Was this article helpful?