---
title: "Import job progress"
method: GET
path: "/v1/contacts/import/{id}"
tags: ["Contacts"]
---

# Import job progress

`GET /v1/contacts/import/{id}`

## Request

- Base URL: `https://api.volanea.com`
- URL: `https://api.volanea.com/v1/contacts/import/{id}`
- Auth: HTTP bearer

Progress and final counts for a queued CSV import. Poll until `status` is `done` (counts are final) or `failed` (`failureReason` says why). Counts are recomputed from scratch on every worker attempt, never incremented, so a retried job never double-counts.

## Path parameters

- `id` string, required

## Response `200`

The job's current state.

- object
  - `importJobId` string, required
  - `status` 'queued' | 'processing' | 'done' | 'failed', required
  - `total` integer, required: Data rows in the file.
  - `processed` integer: Rows handled so far.
  - `imported` integer: New contacts created.
  - `updated` integer
  - `skipped` integer
  - `errors` object[]: Up to the first 10 row failures. `skipped` counts them all — do not read this array's length as the failure count.
    - `line` integer
    - `error` string
  - `failureReason` string, nullable: Set only when `status` is `failed`: the job itself died, not one row.

## Other responses

- `401`: Missing or invalid API key.
- `404`: Not found.
- `422`: Request validation failed (code `validation_error`, 422).

---

[API](https://skmtc.dev/volanea/apis/volanea-api.md) · [All operations](https://skmtc.dev/volanea/apis/volanea-api/llms.txt) · [OpenAPI document](https://skmtc.dev/volanea/apis/volanea-api/revisions/9e187ae84fda?raw)
