Skip to main content
POST /v1/contacts/bulk imports 1 to 10,000 contacts and answers when it’s done, with counts and one result per contact. Every plan can use it. Contacts are matched to existing ones by phone, then email. By default, only empty fields on a match are filled. Send "overwriteExisting": true to overwrite filled ones. tagIds adds tags to every imported contact. Every id must be a tag in the workspace, or the request gets a 400 listing the unknown ids and nothing is imported. The response’s tagsAttached counts the tag links added. tagAttachError is true when the contacts imported but adding the tags failed. The request body can be up to 16 MB, which is about 10,000 typical contacts. A larger body gets a 413.
  • dnd: true turns Do Not Disturb on.
  • Bulk import never turns DND off: dnd: false is ignored. Use update for that.
  • Custom field values use the field’s id: "customFields": [{ "fieldId": "...", "value": "Website" }].
Response