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

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

`POST /v2/address-books/{addressBookId}/contacts/import`

## Request

- Base URL: `https://api.dotdigital.com`
- URL: `https://api.dotdigital.com/v2/address-books/{addressBookId}/contacts/import`
- Auth: none declared
- TypeScript: <https://skmtc.dev/dotdigital/apis/apiconnector-com/docs/v2/address-books/:addressBookId/contacts/import/post.ts> (a function with typed inputs; its response is checked against the schema)

Import format can either be CSV or Excel. Must include one column called "Email". Any other columns will attempt to map to your custom data fields.

## Path parameters

- `addressBookId` integer, required

## Request body

- ApiFileMedia
  - `fileName` string, nullable
  - `data` string, byte, nullable

## Response `202`

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

---

[API](https://skmtc.dev/dotdigital/apis/apiconnector-com.md) - [All operations](https://skmtc.dev/dotdigital/apis/apiconnector-com/llms.txt) - [OpenAPI document](https://skmtc.dev/dotdigital/apis/apiconnector-com/revisions/391b93e8d24a?raw)
