Download OpenAPI specification:
Public API for sending SMS messages through VoxiSMS.
The v2 SMS endpoint uses HMAC authentication. Each request must include these headers:
customer-id: your VoxiSMS customer IDtimestamp: current Unix timestamp in secondssignature: lowercase hex HMAC-SHA256 signatureBuild the signature from this exact canonical string:
METHOD + "\n" + SIGN_PATH + "\n" + TIMESTAMP + "\n" + CUSTOMER_ID + "\n" + BODY
For POST https://api.voxisms.com/v2/enqueue-message, the signed path is /enqueue-message, not /v2/enqueue-message.
The timestamp value must be within 5 minutes of the server time. The BODY value must be the exact JSON bytes sent in the request body.
Enqueues an SMS message for delivery.
The request is authenticated with HMAC headers. The body contains only the message payload; customerId and secretKey are not sent in the JSON body.
For this body:
{"recipient":"+15551234567","message":"Hello from VoxiSMS"}
and timestamp 1700000000, sign this canonical string:
POST
/enqueue-message
1700000000
your-customer-id
{"recipient":"+15551234567","message":"Hello from VoxiSMS"}
Then send the resulting HMAC-SHA256 hex digest in the signature header.
| recipient required | string <= 32 characters Destination phone number in E.164 format. |
| message required | string <= 1600 characters SMS message text. |
| id | string or null <= 128 characters Optional client-supplied message identifier. If omitted or blank, VoxiSMS generates one. |
| requestedTime | integer or null <int64> Optional requested delivery time as a Unix timestamp in seconds. |
| source | string or null <= 128 characters Optional integration or origin identifier. |
| webhookUrl | string or null <uri> <= 2048 characters Optional HTTPS URL that receives delivery or status callbacks. |
{- "recipient": "+15551234567",
- "message": "Hello from VoxiSMS"
}{- "messageId": "sample-message-id-12345"
}Legacy SMS enqueue endpoint for existing integrations.
New integrations should use POST /enqueue-message on the v2 API with HMAC authentication.
| customerId required | string Your VoxiSMS customer ID. |
| secretKey required | string Your VoxiSMS secret key. |
| recipient required | string Destination phone number in E.164 format. |
| message required | string SMS message text. |
| id | string Optional client-supplied message ID. |
| webhookUrl | string <uri> Optional URL to receive delivery or status event callbacks. |
| source | string Optional integration or origin identifier. |
{- "customerId": "string",
- "secretKey": "string",
- "recipient": "+15551234567",
- "message": "Hello from VoxiSMS",
- "id": "string",
- "source": "zapier"
}{- "code": 200,
- "message": "string",
- "data": {
- "sqsResponse": {
- "MessageId": "sample-message-id-12345"
}
}
}