---
title: "Bulk creates, or bulk updates, contacts. The ID of returned object can be used to query import progress."
method: POST
path: "/v2/contacts/import-collection"
tags: ["ApiContactImport"]
---

# Bulk creates, or bulk updates, contacts. The ID of returned object can be used to query import progress.

`POST /v2/contacts/import-collection`

## Request body

- ApiContactImportCollection
  - `contacts` ApiContactForBulkImport[], nullable
    - `id` integer
    - `email` string, required
    - `optInType` 'Unknown' | 'Single' | 'Double' | 'VerifiedDouble' | 'NotAvailableInThisVersion'
    - `emailType` 'PlainText' | 'Html' | 'NotAvailableInThisVersion'
    - `dataFields` ApiContactData[], nullable
      - `key` string, nullable
      - `value` unknown
    - `status` 'Subscribed' | 'Unsubscribed' | 'SoftBounced' | 'HardBounced' | 'IspComplained' | 'MailBlocked' | 'PendingOptIn' | 'DirectComplaint' | 'Deleted' | 'SharedSuppression' | 'Suppressed' | 'NotAllowed' | 'DomainSuppression' | 'NoMxRecord' | 'NotAvailableInThisVersion'
    - `consentFields` ApiContactData[], nullable
      - `key` string, nullable
      - `value` unknown
    - `mobileNumberId` string, nullable
  - `addressBookIds` integer[], nullable
  - `mergeOption` 'Overwrite' | 'OnlyOverwriteIfNotEmpty' | 'OnlyOverwriteIfContactDataNotPopulated' | 'NotAvailableInThisVersion'

## Response `202`

- ApiContactImport
  - `id` string, guid
  - `status` 'Finished' | 'NotFinished' | 'RejectedByWatchdog' | 'InvalidFileFormat' | 'Unknown' | 'Failed' | 'ExceedsAllowedContactLimit' | 'NotAvailableInThisVersion'

---

[API](https://skmtc.net/dotdigital/apis/apiconnector-com.md) · [All operations](https://skmtc.net/dotdigital/apis/apiconnector-com/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/dotdigital/apiconnector-com/revisions/109c0537cf77/schema)
