---
title: "Retrieve a contact import"
method: GET
path: "/contacts/imports/{id}"
tags: ["Contacts"]
---

# Retrieve a contact import

`GET /contacts/imports/{id}`

## Request

- Base URL: `https://www.unitpost.com/api/v1`
- URL: `https://www.unitpost.com/api/v1/contacts/imports/{id}`
- Auth: HTTP bearer

Retrieve a bulk import job by `id` to check its status and per-row results — how many contacts were created, updated, or skipped, and why any rows failed. Poll this while an import runs. Start one with [Start an async contact import](#post-contacts-imports). Requires the `contacts:read` capability.

## Response `200`

The import job.

- ContactImport
  - `object` 'contact_import', required
  - `id` string, required
  - `status` 'pending' | 'processing' | 'completed' | 'failed' | 'canceled', required
  - `total` number, required
  - `imported` number, required
  - `skipped` number, required
  - `failed` number, required
  - `invalid` object[], required
    - `row` number, required
    - `reason` string, required
  - `error` string, nullable, required
  - `created_at` string, required
  - `updated_at` string, required

## Other responses

- `401`: Missing or invalid API key.
- `404`: Import job not found.

---

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