Start an async contact import

Start an async contact import

POST/api/v1/contacts/imports

POST /contacts/imports
curl -X POST 'https://www.unitpost.com/api/v1/contacts/imports' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'User-Agent: my-app/1.0' \
  -H 'Content-Type: application/json' \
  -d '{ }'
Response · 202
{
  "object": "contact_import",
  "id": "id_123",
  "status": "pending",
  "total": 1,
  "imported": 0,
  "skipped": 0,
  "failed": 0,
  "invalid": [
    {
      "row": 0,
      "reason": "string"
    }
  ],
  "error": "string",
  "created_at": "2026-01-01T00:00:00.000Z",
  "updated_at": "2026-01-01T00:00:00.000Z"
}

Import a batch of contacts (up to 5,000 per request) in the background. The call returns immediately with an import job you poll for progress and per-row results — new contacts are created and existing ones (matched by email) are updated. Track it with Retrieve a contact import, or see all your imports via List contact imports. To add a single contact synchronously, use Create a contact. Requires the contacts:write capability.

Request body1 field
FieldTypeDescription
contactsrequiredobject[]—
Response · 202 fields11 fields
FieldTypeDescription
objectrequiredstring—
idrequiredstring—
statusrequiredenumpending | processing | completed | failed—
totalrequirednumber—
importedrequirednumber—
skippedrequirednumber—
failedrequirednumber—
invalidrequiredobject[]—
errorrequiredobject—
created_atrequiredstring—
updated_atrequiredstring—
202401422

Search docs and guides

Search the docs and product guides.