Skip to main content

DLT-India Onboarding

India’s TRAI DLT (Distributed Ledger Technology) regime requires every business that sends A2P SMS in India to register on a DLT portal operated by a telecom operator before any traffic is delivered. Unregistered or mismatched messages are blocked by the operators themselves — not by Orbit. Orbit mirrors the four DLT artifacts so you can manage your Indian registrations alongside the rest of your compliance posture. You still complete the underlying registration on a registrar’s DLT portal; Orbit records the resulting IDs and tracks their status. All endpoints below are rooted at https://api.orbit.devotel.io/api/v1/compliance/dlt-india.
DLT registration writes are gated and off by default. The four POST endpoints below (principal-entities, headers, content-templates, consent-templates) return 503 FEATURE_DISABLED until DLT registration is enabled for your deployment (DEVOTEL_DLT_REGISTRATION_ENABLED=true). The GET list endpoints and the /nudge endpoints stay open regardless, so you can read any existing rows and see delivery nudges. If you need to record DLT artifacts and the writes are gated, contact support to have the feature enabled.
These endpoints record the registrations you obtain on a DLT registrar’s portal. Orbit does not approve them — the registrar and operators do. Once DLT registration is enabled, each artifact starts in pending and is updated as it clears.

Onboarding order

DLT artifacts depend on one another, so register them in this order:
1

Principal Entity (PE)

Register your business as a Principal Entity with a registrar and record the assigned PE ID.
2

Headers (Sender IDs)

Register the 3–11 character Headers (Sender IDs) you will send under, each tied to your PE and a category.
3

Content templates

Register every message template, with variable placeholders, under a Header and category.
4

Consent templates

Register the consent text that backs your opt-ins, so promotional sends can be tied to a documented consent artifact.

1. Principal Entity

POST /dlt-india/principal-entities (admin/owner) records your PE.
GET /dlt-india/principal-entities lists your PEs with their status, rejection_reason, and submission/approval timestamps.

2. Headers (Sender IDs)

POST /dlt-india/headers (admin/owner) registers a Header under a PE.
GET /dlt-india/headers lists registered Headers and their status.

3. Content templates

POST /dlt-india/content-templates (admin/owner) registers a message template. DLT requires every message body to match an approved template, with variable parts marked as placeholders.
You can omit template_id until the registrar issues one — register the template now and add the ID once it clears. The template is stored either way. GET /dlt-india/content-templates lists templates and their status.
POST /dlt-india/consent-templates (admin/owner) records the consent text backing your opt-ins, required to tie promotional sends to a documented consent artifact.
GET /dlt-india/consent-templates lists consent templates and status.

Status and nudges

Every artifact carries a status (starting at pending), an optional rejection_reason, and submission/approval timestamps. If Orbit detects a DLT-related delivery rejection on your India traffic, GET /dlt-india/nudge surfaces an observational prompt (failure_count, last_seen_at); POST /dlt-india/nudge/dismiss acknowledges it.
India is a registration-gated market: your PE, Header, and content template must all be in place and consistent for SMS to deliver. A body that does not match a registered template is rejected by the operator. Pair this with Consent Management for DPDP consent receipts.