Skip to content

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.

FieldTypeRequiredDescription
import_idstringyesThe import_id returned by parse-csv.
mappingobjectnoOverride the AI-suggested mapping. Keys are canonical fields; values are CSV column names.
email_extrasstring[]noAdditional email columns to merge into the contact’s emails array.
phone_extrasstring[]noAdditional phone columns.
Terminal window
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"
}
}'
{
"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.