Enqueue SMS messages
Queues one or more SMS messages for delivery and returns 202 before they are sent. Delivery outcomes arrive asynchronously — subscribe to a webhook config on the project to receive them.
Partial success is normal: each item is evaluated independently and lands in
accepted, rejected (e.g. invalid number, opted out), or errors. A 2xx
therefore does not mean every item was accepted — always check the per-item arrays.
Project-scoped API key. Keys carry either the ADMIN or TENANT role; a route additionally requires that the key's role is listed in its x-required-roles. Machine-to-machine callers should use this.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/messages/sms" \ -H "Content-Type: application/json" \ -d '{ "items": [ { "to": "string", "body": "string" } ] }'{ "accepted": [ { "phoneNumber": "string", "messageId": "string", "code": 0 } ], "rejected": [ { "phoneNumber": "string", "code": 0, "reason": "INVALID_FORMAT", "message": "string" } ], "errors": [ { "phoneNumber": "string", "code": 0, "reason": "RATE_LIMITED", "message": "string" } ], "acceptedCount": 0, "rejectedCount": 0, "errorCount": 0}