Retry a contact import
POST/api/v1/contacts/imports/{id}/retry
POST /contacts/imports/{id}/retry
curl -X POST 'https://www.unitpost.com/api/v1/contacts/imports/imp_123/retry' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'User-Agent: my-app/1.0'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"
}Re-run a failed import from the rows stored on the job, without uploading them again. Rows that landed in the failed run are skipped as duplicates, so a retry only adds what is missing. Any other state is a 409 (a second retry while the first runs finds the job pending), and so is a job whose rows are no longer kept: start a new import. Same rate limit as starting an import. No body; track it with Retrieve a contact import. Requires the contacts:write capability.
Parameters1 field
| Field | Type | Description |
|---|---|---|
idrequired | string · path | — |
Response · 202 fields11 fields
| Field | Type | Description |
|---|---|---|
objectrequired | string | — |
idrequired | string | — |
statusrequired | enumpending | processing | completed | failed | canceled | — |
totalrequired | number | — |
importedrequired | number | — |
skippedrequired | number | — |
failedrequired | number | — |
invalidrequired | object[] | — |
errorrequired | string | null | — |
created_atrequired | string | — |
updated_atrequired | string | — |
202400401403404409422429502