Import CSV
POST /lists/{id}/import
Confirm the column mapping returned by /parse-csv and queue the import as a background job. The endpoint returns immediately — poll /imports/:id to track progress.
Body parameters
Section titled “Body parameters”| Field | Type | Required | Description |
|---|---|---|---|
import_id | string | yes | The import_id returned by parse-csv. |
mapping | object | no | Override the AI-suggested mapping. Keys are canonical fields; values are CSV column names. |
email_extras | string[] | no | Additional email columns to merge into the contact’s emails array. |
phone_extras | string[] | no | Additional phone columns. |
Example
Section titled “Example”curl -X POST https://mail.3ava.com/api/lists/list_a1b2.../import \ -H "Authorization: Bearer am_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "import_id": "imp_z9y8...", "mapping": { "phone": "Mobile", "custom_fields.state": "State" } }'Response
Section titled “Response”{ "id": "imp_z9y8...", "status": "importing", "total_rows": 21034, "imported_rows": 0, "skipped_rows": 0, "created_at": "2026-04-22T22:30:00Z"}Poll GET /lists/{list_id}/imports/{import_id} to track progress; status becomes completed when done.