Skip to main content
Errors come from two places, and they look different:
  • The gateway checks the key, the size and the rate before your request reaches the API. It answers with a plain HTML page, not JSON.
  • The Events API validates the payload and answers with JSON that includes a trace_id.
Check the status code first, and parse JSON only for 202, 400, 500 and 503 responses whose Content-Type is application/json.

Status codes

See Limits & Retries for the limits and a retry loop.

Request errors (400)

These reject the whole request. The body is { "error": "<message>", "trace_id": "…" }.

User errors

Each entry in errors has a userIndex (the zero-based position in users) and a message. A rejected user can have several entries. events[N] is the zero-based position of the event inside that user.

Warnings

A warning means the user was accepted, but one identifier was dropped. The message names the field and ends with — field ignored: Fix warnings at the source. Each one is a contact you can’t reach or a person who won’t match. The rules are in Validation.

Accepted but wrong

Some mistakes pass validation, return 202, and still damage your data. The API can’t flag them:
  • No timestamp on imported history: every event is dated at import time. See Send history with real timestamps.
  • The same order sent twice: both are stored. See Send each order once.
  • product_ids as objects or a plain string: product data is lost. See Standard fields.
  • No email or phone: the person can’t receive a message.
  • No first_name: messages go out without the name.
When you contact support@revbridge.ai about a request, include its trace_id.