Subscriber imports
On this page:
- Get all subscriber imports
- Get the details of a specific subscriber import
- Creating a subscriber import
- Updating a subscriber import
- Delete a subscriber import
- Appending to a subscriber import
- Starting the import
- Error handling
Get all subscriber imports
The /api/subscriber-imports
endpoint lists all subscriber imports.
$ MAILCOACH_TOKEN="your API token"
$ curl https://<your-mailcoach-domain>/api/subscriber-imports \
-H "Authorization: Bearer $MAILCOACH_TOKEN" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json'
As a result, you get the details of all the subscriber imports:
{
"data": [
{
"uuid": "2ca0e737-b907-468f-819f-5d16e6bd6852",
"subscribers_csv": null,
"status": "completed",
"email_list_uuid": "355cd119-59ba-4d8c-af8c-bd03ed091ae7",
"subscribe_unsubscribed": false,
"unsubscribe_others": false,
"imported_subscribers_count": 577,
"error_count": 836
},
{
"uuid": "363fb337-7030-4bfd-8f8a-716493bb6c24",
"subscribers_csv": null,
"status": "completed",
"email_list_uuid": "befd416e-a776-40c8-8d26-c3322091d697",
"subscribe_unsubscribed": false,
"unsubscribe_others": false,
"imported_subscribers_count": 178,
"error_count": 565
},
...
],
"links": {
"first": "https://<your-mailcoach-domain>/api/subscriber-imports?page=1",
"last": "https://<your-mailcoach-domain>/api/subscriber-imports?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://<your-mailcoach-domain>/api/subscriber-imports",
"per_page": 15,
"to": 3,
"total": 3
}
}
Get the details of a specific subscriber import
If you want to get the details of a specific subscriber import, you can send a GET
request to the /api/subscriber-imports/<uuid>
endpoint.
$ MAILCOACH_TOKEN="your API token"
$ curl https://<your-mailcoach-domain>/api/subscriber-imports/2ca0e737-b907-468f-819f-5d16e6bd6852 \
-H "Authorization: Bearer $MAILCOACH_TOKEN" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json'
Response:
{
"data": {
"id": 99,
"uuid": "363fb337-7030-4bfd-8f8a-716493bb6c24",
"subscribers_csv": null,
"status": "completed",
"email_list_uuid": "befd416e-a776-40c8-8d26-c3322091d697",
"subscribe_unsubscribed": false,
"unsubscribe_others": false,
"imported_subscribers_count": 178,
"error_count": 565
}
}
Creating a subscriber import
To create an import, send a POST
request to the /api/subscriber-imports
endpoint.
$ MAILCOACH_TOKEN="your API token"
$ curl -x POST https://<your-mailcoach-domain>/api/subscriber-imports \
-H "Authorization: Bearer $MAILCOACH_TOKEN" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{"subscribers_csv":"email\njohn@doe.com", "email_list_uuid": "befd416e-a776-40c8-8d26-c3322091d697", "subscribe_unsubscribed": true, "unsubscribe_others": false}'
All fields are required:
subscribers_csv
: a CSV string with the subscribers’ informationemail_list_uuid
: a valid email list UUIDsubscribe_unsubscribed
: true/false whether previously unsubscribed emails should be subscribed againunsubscribe_others
: true/false whether subscribers not in the CSV should be unsubscribedreplace_tags
: true/false whether all tags should be replaced on the subscribers
If the API call succeeds, you will be given a response with the import’s details:
{
"data": {
"id": 1,
"uuid": "363fb337-7030-4bfd-8f8a-716493bb6c24",
"subscribers_csv": "email\njohn@doe.com",
"status": "draft",
"email_list_uuid": "befd416e-a776-40c8-8d26-c3322091d697",
"subscribe_unsubscribed": true,
"unsubscribe_others": false,
"imported_subscribers_count": null,
"error_count": 0
}
}
Updating a subscriber import
To update an import, send a PUT
request to the /api/subscriber-imports/<uuid>
endpoint.
$ MAILCOACH_TOKEN="your API token"
$ curl -x PUT https://<your-mailcoach-domain>/api/subscriber-imports/2ca0e737-b907-468f-819f-5d16e6bd6852 \
-H "Authorization: Bearer $MAILCOACH_TOKEN" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{"subscribers_csv":"email\njohn@doe.com", "email_list_uuid": "befd416e-a776-40c8-8d26-c3322091d697", "subscribe_unsubscribed": true, "unsubscribe_others": false}'
Fields are the same as in the create endpoint. This endpoint only works if the import has a draft
status.
If the API call succeeds, you will be given a response with the import’s details:
{
"data": {
"id": 1,
"uuid": "363fb337-7030-4bfd-8f8a-716493bb6c24",
"subscribers_csv": "email\njohn@doe.com",
"status": "draft",
"email_list_uuid": "befd416e-a776-40c8-8d26-c3322091d697",
"subscribe_unsubscribed": true,
"unsubscribe_others": false,
"imported_subscribers_count": null,
"error_count": 0
}
}
Delete a subscriber import
To delete a subscriber import, you can send a DELETE
request to the /api/subscriber-imports/<uuid>
endpoint.
$ MAILCOACH_TOKEN="your API token"
$ curl -x DELETE https://<your-mailcoach-domain>/api/subscriber-imports/2ca0e737-b907-468f-819f-5d16e6bd6852 \
-H "Authorization: Bearer $MAILCOACH_TOKEN" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json'
If the API call succeeds, you will be given an empty response with a 204
status code.
Appending to a subscriber import
You can append to the subscribers_csv
field by sending a POST
request to the /api/subscriber-imports/<uuid>/append
endpoint.
This is useful for creating imports with a large amount of subscribers.
$ MAILCOACH_TOKEN="your API token"
$ curl -x POST https://<your-mailcoach-domain>/api/subscriber-imports/2ca0e737-b907-468f-819f-5d16e6bd6852/append \
-H "Authorization: Bearer $MAILCOACH_TOKEN" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json'
-d '{"subscribers_csv":"john2@doe.com"}'
subscribers_csv
is the only required field.
If the API call succeeds, you will be given a response with the import’s details:
{
"data": {
"id": 1,
"uuid": "363fb337-7030-4bfd-8f8a-716493bb6c24",
"subscribers_csv": "email\njohn@doe.com\njohn2@doe.com",
"status": "draft",
"email_list_uuid": "befd416e-a776-40c8-8d26-c3322091d697",
"subscribe_unsubscribed": true,
"unsubscribe_others": false,
"imported_subscribers_count": null,
"error_count": 0
}
}
Starting the import
Once you are ready to start your import, you can send a POST
request to the /api/subscriber-imports/<uuid>/start
endpoint.
$ MAILCOACH_TOKEN="your API token"
$ curl -x POST https://<your-mailcoach-domain>/api/subscriber-imports/2ca0e737-b907-468f-819f-5d16e6bd6852/start \
-H "Authorization: Bearer $MAILCOACH_TOKEN" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json'
This endpoint does not expect a body. The subscriber import should have a draft
status.
If the API call succeeds, you will be given an empty response with a 204
status code.
Error handling
If an error occurs, you will be given a non-HTTP/200 response code. The resulting payload might look like this.
{
"message": "The given data was invalid.",
"errors": {
"name": [
"The name field is required."
]
}
}