Operator codes are operator-specific: the same numeric value means different things on Jio
and Vi, and OneXtel surfaces them back to you unchanged. A
4xxx or 900xxx code means the
message was stopped before any operator saw it, so it was never charged.
These are distinct from the OneXtel API validation errors (API_Invalid_Auth_Key,
API_Missing_Recipient, and so on) documented under
Send messages. A request that passes OneXtel
validation can still fail downstream with one of the codes below.
Every operator’s codes arrive in the same place. Jio, Vi and Airtel each use their own error
schema upstream, but OneXtel normalises them into a single
delivery notification callback: the code
arrives as
errCode, with error carrying its description. You do not need per-operator
parsing — only the meaning of the code differs, which is what the tables below are for.Retry guidance
Every code below is marked with whether re-sending the same message is worthwhile:Jio
Errors returned by the Jio RCS platform.“Assistant” is the Jio term for the RCS agent (sender profile). Codes 4, 25, and 30 all point
at agent provisioning rather than the message itself — check the agent’s launch status in the
RCS platform before retrying.
Jio does not use codes 8, 10, 18, 19, 22, 26, 27 or 29. Handle any code outside this table as a
failure you cannot act on, and check the delivery report for the reason.
Vi (Vodafone Idea)
Errors returned by the Vi RCS platform. Codes combine the HTTP status with a suffix letter. The-M01 suffix indicates the error was passed through from Google’s RCS platform (MaaP)
rather than raised by Vi.
401-C (Invalid IP Address) means the calling IP is not whitelisted. Retrying from the same IP
will not help — whitelist the IP first, then retry.OneXtel platform
Returned when OneXtel stops the message before it reaches an operator. Nothing was sent and nothing was charged. These codes are the same across channels except where noted.Payload and template
Account and routing
Expiry
4009 and 4012 mean the same thing, and differ only in case
(ttl_expiration_revoked and TTL_EXPIRATION_REVOKED). Handle both.Frequency and category
Related
- Send RCS messages — OneXtel API-level error codes
- Send RCS template messages
- WhatsApp error codes — Meta equivalents and the same platform codes

