---
title: "Import"
method: POST
path: "/contacts/import"
tags: ["contacts"]
---

# Import

`POST /contacts/import`

## Request

- Base URL: `https://api.instruxi.dev/api/v1/enforcer`
- URL: `https://api.instruxi.dev/api/v1/enforcer/contacts/import`
- Auth: one of:
  - API key in header `Authorization`
  - API key in header `X-API-Key`

Bulk-creates LINKED contacts from a list of account ids (ids in the body). Never fails as a batch: the response reports imported, skipped (already a contact — not an error), and failed (with a per-id reason in errors), so a caller can retry only the failures.

## Request body

- InternalDeliveryHttpHandlerIDsRequest
  - `ids` string[]

## Response `200`

OK

- InternalDeliveryHttpHandlerContactImportResponse
  - `data` EnforcerV3InternalUsecaseContactsImportResult
    - `errors` EnforcerV3InternalUsecaseContactsImportFieldError[]
      - `account_id` string
      - `error` string
    - `failed` integer
    - `imported` integer
    - `skipped` integer: already a contact
  - `success` boolean

## Other responses

- `400`: Bad Request
- `401`: Unauthorized

---

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