- 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.
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 inerrors 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, return202, and still damage your data. The API can’t flag them:
- No
timestampon 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_idsas 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.
trace_id.