Every error response from the OneXtel Verify API — on every endpoint — has the same shape:
Branch on error.code, not on the HTTP status: several codes share a status, and the code is
what tells you whether to retry, re-send, or surface something to the user. Quote requestId
when you raise a ticket with OneXtel — it identifies the exact request in our logs.
Verification outcomes
These are the codes you handle in your sign-in flow. They are the normal outcomes of a user
typing a code, not faults.
Rate and cooldown
All three are configured per template, not per account. Read the current values off
List templates.
Idempotency
Configuration
These mean the send never had a chance — something in the template or channel setup needs
fixing in the portal.
Authentication and access
Request validation
dispatch_failed is the only send failure where no channel accepted the message. A 201
with some channels showing rejected means the send partly succeeded — the user still got a
code. Do not retry a 201.
Membership
These appear on the workspace-membership endpoints rather than the Verify calls themselves.