Add up to 100 contacts to a list
Adds 1 to 100 contacts in one call. Each item of contacts is the same flat object as in POST /lists/list/{listId}/contacts, with the same key resolution, custom variable creation, duplicate rules and updateIfExists behaviour (read that endpoint first).
Rows are processed one after the other and independently: a failing row is reported in results with its index and an error message and does not stop the others. A row repeating an email or LinkedIn URL already seen earlier in the same batch is counted as a duplicate of that earlier row and is never updated, even with updateIfExists=true.
Counters: created + duplicates + failed = total, and updated is a subset of duplicates. The body must be an object with a contacts array, not a bare array. Split larger loads into several calls of 100.
Authorization
apiKey Your 48 character API key, sent as is (a Bearer prefix is tolerated). Create it at https://v3.emelia.io/settings/api.
In: header
Path Parameters
List id.
^[0-9a-fA-F]{24}$Query Parameters
Only the exact string true enables it. Applies to every row.
"false"Value in
- "true"
- "false"
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/lists/list/65f1a2b3c4d5e6f760f68df4/contacts/batch" \ -H "Authorization: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "contacts": [ { "firstName": "John", "lastName": "Doe", "email": "john.doe@acme.com", "companyName": "Acme" }, { "firstName": "Jane", "lastName": "Roe", "email": "jane.roe@acme.com", "companyName": "Acme", "icebreaker": "Congrats on the new office" } ] }'{ "success": true, "total": 3, "created": 1, "duplicates": 1, "updated": 0, "failed": 1, "results": [ { "index": 0, "leadId": "66f2a1b2c3d4e5f6a7b8c9d0", "companyId": "66f2a1b2c3d4e5f6a7b8c9e0", "duplicate": true, "updated": false }, { "index": 1, "leadId": "66f2a1b2c3d4e5f6a7b8c9d1", "companyId": "66f2a1b2c3d4e5f6a7b8c9e1", "duplicate": false, "updated": false }, { "index": 2, "error": "Field \"tags\" must be a string, number or boolean" } ], "createdCustomVariables": []}