API reference
POSTRequires Bearer token
Import contacts from CSV
/api/contacts/imports/csv
Multipart. Returns 202 { "job_id": "<uuid>" }. Poll GET /api/contacts/imports/{job_id} (queued → running → done / failed).
mapping is a JSON object (string in multipart) from contact field → CSV column. Suggested headers: first name / prénom, last name / nom, email, phone, title / fonction, company / entreprise.
Rows without email are inserted with extra.possible_duplicate: true.
Path parameters
This endpoint has no path parameters.
Query parameters
This endpoint has no query parameters.
Request body
Send as multipart/form-data.
| Field | Type | Description |
|---|---|---|
file Required | string | CSV file. e.g. "example" |
mapping Required | object | Required column mapping (first_name, last_name, email, phone, title, company).e.g. {"first_name":"First Name","last_name":"Last Name","email":"Email","phone":"Phone","title":"Title","company":"Company"} |
visibility | string | private or org for imported rows.e.g. "private" |
Responses
| Status | Meaning |
|---|---|
| 202 | See the example response. |
| 401 | Missing or invalid Bearer token. |