# Conversation API - Batch API | Sinch

Perform batch operations on select Conversation API resources.

Version: 1.0
License: MIT

## Servers

The {region} variable must be set to either us, eu, or br
```
https://{region}.conversationbatch.api.sinch.com
```

Variables:
- `region`
Default: "us"
Enum: "us", "eu", "br"

## Security

### BearerAuth

The token is sent in the `Authorization` header preceded by `Bearer`. It's required for all requests made to the REST API.
For more information, see [Authentication](/docs/conversation/api-reference/batch-api/#authentication).


Type: http
Scheme: bearer

## Download OpenAPI description

[Conversation API - Batch API | Sinch](https://developers.sinch.com/_bundle/docs/conversation/api-reference/batch-api/batch.yaml)

## Messages

Send a message to one or many recipients. This API supports the same [channels](https://developers.sinch.com/docs/conversation/channel-support/) as Conversation API.

### Send a batch of messages

 - [POST /v1/projects/{project_id}/messages](https://developers.sinch.com/docs/conversation/api-reference/batch-api/batch/messages/batch_sendbatch.md): Send a message to multiple recipients. Parameter variables can be included in all string fields and customized with recipient specific values. Each recipient in the request will generate a message and subsequent delivery reports based on the channel used.

### Cancel scheduled messages

 - [DELETE /v1/projects/{project_id}/messages](https://developers.sinch.com/docs/conversation/api-reference/batch-api/batch/messages/batch_cancelbatch.md): Cancel one or more scheduled message batches by ID or by batch metadata. If using metadata, all batches matching the given key and value will be cancelled.

To successfully cancel a batch, you must do so before the send_after time. Batches without a send_after value (i.e., batches that are sent immediately) cannot be cancelled.

Cancellation is performed asynchronously. This means that this method always returns a 200 response, even if the cancellation fails.

### Get the status of batches by metadata

 - [GET /v1/projects/{project_id}/messages](https://developers.sinch.com/docs/conversation/api-reference/batch-api/batch/messages/batch_getbatchstatusesbymetadata.md): Retrive the status of batches that match the metadata provided.

### Get the status of batch of messages

 - [GET /v1/projects/{project_id}/messages/{batch_id}](https://developers.sinch.com/docs/conversation/api-reference/batch-api/batch/messages/batch_getbatchstatus.md): Retrieve the status of a batch of messages by its unique batch ID.

## Contacts

Create or delete contacts in batches.

### Create contacts

 - [POST /v1/projects/{project_id}/contacts](https://developers.sinch.com/docs/conversation/api-reference/batch-api/batch/contacts/batch_createcontacts.md): Creates a batch of up to 1000 contacts as specified by the list of contacts.

The contacts are created asynchronously. A CONTACT_CREATE event will be generated for every successfully created contact.

### Delete contacts

 - [DELETE /v1/projects/{project_id}/contacts](https://developers.sinch.com/docs/conversation/api-reference/batch-api/batch/contacts/batch_deletecontacts.md): Deletes a batch of up to 1000 contacts as specified by the list of contact IDs.

The contacts are deleted asynchronously. A CONTACT_DELETE event will be generated for every successfully deleted contact.

## Consents

Manage Conversation API consents in batches.

### Insert consent records

 - [POST /v1/projects/{project_id}/consents](https://developers.sinch.com/docs/conversation/api-reference/batch-api/batch/consents/batch_insertconsents.md): Insert consent records for multiple identifications in a single request. If the request fails, none or only some of the records may be inserted. Retry the batch later to try again.

