Retry failed SMS messages individually or in batches, and send draft messages.SMS Live Mode Only: All SMS endpoints require a live mode API key (sk_live_*).
Resend Failed SMS#
Retry sending a failed SMS message.Endpoint: POST /v1/sms/{id}/resend| Parameter | Type | Required | Description |
|---|
id | string | Yes | SMS message ID |
{
"data": {
"id": "sms_abc123",
"recipient_phone": "+2207654321",
"message_body": "Hello!",
"status": "queued",
"segments": 1,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:35:00Z"
}
}
Batch Resend Failed Messages#
Resend multiple failed SMS messages at once.Endpoint: POST /v1/sms/resend-failed| Field | Type | Required | Description |
|---|
message_ids | array | Yes | Array of message IDs to resend (minimum 1) |
{
"data": {
"total_requested": 3,
"total_success": 2,
"total_failed": 1,
"total_skipped": 0,
"results": [
{
"original_message_id": "sms_abc123",
"new_message_id": "sms_new123",
"success": true,
"status": "queued"
},
{
"original_message_id": "sms_def456",
"new_message_id": "sms_new456",
"success": true,
"status": "queued"
},
{
"original_message_id": "sms_ghi789",
"success": false,
"status": "failed",
"error": "Message not found or not in failed status"
}
]
}
}
Send Draft SMS#
Send a previously saved draft SMS message.Endpoint: POST /v1/sms/{id}/send-draft| Parameter | Type | Required | Description |
|---|
id | string | Yes | Draft SMS message ID |
| Field | Type | Required | Description |
|---|
scheduled_at | string | No | Optional time to schedule the message (ISO 8601) |
{
"data": {
"id": "sms_abc123",
"recipient_phone": "+2207654321",
"message_body": "Hello!",
"status": "scheduled",
"scheduled_at": "2024-12-25T10:00:00Z",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:35:00Z"
}
}