# Agile Telecom SMS API — LLM context (short) URL: https://agiletelecom.com/documentation/ Full version: https://agiletelecom.com/documentation/llms-full.txt Live console & full reference: https://wholesale.agiletelecom.com/services/sms ## Product Send and receive SMS at scale. Channels: - REST API over HTTPS (recommended) - SMPP binary protocol over TLS (high throughput) - Inbound SMS via webhook or email on a rented number This product is SMS-only. The wholesale portal is at https://wholesale.agiletelecom.com/. ## Endpoints REST (legacy customers): - POST https://wholesale.agiletelecom.com/services/sms/send REST (new customers): - POST https://wholesale.agiletelecom.com/services/sms/send SMPP: - Host: smpp.agiletelecom.com - Port: 2776 (TLS) - Modes: TX, RX, TRX (up to 4 binds per account by default) Network services: - Credit check: GET https://wholesale.agiletelecom.com/services/sms/credit - MNP lookup: GET https://wholesale.agiletelecom.com/services/mnp/number-lookup ## Authentication - API Key — header `X-Api-Key: YOUR_KEY` (recommended) - Basic Auth — header `Authorization: Basic base64(user:pass)` - IP whitelist supported as an optional layer - HTTPS only; plain HTTP rejected since 2026-01-15 - Only POST + JSON accepted on the SMS endpoint (GET and form-encoded removed) ## SMS send payload (REST) ```json { "globalId": "string", "enableConcatenated": true, "enableUnicode": true, "enableDelivery": true, "simulation": false, "messages": [ { "destinations": ["+393351234567"], "ids": ["msg-1"], "sender": "Agile", "body": "Hello", "scheduling": "2026-05-20 08:30:00.000+0200" } ] } ``` Encoding limits: - GSM-7: 160 chars / part (153 in concatenation) - UCS-2: 70 chars / part (67 in concatenation) Sender ID: numeric or alphanumeric up to 11 chars; country pre-registration may be required. ## Delivery reports (DLR) Enable with `enableDelivery: true`. Configure a webhook URL in the wholesale portal (Settings → Webhooks). The platform posts JSON to your URL; respond `200 OK` within 10s. Retries with exponential back-off up to 24h. Status codes: DELIVERED (0), BUFFERED (1), EXPIRED (2), REJECTED (3), UNDELIVERABLE (4), UNKNOWN (5), FAILED (6). ## Inbound SMS Rent a number from the wholesale portal. Receive each SMS as: - HTTP POST to your webhook (form-encoded: originator, destination, date_time, text). Server MUST respond exactly `+OK` within 30s. Up to 3 retries 15 min apart. - Email from smsin@agiletelecom.com with subject "Agile Telecom -- SMS received". ## HTTP error codes 200 accepted (check per-message statusCode); 400 bad request; 401 invalid credentials; 403 IP not whitelisted; 408 timeout; 413 payload too large; 415 wrong content-type; 429 rate limit; 5xx server error. ## Support - Email: help@agiletelecom.com - Portal: https://wholesale.agiletelecom.com/ - SMS API console: https://wholesale.agiletelecom.com/services/sms