---
title: "Create New Contact"
method: POST
path: "/campaigns/v1/contacts"
tags: ["Contacts"]
---

# Create New Contact

`POST /campaigns/v1/contacts`

Create a new contact for the team.
- **body**: The contact data including first_name, last_name, phone_number, and optional email and dob.

## Request body

- ContactCreateRequest
  - `first_name` string, required — Contact's first name
  - `last_name` string, required — Contact's last name
  - `phone_number` string, required — Contact's phone number
  - `email` string, nullable — Contact's email address
  - `dob` string, nullable — Contact's date of birth in YYYY-MM-DD format
  - `notification_preferences` NotificationPreferences — Notification preferences
    - `call` ChannelPreference
      - `enabled` boolean — Whether this channel is opted in
      - `dnd` DNDEntry[], nullable — Per-resource DND settings keyed by resource ID
        - `sourceId` string, required — Source ID that set the DND
        - `enabled` boolean, required — Whether DND is active for this resource
        - `sourceType` 'team' | 'assistant' | 'campaign' | 'workflow' | 'other', required
        - `sourceName` string, required — Source name that set the DND
        - `reason` string, required — Reason for setting DND
        - `until` string, date-time, nullable — DND expiry time; None means indefinite
    - `sms` ChannelPreference
      - `enabled` boolean — Whether this channel is opted in
      - `dnd` DNDEntry[], nullable — Per-resource DND settings keyed by resource ID
        - `sourceId` string, required — Source ID that set the DND
        - `enabled` boolean, required — Whether DND is active for this resource
        - `sourceType` 'team' | 'assistant' | 'campaign' | 'workflow' | 'other', required
        - `sourceName` string, required — Source name that set the DND
        - `reason` string, required — Reason for setting DND
        - `until` string, date-time, nullable — DND expiry time; None means indefinite
    - `email` ChannelPreference
      - `enabled` boolean — Whether this channel is opted in
      - `dnd` DNDEntry[], nullable — Per-resource DND settings keyed by resource ID
        - `sourceId` string, required — Source ID that set the DND
        - `enabled` boolean, required — Whether DND is active for this resource
        - `sourceType` 'team' | 'assistant' | 'campaign' | 'workflow' | 'other', required
        - `sourceName` string, required — Source name that set the DND
        - `reason` string, required — Reason for setting DND
        - `until` string, date-time, nullable — DND expiry time; None means indefinite

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/interactly/apis/interactly-api-2.md) · [All operations](https://skmtc.dev/interactly/apis/interactly-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/interactly/interactly-api-2/revisions/a9901c64edf4/schema)
