---
title: "Preview bulk contact creation"
method: POST
path: "/orgs/contacts/bulk/dry"
tags: ["Contacts"]
---

# Preview bulk contact creation

`POST /orgs/contacts/bulk/dry`

## Request

- Base URL: `https://api.useinvent.com`
- URL: `https://api.useinvent.com/orgs/contacts/bulk/dry`
- Auth: HTTP bearer

Dry run create multiple contacts for the organization in bulk.

## Request body

- CreateContactsSchema: Schema for creating multiple contacts
  - `segment_ids` string[]: Segment ids to add the imported contacts to (max 10).
  - `channels` ContactChannelOptionSchema[], required
    - `user_id` string: The user ID of the contact channel
    - `name` string, nullable: The name for the contact channel (e.g. John Doe)
    - `email` string: The email for the contact channel (e.g. user@example.com)
    - `phone` string: The phone number for the contact channel (e.g. +1234567890)
    - `contact_id` string: The ID of the contact used only for dry run response, ignored in the request
    - `fields` object: Map of contact field key → value to set on the contact after creation/match. Pass null/[] to clear.

## Response `200`

- ContactsImportedDryRunSchema: Schema for the created and updated contacts
  - `created` ContactChannelOptionSchema[], required
    - `user_id` string: The user ID of the contact channel
    - `name` string, nullable: The name for the contact channel (e.g. John Doe)
    - `email` string: The email for the contact channel (e.g. user@example.com)
    - `phone` string: The phone number for the contact channel (e.g. +1234567890)
    - `contact_id` string: The ID of the contact used only for dry run response, ignored in the request
    - `fields` object: Map of contact field key → value to set on the contact after creation/match. Pass null/[] to clear.
  - `updated` ContactChannelOptionSchema[], required
    - `user_id` string: The user ID of the contact channel
    - `name` string, nullable: The name for the contact channel (e.g. John Doe)
    - `email` string: The email for the contact channel (e.g. user@example.com)
    - `phone` string: The phone number for the contact channel (e.g. +1234567890)
    - `contact_id` string: The ID of the contact used only for dry run response, ignored in the request
    - `fields` object: Map of contact field key → value to set on the contact after creation/match. Pass null/[] to clear.
  - `invalid` ContactChannelInvalidSchema[], required
    - `index` number, required: Position of the channel in the submitted array
    - `channel` ContactChannelOptionSchema, required: Schema for creating a contact channel option
      - `user_id` string: The user ID of the contact channel
      - `name` string, nullable: The name for the contact channel (e.g. John Doe)
      - `email` string: The email for the contact channel (e.g. user@example.com)
      - `phone` string: The phone number for the contact channel (e.g. +1234567890)
      - `contact_id` string: The ID of the contact used only for dry run response, ignored in the request
      - `fields` object: Map of contact field key → value to set on the contact after creation/match. Pass null/[] to clear.
    - `reason` 'INVALID_EMAIL' | 'INVALID_PHONE' | 'MISSING_IDENTIFIER' | 'DUPLICATE_IN_FILE', required: Why an imported channel was rejected

---

[API](https://skmtc.dev/useinvent/apis/invent-api.md) · [All operations](https://skmtc.dev/useinvent/apis/invent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/useinvent/apis/invent-api/revisions/98824f3fde82?raw)
