---
title: "Create Custom Field"
method: POST
path: "/custom_fields"
tags: ["Custom Fields"]
---

# Create Custom Field

`POST /custom_fields`

## Request

- Base URL: `https://api.upflow.io/v1`
- URL: `https://api.upflow.io/v1/custom_fields`
- 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 custom field.

## Request body

- CustomFieldAttribs: Attributes for defining a custom field.
  - `externalId` string, required: Custom field external identifier.
  - `label` string, required: Custom field label displayed in the UI.
  - `description` string, nullable: Custom field description.
  - `dataType` 'STRING' | 'BOOLEAN' | 'FLOAT' | 'DATE' | 'DATETIME' | 'SELECT' | 'MULTI_SELECT', required: Data type of the custom field.
  - `entityType` 'CUSTOMER' | 'INVOICE' | 'CONTACT', required: The type of entity the custom field applies to.

## Response `201`

Custom Field Created

- CustomField: Attributes for defining a custom field.
  - `externalId` string, required: Custom field external identifier.
  - `label` string, required: Custom field label displayed in the UI.
  - `description` string, nullable: Custom field description.
  - `dataType` 'STRING' | 'BOOLEAN' | 'FLOAT' | 'DATE' | 'DATETIME' | 'SELECT' | 'MULTI_SELECT', required: Data type of the custom field.
  - `entityType` 'CUSTOMER' | 'INVOICE' | 'CONTACT', required: The type of entity the custom field applies to.
  - `id` string, uuid, required: The Custom Field ID.
  - `source` string, nullable: Source of the custom field definition.

## Other responses

- `400`: Invalid Data Provided

---

[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)
