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

# Import contacts

`POST /v1/contacts/import`

## Request

- Base URL: `https://api.vicem.ai`
- URL: `https://api.vicem.ai/v1/contacts/import`
- Auth: HTTP bearer

## Request body

- union
  - ImportContactsBody
    - `contacts` ImportEntry[], required
      - `name` string, required
      - `phones` E164[]
      - `emails` string[]
      - `urgent` boolean
    - `source` 'phone' | 'google' | 'microsoft'
  - ImportPreviewBody
    - `preview` object, required
      - `source` 'google' | 'microsoft', required
      - `connectionId` string, required
  - ImportSyncBody
    - `sync` object, required
      - `source` 'google' | 'microsoft', required
      - `connectionId` string, required
  - ImportSourcesBody
    - `sources` true, required

## Response `200`

OK

- union
  - ImportSummaryRes
    - `created` integer, required
    - `merged` integer, required
    - `skipped` integer, required
  - ImportPreviewRes
    - `candidates` ImportCandidate[], required
      - `name` string, required
      - `phones` E164[], required
      - `emails` string[], required
      - `known` boolean, required
      - `contactId` string
    - `truncated` boolean, required
  - ImportSourcesRes
    - `sources` object[], required
      - `contactId` string, required
      - `sources` ContactSource[], required

## Other responses

- `400`: Invalid request (body not JSON, or schema validation failed).
- `401`: Missing, expired or invalid bearer token.
- `413`: Body over the limit (64 KB; 512 KB for contact import).
- `500`: Unexpected server error (reported to Sentry).

---

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