Get message status
Retrieves the current status and details of a message by ID. Includes delivery status, timestamps, and error information if applicable.
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v3/messages/8ba7b830-9dad-11d1-80b4-00c04fd430c8"{
"success": true,
"data": {
"id": "8ba7b830-9dad-11d1-80b4-00c04fd430c8",
"customer_id": "550e8400-e29b-41d4-a716-446655440000",
"contact_id": "550e8400-e29b-41d4-a716-446655440002",
"phone": "+14155551234",
"phone_international": "+1 415-555-1234",
"region_code": "US",
"template_id": "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
"template_name": "Welcome Message",
"template_category": "UTILITY",
"channel": "sms",
"message_body": {
"header": null,
"content": "Welcome to our service, John! We're excited to have you.",
"footer": null,
"buttons": null
},
"status": "DELIVERED",
"direction": "OUTBOUND",
"created_at": "2026-08-17T11:29:05.1702937+00:00",
"price": 0.0055,
"active_contact_price": 0.015,
"events": [
{
"status": "QUEUED",
"timestamp": "2026-08-17T11:29:05.1704781+00:00",
"description": "Message queued for sending"
},
{
"status": "SENT",
"timestamp": "2026-08-17T11:29:10.1705085+00:00",
"description": "Message sent via SMS"
},
{
"status": "DELIVERED",
"timestamp": "2026-08-17T11:29:15.1705112+00:00",
"description": "Message delivered to recipient"
}
]
},
"error": null,
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-08-17T13:29:05.170526+00:00",
"version": "v3"
}
}{
"success": false,
"data": null,
"error": {
"code": "VALIDATION_001",
"message": "Invalid message ID format.",
"details": null,
"doc_url": "https://docs.sent.dm/reference/api/error-catalog"
},
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-08-17T13:29:05.1705299+00:00",
"version": "v3"
}
}{
"success": false,
"data": null,
"error": {
"code": "RESOURCE_003",
"message": "Message not found",
"details": null,
"doc_url": "https://docs.sent.dm/reference/api/error-catalog"
},
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-08-17T13:29:05.1705304+00:00",
"version": "v3"
}
}{
"success": false,
"data": null,
"error": {
"code": "INTERNAL_001",
"message": "An unexpected error occurred while retrieving the message.",
"details": null,
"doc_url": "https://docs.sent.dm/reference/api/error-catalog"
},
"meta": {
"request_id": "req_7X9zKp2jDw",
"timestamp": "2026-08-17T13:29:05.1705308+00:00",
"version": "v3"
}
}Send a message POST
Sends a message to one or more recipients using a template. Supports multi-channel broadcast — when multiple channels are specified (e.g. ["sms", "whatsapp"]), a separate message is created for each (recipient, channel) pair. Returns immediately with per-recipient message IDs for async tracking via webhooks or the GET /messages/{id} endpoint. Account-level preconditions such as insufficient balance do not reject the request: the send is accepted with 202 and the affected messages are reported as BLOCKED on GET /messages/{id} and the message status webhook.
Get message activities GET
Retrieves the activity log for a specific message. Activities track the message lifecycle including acceptance, processing, sending, delivery, and any errors.