Official Sinch API skills for AI coding agents — SMS, Voice, Verification, Numbers, Mailgun email, and more.
71
89%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
← Back to Conversation API SKILL.md
The Batch API sends a single message definition to up to 1000 recipients in one API call, with per-recipient ${parameter} substitution. Also supports bulk contact creation/deletion and consent records.
Sections: SDK Reference | When to Use | Base URLs | API Endpoints | Request Structure | Top-Level Fields | Per-Recipient Fields | Managing Batches | Bulk Contacts | Callbacks | Common Pitfalls | Links
For single-recipient messaging, use the standard messages:send endpoint instead.
| Region | Base URL |
|---|---|
| US | https://us.conversationbatch.api.sinch.com |
| EU | https://eu.conversationbatch.api.sinch.com |
| BR | https://br.conversationbatch.api.sinch.com |
Must match the region of your Conversation API app.
All endpoints prefixed with /v1/projects/{project_id}.
| Method | Path | Description |
|---|---|---|
| POST | /messages | Send batch (up to 1000 recipients) |
| DELETE | /messages | Cancel scheduled batches |
| GET | /messages?meta... | Get batch status by metadata |
| GET | /messages/{batch_id} | Get batch status by ID |
| POST | /contacts | Bulk-create contacts (up to 1000) |
| DELETE | /contacts | Bulk-delete contacts (up to 1000) |
| POST | /consents | Bulk-insert consent records |
ONE message at top level + recipient_and_params array:
{
"app_id": "YOUR_APP_ID",
"message": {
"text_message": {
"text": "Hello ${user}! Your code is ${code}"
}
},
"recipient_and_params": [
{
"recipient": {
"identified_by": {
"channel_identities": [
{ "channel": "SMS", "identity": "+1234567890" }
]
}
},
"parameters": { "user": "Jane", "code": "123" }
},
{
"recipient": {
"identified_by": {
"channel_identities": [
{ "channel": "SMS", "identity": "+0987654321" }
]
}
},
"parameters": { "user": "John", "code": "456" }
}
]
}WRONG — do NOT use a messages array. The Batch API uses ONE message + many recipients.
| Field | Type | Required | Description |
|---|---|---|---|
app_id | string | Yes | Conversation app sending the message |
message | object | Yes | Single message definition with ${param} variables |
recipient_and_params | array | Yes | 1-1000 recipients with optional per-recipient parameters |
processing_strategy | string | No | DEFAULT (inherit app mode) or DISPATCH_ONLY |
batch_metadata | object | No | Metadata for the batch; usable for cancellation |
message_metadata | object | No | Included in delivery receipts; _batch_id is reserved |
send_after | datetime | No | Schedule future delivery (UTC, ISO 8601, max 7 days) |
callback_url | string | No | Override webhook URL for delivery receipts |
channel_priority_order | array | No | Channel fallback order |
ttl | string | No | Timeout in seconds, e.g. "86400s" |
channel_properties | object | No | Channel-specific properties |
| Field | Type | Required | Description |
|---|---|---|---|
recipient | object | Yes | identified_by (preferred) or contact_id |
parameters | object | No | Key-value pairs replacing ${key} in the message |
message_metadata | object | No | Merged with top-level (recipient takes precedence) |
conversation_metadata | object | No | Merged with top-level (recipient takes precedence) |
DELETE /v1/projects/{project_id}/messages with batch_id in bodyGET /v1/projects/{project_id}/messages/{batch_id}READY, SCHEDULED, PROCESSED, CANCELLEDSee Batch Messages API.
POST /v1/projects/{project_id}/contacts with contacts array (up to 1000). Created asynchronously. See Batch Contacts API.
BATCH_STATUS_UPDATE webhook trigger for batch-level status changesMESSAGE_DELIVERY for per-message delivery receipts (includes _batch_id in metadata)batch_id and message_indexmessage + recipient_and_params array. NOT a messages array.conversationbatch.api.sinch.com, NOT conversation.api.sinch.com._batch_id is reserved: Auto-injected into delivery receipts. Don't use in your own metadata.${parameter_name} in string fields. Keys must match parameters object.send_after rounding: Scheduled >1 min out rounds UP to next 5-min mark. Max 7 days.send_after. Immediate batches cannot be cancelled.skills
sinch-10dlc
references
sinch-authentication
sinch-conversation-api
sinch-elastic-sip-trunking
references
sinch-fax-api
sinch-imported-numbers-hosting-orders
references
sinch-in-app-calling
sinch-mailgun
references
sinch-mailgun-inspect
references
sinch-mailgun-optimize
references
sinch-mailgun-validate
sinch-number-lookup-api
sinch-number-order-api
sinch-numbers-api
references
sinch-porting-api
sinch-provisioning-api
sinch-sdks
sinch-verification-api