- Bulk delete contacts
You can delete contacts in bulk by submitting an array of contact ids.
The endpoint creates an async job that processes the deletes in the background. Use the returned job ID with GET /contacts/bulk/{id} to check the job status.
A contact that doesn't exist, or can't be deleted, fails that item and the job's state ends as completed_with_errors (visible via GET /contacts/bulk/{id}) without failing the rest of the batch.
- Maximum of 1,000 contacts per request.
- You can append tasks to an existing job by including
job.idin the request body.
Requires the read_write_users or write_users_companies OAuth scope.
Intercom API version.
If you omit the header, the API uses the version set in your app package, and 1.0 if none is set.
- The production API serverhttps://api.intercom.io/contacts/bulk/delete
- The european API serverhttps://api.eu.intercom.io/contacts/bulk/delete
- The australian API serverhttps://api.au.intercom.io/contacts/bulk/delete
- Successful
- Append to existing job
curl -i -X POST \
https://api.intercom.io/contacts/bulk/delete \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Intercom-Version: Preview' \
-d '{
"contacts": [
{
"id": "abc123"
},
{
"id": "def456"
}
]
}'Accepted
The current state of the job.
The time the job was last updated as a Unix timestamp.
The time the most recent task completed as a Unix timestamp. Set as soon as any task completes, so check state to know whether the whole job has finished. Null until a task completes.
{ "id": "job_v2_3", "type": "contacts.bulk.job", "state": "running", "created_at": 1713360000, "updated_at": 1713360060, "completed_at": null, "tasks": [ { … } ], "url": "https://api.intercom.io/contacts/bulk/job_v2_3" }