errorCode. The code tells you the outcome — but more
usefully, the range tells you where the message stopped, which decides who can fix it.
These codes apply to SMS sent to India. International traffic uses a different and much
shorter set — see
International SMS error codes.
A
9xx or 900xxx code means the message never left the platform, so it was never charged to an
operator and nothing reached the network. Those are the ones you can resolve yourself, usually
in the portal.This is the complete set, checked against the platform’s own lists in September 2026: 90
three-digit codes, plus five newer platform checks that so far have only a six-digit code. The
gaps in the three-digit numbering (
105, 106, 122, 202, 212, 217, 219, 221) are
unused values, not omissions from this page.Success
Handset, network and operator — 101–143
The message reached the operator but was not delivered. Some of these are genuinely temporary
(handset off, congestion) and worth retrying; others describe a permanent property of the
number.
111 (delivery awaited) is not a failure — the message is still in flight and no final status
has arrived. Treat it as pending rather than counting it against your delivery rate.DLT and regulatory — 201–227
India-specific. The message was stopped by TRAI/DLT scrubbing or by consent rules. Retrying
changes nothing — the registration or the content has to be corrected. See
DLT registration.
These are OneXtel codes, not the DLT platform’s own. Each operator’s DLT platform — Airtel,
Jio, Vi, BSNL — has its own numbering, and OneXtel normalises them into the band below so you
get one set regardless of which platform scrubbed the message. If you see a differently numbered
code inside a DLT portal, that is the platform’s own code and will not match this table.
218 (DND preference) is the recipient’s own registration on the Do Not Disturb list. It is not
a fault, and the number cannot be messaged promotionally until they change it. Use the
Scrub DND option on your API key to filter these before sending
rather than paying for the rejection.Message assembly — 527
Platform — 970–995 and 900xxx
The message was rejected by OneXtel before it reached an operator. Every one of these is
something you or your account team can resolve.
The platform records each of these checks under a six-digit code as well as the three-digit one.
The table gives both, so you can match whichever form you see.
These five newer checks have a six-digit code only:
Several of these map directly to settings you control:
974,976— the blacklist982,987— credits992— the TUC validity period, set in user management995— the SMS Time Window account setting; the message fell outside the permitted sending hours and was dropped rather than queued
Related
- DLR callback — where these codes are delivered
- DLT registration
- SMS API overview

