Add a new API batch
POST /api_batches
Use this method create a new API batch. You can specify up to 500 operations in the same batch.
This an example showing how to create a group, update a subscriber and pause a sent campaign in the same API batch:
{
"callback_url": "https://my-callback-url.example.com/",
"operations_attributes": [{
"request_path": "/api/v1/groups",
"request_method": "post",
"request_body": "{\"name\":\"My group name\"}"
}, {
"request_path": "/api/v1/subscribers/1",
"request_method": "patch",
"request_body": "{\"name\":\"New subscriber name\"}"
}, {
"request_path": "/api/v1/sent_campaigns/1/pause",
"request_method": "patch"
}]
}
The response will include the ID of the batch, which can be used to check the results later. Note that finished batches are automatically removed after 7 days.
If you specify a callback URL, we will send a POST request right after the API batch is processed. It will contain a JSON with the type of the callback and the ID of the API batch.
You can use the following command to simulate a callback request:
curl --request POST \
--url https://your-callback-domain.com/callback-url \
--header 'content-type: application/json' \
--data '{"type":"api_batch_finished","id":1}'
Parameters
| Name | Type | Description |
|---|---|---|
| operations_attributes | array | An array of API batches |
| callback_url | string | A URL that will be called when the api batch is processed. A POST request will be sent to this URL with a JSON payload containing the ID of the API batch. |
Responses
| Status | Description |
|---|---|
| 201 | Success |
| 400 | The request is invalid. Check if the field names in the request and the request data is valid. |
| 422 | A validation error occurred. Check the response body for more information. |
| 401 | The API key wasn't sent or is invalid |
| 500 | An internal error happened. Try again later. |
- Send emails
-
A/B tests
- GET /ab_tests — Lists A/B tests
- POST /ab_tests — Add a new A/B test
- GET /ab_tests/{id} — Get an A/B test by id
- DELETE /ab_tests/{id} — Remove an A/B test
- PATCH /ab_tests/{id}/cancel — Cancel A/B test
- POST /ab_tests/{id}/choose_winning_combination — Choose which A/B test combination should to be sent to the remaining subscribers
- PATCH /ab_tests/{id}/set_as_manual — Set A/B test as manual
-
Campaigns
- GET /campaigns — Lists campaigns
- POST /campaigns — Add a new campaign
- GET /campaigns/{id} — Get a campaign by id
- DELETE /campaigns/{id} — Remove a campaign
- PATCH /campaigns/{id} — Update a campaign
- POST /campaigns/{id}/send_all — Send a campaign
- POST /campaigns/{id}/send_test — Send a campaign to test emails
- Campaign folders
- Custom fields
- Imports
- Groups
-
Media files
- GET /media_files — Lists media files
- POST /media_files — Add a new media file
- GET /media_files/trashed — List media files in trash
- GET /media_files/{id} — Get a single media file
- DELETE /media_files/{id} — Hard delete a media file
- PATCH /media_files/{id}/move_to_trash — Move media file to trash
- PATCH /media_files/{id}/restore — Restore a file that is in trash
- Media folders
-
RSS Campaigns
- GET /rss_campaigns — Lists RSS campaigns
- POST /rss_campaigns — Add a new RSS campaign
- GET /rss_campaigns/{id} — Get a RSS campaign by id
- DELETE /rss_campaigns/{id} — Remove a RSS campaign
- PATCH /rss_campaigns/{id} — Update a RSS campaign
- GET /rss_campaigns/{id}/processed_entries — Get RSS campaign's processed entries
- Senders
-
Sent campaigns
- GET /sent_campaigns — Lists sent campaigns
- GET /sent_campaigns/{id} — Get a single sent campaign
- GET /sent_campaigns/{id}/clicks — Get sent campaign's clicks
- GET /sent_campaigns/{id}/impressions — Get sent campaign's impressions
- GET /sent_campaigns/{id}/sent_emails — Get sent campaign's sent emails
- GET /sent_campaigns/{id}/unsubscribe_events — Get sent campaign's unsubscribe events
- PATCH /sent_campaigns/{id}/pause — Pause a campaign that is being sent
- PATCH /sent_campaigns/{id}/resume — Resume a campaign that is paused
- PATCH /sent_campaigns/{id}/cancel — Cancel a campaign
- SignupForms
- SMTP emails
- SMTP tags
-
Subscribers
- GET /subscribers — Get subscribers
- POST /subscribers — Add a new subscriber
- GET /subscribers/{id} — Get a subscriber by id
- DELETE /subscribers/{id} — Remove a subscriber
- PATCH /subscribers/{id} — Update a subscriber
- POST /subscribers/{id}/resend_confirmation_email — Resend confirmation email to an inactive subscriber
- PATCH /subscribers/{id}/ban — Ban a subscriber
- PATCH /subscribers/{id}/unban — Unban a subscriber
- GET /subscribers/deleted — Get deleted subscribers
- PATCH /subscribers/{id}/restore — Restore a deleted subscriber
- POST /subscribers/sync — Create or update a subscriber
- PATCH /subscribers/bulk_update — Bulk update subscribers
- Unsubscribe events
- Bounces
- General
- API batches
-
Event Subscriptions
- GET /event_subscriptions — Lists event subscriptions
- POST /event_subscriptions — Add a new event subscription
- GET /event_subscriptions/{id} — Get an event subscription by id
- DELETE /event_subscriptions/{id} — Remove an event subscription
- PATCH /event_subscriptions/{id} — Update an event subscription
- Send transactional SMS
- SMS campaigns
-
SMS sent campaigns
- GET /sms/sent_campaigns — Lists SMS sent campaigns
- GET /sms/sent_campaigns/{id} — Get a single SMS sent campaign
- GET /sms/sent_campaigns/{id}/sent_messages — Get SMS sent campaign's sent messages
- GET /sms/sent_campaigns/{id}/unsubscribe_events — Get SMS sent campaign's unsubscribe events
- PATCH /sms/sent_campaigns/{id}/pause — Pause a SMS campaign that is being processed
- PATCH /sms/sent_campaigns/{id}/resume — Resume a SMS campaign that is paused
- PATCH /sms/sent_campaigns/{id}/cancel — Cancel a SMS campaign
- SMS sent messages
- Ecommerce Stores
-
Ecommerce Product Categories
- GET /ecommerce/stores/{store_id}/product_categories — Lists product categories
- POST /ecommerce/stores/{store_id}/product_categories — Add a new product category
- GET /ecommerce/stores/{store_id}/product_categories/{id} — Get a product category by id
- DELETE /ecommerce/stores/{store_id}/product_categories/{id} — Remove a product category from a store
- PATCH /ecommerce/stores/{store_id}/product_categories/{id} — Update a product category
- POST /ecommerce/stores/{store_id}/product_categories/sync — Create or update a product category
-
Ecommerce Products
- GET /ecommerce/stores/{store_id}/products — Lists products
- POST /ecommerce/stores/{store_id}/products — Add a new product
- GET /ecommerce/stores/{store_id}/products/{id} — Get a product by id
- DELETE /ecommerce/stores/{store_id}/products/{id} — Remove a product
- PATCH /ecommerce/stores/{store_id}/products/{id} — Update a product
- POST /ecommerce/stores/{store_id}/products/sync — Create or update a product
-
Ecommerce Carts
- GET /ecommerce/stores/{store_id}/carts — Lists carts
- POST /ecommerce/stores/{store_id}/carts — Add a new cart
- GET /ecommerce/stores/{store_id}/carts/{id} — Get a cart by id
- DELETE /ecommerce/stores/{store_id}/carts/{id} — Remove a cart
- PATCH /ecommerce/stores/{store_id}/carts/{id} — Update a cart
- POST /ecommerce/stores/{store_id}/carts/sync — Create or update a cart
- Send transactional WhatsApp messages
- WhatsApp Phone Numbers
-
WhatsApp Templates
- GET /whatsapp/templates — Lists WhatsApp templates
- POST /whatsapp/templates — Create a new WhatsApp template
- GET /whatsapp/templates/{id} — Get a WhatsApp template by id
- DELETE /whatsapp/templates/{id} — Delete a WhatsApp template
- PATCH /whatsapp/templates/{id} — Update a WhatsApp template
- POST /whatsapp/templates/{id}/submit_for_approval — Submit template for approval
-
WhatsApp campaigns
- GET /whatsapp/campaigns — Lists WhatsApp campaigns
- POST /whatsapp/campaigns — Add a new WhatsApp campaign
- GET /whatsapp/campaigns/{id} — Get WhatsApp campaign by id
- DELETE /whatsapp/campaigns/{id} — Remove WhatsApp campaign
- PATCH /whatsapp/campaigns/{id} — Update WhatsApp campaign
- POST /whatsapp/campaigns/{id}/send_all — Send WhatsApp campaign
-
WhatsApp sent campaigns
- GET /whatsapp/sent_campaigns — Lists WhatsApp sent campaigns
- GET /whatsapp/sent_campaigns/{id} — Get a single WhatsApp sent campaign
- GET /whatsapp/sent_campaigns/{id}/sent_messages — Get WhatsApp sent campaign's sent messages
- PATCH /whatsapp/sent_campaigns/{id}/pause — Pause a WhatsApp campaign that is being sent
- PATCH /whatsapp/sent_campaigns/{id}/resume — Resume a WhatsApp campaign that is paused
- PATCH /whatsapp/sent_campaigns/{id}/cancel — Cancel a WhatsApp campaign
- WhatsApp sent messages