---
title: "Get CRM Import Detail"
method: GET
path: "/api/v1/accounts/crm-import/detail"
tags: ["CRM Import"]
---

# Get CRM Import Detail

`GET /api/v1/accounts/crm-import/detail`

Retrieves the full picture of an import: the same summary as the status service plus every buyer account and each of its contacts, each with its own state and (if failed) reason. Use this to see exactly which contacts within an account did or did not migrate. When `request_id` is omitted, the tenant's most recent import is used.

## Query parameters

- `request_id` string

## Response `200`

Full per-account, per-contact import detail.

- CrmImportDetailResponse
  - `request_id` string — ID of the import request.
  - `status` 'RUNNING' | 'COMPLETED' | 'INTERRUPTED' — COMPLETED does not imply zero failures — check the failed count.
  - `total` integer — Number of (de-duplicated) ids in the import.
  - `processed` integer — Number of ids that reached a terminal state (succeeded + failed + skipped).
  - `succeeded` integer — Number of accounts imported.
  - `failed` integer — Number of ids that errored. See failures for reasons.
  - `skipped` integer — Number of ids skipped — already in DealHub, or not found in the CRM.
  - `failures` CrmImportFailure[] — Per-id failures. Empty when nothing failed.
    - `crm_id` string — The buyer-account CRM id that failed.
    - `reason` string — Human-readable failure reason.
  - `accounts` CrmImportAccountResult[] — Per buyer-account results.
    - `crm_id` string — Buyer-account CRM id.
    - `state` 'SUCCEEDED' | 'FAILED' | 'SKIPPED' | 'PENDING'
    - `reason` string, nullable — Failure reason (account level). Present only when state = FAILED.
    - `contacts` CrmImportContactResult[] — Per-contact results for the account.
      - `crm_id` string, nullable — Contact CRM id. Null when the contact has no CRM id (identified by email).
      - `email` string, email — Contact email.
      - `state` 'SUCCEEDED' | 'FAILED'
      - `reason` string, nullable — Failure reason (contact level). Present only when state = FAILED.

## Other responses

- `403` — Unauthenticated.
- `404` — No import found for the tenant (or the given request_id).
- `500` — Unexpected server error.

---

[API](https://skmtc.net/dealhub/apis/quote-api.md) · [All operations](https://skmtc.net/dealhub/apis/quote-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/dealhub/quote-api/revisions/c30f5b9fbfab/schema)
