---
title: "Create Customer Contact"
method: POST
path: "/customers/{customer_id}/contacts"
tags: ["Contacts"]
---

# Create Customer Contact

`POST /customers/{customer_id}/contacts`

## Request

- Base URL: `https://api.upflow.io/v1`
- URL: `https://api.upflow.io/v1/customers/{customer_id}/contacts`
- Auth: API key in header `X-Api-Key` and API key in header `X-Api-Secret`

This endpoint can be used to create a new contact for a specific customer.

## Request body

- ContactAttribs: Attributes for creating or updating a contact.
  - `firstName` string: Contact first name.
  - `lastName` string: Contact last name.
  - `phone` string: Contact phone number.
  - `email` string, email, required: Contact email (must be unique).
  - `position` string: Contact position label.
  - `externalId` string: Contact custom external identifier.
  - `isMain` boolean: Indicates if this is the main contact for the customer.
  - `customFields` CustomFieldValueAttribs[]: List of contact's custom fields values.
    - `id` string, uuid, nullable: The Custom Field ID.
    - `externalId` string, nullable: Custom field external identifier.
    - `value` union: The value of the custom field. Can be a primitive (string, integer, boolean), a single object for SELECT types, an array of objects for MULTI_SELECT types.
      - integer: Integer value.
      - string: String value (could also be date-time or date).
      - boolean: Boolean value.
      - CustomFieldValueOption
        - `externalId` string, nullable: External identifier for the option.
        - `label` string, required: Display label for the option.
      - CustomFieldValueOption[]: Value for MULTI_SELECT type.
        - `externalId` string, nullable: External identifier for the option.
        - `label` string, required: Display label for the option.

## Response `201`

Contact Created

- Contact: Attributes for creating or updating a contact.
  - `firstName` string: Contact first name.
  - `lastName` string: Contact last name.
  - `phone` string: Contact phone number.
  - `email` string, email, required: Contact email (must be unique).
  - `position` string: Contact position label.
  - `externalId` string: Contact custom external identifier.
  - `isMain` boolean: Indicates if this is the main contact for the customer.
  - `customFields` CustomFieldValueAttribs[]: List of contact's custom fields values.
    - `id` string, uuid, nullable: The Custom Field ID.
    - `externalId` string, nullable: Custom field external identifier.
    - `value` union: The value of the custom field. Can be a primitive (string, integer, boolean), a single object for SELECT types, an array of objects for MULTI_SELECT types.
      - integer: Integer value.
      - string: String value (could also be date-time or date).
      - boolean: Boolean value.
      - CustomFieldValueOption
        - `externalId` string, nullable: External identifier for the option.
        - `label` string, required: Display label for the option.
      - CustomFieldValueOption[]: Value for MULTI_SELECT type.
        - `externalId` string, nullable: External identifier for the option.
        - `label` string, required: Display label for the option.
  - `id` string, uuid, required: The contact ID.
  - `positionId` string, uuid, nullable: The custom contact position ID.
  - `createdAt` string, date-time: The date at which the contact was created (ISO 8601 format).

---

[API](https://skmtc.dev/upflow/apis/upflow-api.md) - [All operations](https://skmtc.dev/upflow/apis/upflow-api/llms.txt) - [OpenAPI document](https://skmtc.dev/upflow/apis/upflow-api/revisions/898a98ca0587?raw)
