Skip to content
RelationsAI
Error codes

internal_error

HTTP status
500
Retry
Yes, with backoff
Execution
Work may have started
Admin needed
No
Charges
May have been charged

Internal error. An unexpected error. A 500 is never stored: a retry runs the request again from the start (with or without the same Idempotency-Key); it does not replay an earlier result. A read can simply be retried. For a write, the API does not know whether the change was applied before the error, so read the resource first (for a call, list calls filtered by to and created_after; for a campaign or a contact, retrieve it) and retry only if the change is not there.

What it means

The API returns HTTP 500 with error.code set to internal_error. The default message is: "Something went wrong on our side."

Common causes

  • An unexpected server fault.

How to identify it

Check the response status (500) and error.code (internal_error). Branch on error.code, not on the message text: messages can be reworded, codes do not change within v1. Log error.request_id (also sent as the X-Request-Id header) so support can find the request.

How to fix it

  • For a read: retry with exponential backoff.
  • For a write: read the resource state first, then, only if the change did not happen, retry (with the same Idempotency-Key if you sent one; a retry without a key is a new request).

Retry guidance

Use exponential backoff (for example 1 s, 2 s, 4 s, up to about a minute). For a write, read the resource first to find out whether the change was applied before you send anything again.

Did anything happen?

The work may have started before this error was returned. Do not assume nothing happened: read the resource (for a call, list calls filtered by to and created_after; for a campaign, retrieve it) before you send anything again. A charge may have been recorded for work that started; check the call or campaign before you act.

Idempotency

Nothing is stored after a 500, key or no key: a retry runs the request again (it is not a replay), so a blind retry of a write can repeat it. Check the state of a write first with a GET; retry only if it did not happen (with the same key if you sent one).

Who can fix it

The developer who sends the request can fix it; no administrator action is normally needed.

When to contact support

If it persists, write to support@relationsai.com with the request_id. See Support for what to include (the request_id, the time in UTC, the operation, and whether you used a test or live key) and what never to send (API keys, Authorization headers, webhook signing secrets, recording links, transcripts or customer data).

Example error response

JSONJSON
{ "error": { "code": "internal_error", "message": "Something went wrong on our side.", "details": {}, "request_id": "req_r3hmr3ccufgy43lrd5ssiycn", "retry": "yes", "doc_url": "https://docs.relationsai.com/errors/internal_error" } }

See all codes in the error-code reference.