---
title: "Create a contact"
method: POST
path: "/contacts"
tags: ["Contacts"]
---

# Create a contact

`POST /contacts`

Creates a new contact in your Superchat workspace.

## Request body

- PACreateContactDTO
  - `first_name` string, nullable — The first name of the contact
  - `last_name` string, nullable — The last name of the contact
  - `gender` 'male' | 'female' | 'diverse' | 'unknown', nullable — The gender of the contact
  - `handles` PAWriteContactHandleDTO[] — The contact handles to create for this contact
    - `id` string, nullable — The unique identifier of an existing contact handle. Leave null to create a new handle
    - `type` 'mail' | 'phone' — The type of contact handle
    - `value` string — The phone number, email address or username for this contact handle
  - `custom_attributes` union[], nullable — The custom attribute values to assign to this contact
    - union
      - WRITECONTACTATTRIBUTEDATEONLY
        - `id` string — The unique identifier of the contact attribute
        - `value` string, date — The date value to assign to the contact attribute
      - WRITECONTACTATTRIBUTEDATETIME
        - `id` string — The unique identifier of the contact attribute
        - `value` string, date-time — The datetime value to assign to the contact attribute
      - WRITECONTACTATTRIBUTEMULTISELECT
        - `id` string — The unique identifier of the contact attribute
        - `value` string[] — The selected option values to assign to the contact attribute
      - WRITECONTACTATTRIBUTENUMBER
        - `id` string — The unique identifier of the contact attribute
        - `value` number, double — The numeric value to assign to the contact attribute
      - WRITECONTACTATTRIBUTESINGLESELECT
        - `id` string — The unique identifier of the contact attribute
        - `value` string — The selected option value to assign to the contact attribute
      - WRITECONTACTATTRIBUTESTRING
        - `id` string — The unique identifier of the contact attribute
        - `value` string — The text value to assign to the contact attribute

## Response `200`

OK

- PAContactDTO
  - `id` string — The unique identifier of the contact
  - `first_name` string, nullable — The first name of the contact
  - `last_name` string, nullable — The last name of the contact
  - `gender` 'male' | 'female' | 'diverse' | 'unknown', nullable — The gender of the contact
  - `handles` PAContactHandleDTO[] — The contact handles of this contact
    - `id` string — The unique identifier of the contact handle
    - `type` 'phone' | 'mail' | 'facebook_messenger' | 'instagram' | 'telegram' | 'live_chat' | 'google_business_messaging' | 'whats_app_username'
    - `value` string — The phone number, email address or username stored in this contact handle
  - `custom_attributes` union[] — The contact attributes of this contact
    - union
      - CONTACTATTRIBUTEVALUETEXT
        - `id` string — The unique identifier of the contact attribute
        - `name` string — The name of the contact attribute
        - `type` 'number' | 'text' | 'datetime' | 'dateonly' | 'single_select' | 'multi_select'
        - `url` string — The URL of the contact attribute resource
        - `value` string — The text value of the contact attribute
      - CONTACTATTRIBUTEVALUENUMBER
        - `id` string — The unique identifier of the contact attribute
        - `name` string — The name of the contact attribute
        - `type` 'number' | 'text' | 'datetime' | 'dateonly' | 'single_select' | 'multi_select'
        - `url` string — The URL of the contact attribute resource
        - `value` number, double — The numeric value of the contact attribute
      - CONTACTATTRIBUTEVALUEDATEONLY
        - `id` string — The unique identifier of the contact attribute
        - `name` string — The name of the contact attribute
        - `type` 'number' | 'text' | 'datetime' | 'dateonly' | 'single_select' | 'multi_select'
        - `url` string — The URL of the contact attribute resource
        - `value` string, date — The date value of the contact attribute
      - CONTACTATTRIBUTEVALUEDATETIME
        - `id` string — The unique identifier of the contact attribute
        - `name` string — The name of the contact attribute
        - `type` 'number' | 'text' | 'datetime' | 'dateonly' | 'single_select' | 'multi_select'
        - `url` string — The URL of the contact attribute resource
        - `value` string, date-time — The datetime value of the contact attribute
      - CONTACTATTRIBUTEVALUESINGLESELECT
        - `id` string — The unique identifier of the contact attribute
        - `name` string — The name of the contact attribute
        - `type` 'number' | 'text' | 'datetime' | 'dateonly' | 'single_select' | 'multi_select'
        - `url` string — The URL of the contact attribute resource
        - `value` string — The selected option value of the contact attribute
      - CONTACTATTRIBUTEVALUEMULTISELECT
        - `id` string — The unique identifier of the contact attribute
        - `name` string — The name of the contact attribute
        - `type` 'number' | 'text' | 'datetime' | 'dateonly' | 'single_select' | 'multi_select'
        - `url` string — The URL of the contact attribute resource
        - `value` string[] — The selected option values of the contact attribute
  - `url` string — The URL of the contact resource
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

---

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