202, one result per message
Each message is queued or rejected with its own code; one refusal never fails the batch.
Customers who do not run SMPP send over HTTPS. Every message goes through the same validation, routing, pricing and balance checks as SMPP traffic, and the outcome comes back as a signed webhook.
# one request, up to 1,000 messages curl -X POST https://API_HOST/v1/sms \ -H "X-API-Key: $KEY" \ -H "Idempotency-Key: batch-2026-10-26-001" \ -d '{"messages":[{"to":"+393331234567","from":"ACME", "text":"Your code is 482913","reference":"order-8812"}]}' HTTP 202 { "messages": [ { "id": "01M5T6BDECJR8XHX3Y5N2J1Y59", "to": "+393331234567", "status": "queued", "parts": 1, "reference": "order-8812" } ] }
| Field | Rules |
|---|---|
| to | Destination in international format, up to 32 characters |
| from | Sender ID, up to 20 characters; the account's sender rules apply |
| text | GSM-7 or Unicode detected automatically, up to 10 parts |
| reference | Optional, your own ID up to 64 characters, echoed in the delivery webhook |
| messages | Batch form: 1 to 1,000 objects with the fields above |
Each message is queued or rejected with its own code; one refusal never fails the batch.
The same validation codes as SMPP, such as INVALID_PHONE_FORMAT or INSUFFICIENT_BALANCE.
sms.send keys with optional IP allowlists, created by you or by the customer in the portal.
One event per message, delivered only when all parts are, otherwise the worst outcome.
Multipart MO reassembled and sent as one event; falls back to SMPP if your endpoint stays down.
HMAC-SHA256 signature with timestamp, 5-second timeout, up to 8 attempts over about 6 hours.
| Endpoint | Scope | Returns |
|---|---|---|
| GET /external/v1/balance/:customerId | financial.read | Balance, credit limit, available amount and currency |
| POST /external/v1/usage | financial.read | Messages, delivered, failed, parts and amounts per period |
| POST /external/v1/cdr | financial.read | Call detail records, paginated |
| GET /external/v1/invoices/:customerId | financial.read | Invoices with number, dates, total, paid and status |
| /external/v1/virtual-numbers | numbers.read / numbers.write | List, add and remove numbers and ranges |
Tell us your business type, the protocols towards customers and suppliers, cloud or on-premise, and the capabilities you care about. Our team comes back with a demo on the console or a technical evaluation on your scenario.
sales@auviagateway.com