Import vCards
text/vcard or text/x-vcard, UTF-8 encoded, and at most 10 MiB containing up to 2,500 cards. Split larger imports into separate requests.
Each card has its own result, so a failed card does not prevent the others from importing. Accepted batches return 200 OK, with partial failures reported in error_count and the per-card results list.
A card matching one eligible suggested contact saves it when imported with admin credentials. Agent imports report an identifier conflict instead. Omitted non-name profile fields, memories, and existing identifiers are preserved. Exports include only the caller’s permitted identifiers and profile fields.
Request headers
Response (200)
Error responses
Code examples
Preview an import
vcard string containing at most 10 MiB of UTF-8 text and 2,500 cards.
cURL
Response (200)
To ensure the import matches your preview, send the same vCard text to Import vCards with
X-VCard-Preview-Hash set to preview_hash. If the text or conflicts change, import returns 409; run the preview again.
An oversized vCard returns 413. Invalid content, an empty batch, or too many cards returns 422.
Export multiple contacts
contact_ids. Duplicate IDs are exported once, in first-occurrence order.
cURL
Response (200)
A missing or inaccessible contact returns
404. An export larger than 1,000,000 UTF-8 bytes returns 413. Invalid IDs, an empty list, or more than 25 IDs return 422.
Export vCard
text/vcard; charset=utf-8 file. The response includes a Content-Disposition: attachment header with a filename derived from the contact’s preferred_name.

