---
title: "Create Custom Field"
method: POST
path: "/v1/custom-fields/"
tags: ["custom-fields", "public"]
---

# Create Custom Field

`POST /v1/custom-fields/`

Create a custom field.

**Scopes**: `custom_fields:write`

## Request body

- union
  - CustomFieldCreateText — Schema to create a custom field of type text.
    - `metadata` object — Key-value object allowing you to store additional information. The key must be a string with a maximum length of **40 characters**. The value must be either: * A string with a maximum length of **500 characters** * An integer * A floating-point number * A boolean You can store up to **50 key-value pairs**.
    - `type` 'text', required
    - `slug` string, required — Identifier of the custom field. It'll be used as key when storing the value. Must be unique across the organization.It can only contain ASCII letters, numbers and hyphens.
    - `name` string, required — Name of the custom field.
    - `organization_id` string, uuid4, nullable — The organization ID.
    - `properties` CustomFieldTextProperties, required
      - `form_label` string
      - `form_help_text` string
      - `form_placeholder` string
      - `textarea` boolean
      - `min_length` integer
      - `max_length` integer
  - CustomFieldCreateNumber — Schema to create a custom field of type number.
    - `metadata` object — Key-value object allowing you to store additional information. The key must be a string with a maximum length of **40 characters**. The value must be either: * A string with a maximum length of **500 characters** * An integer * A floating-point number * A boolean You can store up to **50 key-value pairs**.
    - `type` 'number', required
    - `slug` string, required — Identifier of the custom field. It'll be used as key when storing the value. Must be unique across the organization.It can only contain ASCII letters, numbers and hyphens.
    - `name` string, required — Name of the custom field.
    - `organization_id` string, uuid4, nullable — The organization ID.
    - `properties` CustomFieldNumberProperties, required
      - `form_label` string
      - `form_help_text` string
      - `form_placeholder` string
      - `ge` integer
      - `le` integer
  - CustomFieldCreateDate — Schema to create a custom field of type date.
    - `metadata` object — Key-value object allowing you to store additional information. The key must be a string with a maximum length of **40 characters**. The value must be either: * A string with a maximum length of **500 characters** * An integer * A floating-point number * A boolean You can store up to **50 key-value pairs**.
    - `type` 'date', required
    - `slug` string, required — Identifier of the custom field. It'll be used as key when storing the value. Must be unique across the organization.It can only contain ASCII letters, numbers and hyphens.
    - `name` string, required — Name of the custom field.
    - `organization_id` string, uuid4, nullable — The organization ID.
    - `properties` CustomFieldDateProperties, required
      - `form_label` string
      - `form_help_text` string
      - `form_placeholder` string
      - `ge` integer
      - `le` integer
  - CustomFieldCreateCheckbox — Schema to create a custom field of type checkbox.
    - `metadata` object — Key-value object allowing you to store additional information. The key must be a string with a maximum length of **40 characters**. The value must be either: * A string with a maximum length of **500 characters** * An integer * A floating-point number * A boolean You can store up to **50 key-value pairs**.
    - `type` 'checkbox', required
    - `slug` string, required — Identifier of the custom field. It'll be used as key when storing the value. Must be unique across the organization.It can only contain ASCII letters, numbers and hyphens.
    - `name` string, required — Name of the custom field.
    - `organization_id` string, uuid4, nullable — The organization ID.
    - `properties` CustomFieldCheckboxProperties, required
      - `form_label` string
      - `form_help_text` string
      - `form_placeholder` string
  - CustomFieldCreateSelect — Schema to create a custom field of type select.
    - `metadata` object — Key-value object allowing you to store additional information. The key must be a string with a maximum length of **40 characters**. The value must be either: * A string with a maximum length of **500 characters** * An integer * A floating-point number * A boolean You can store up to **50 key-value pairs**.
    - `type` 'select', required
    - `slug` string, required — Identifier of the custom field. It'll be used as key when storing the value. Must be unique across the organization.It can only contain ASCII letters, numbers and hyphens.
    - `name` string, required — Name of the custom field.
    - `organization_id` string, uuid4, nullable — The organization ID.
    - `properties` CustomFieldSelectProperties, required
      - `form_label` string
      - `form_help_text` string
      - `form_placeholder` string
      - `options` CustomFieldSelectOption[], required
        - `value` string, required
        - `label` string, required

## Response `201`

Custom field created.

- union
  - CustomFieldText — Schema for a custom field of type text.
    - `created_at` string, date-time, required — Creation timestamp of the object.
    - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
    - `id` string, uuid4, required — The ID of the object.
    - `metadata` MetadataOutputType, required
    - `type` 'text', required
    - `slug` string, required — Identifier of the custom field. It'll be used as key when storing the value.
    - `name` string, required — Name of the custom field.
    - `organization_id` string, uuid4, required — The ID of the organization owning the custom field.
    - `properties` CustomFieldTextProperties, required
      - `form_label` string
      - `form_help_text` string
      - `form_placeholder` string
      - `textarea` boolean
      - `min_length` integer
      - `max_length` integer
  - CustomFieldNumber — Schema for a custom field of type number.
    - `created_at` string, date-time, required — Creation timestamp of the object.
    - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
    - `id` string, uuid4, required — The ID of the object.
    - `metadata` MetadataOutputType, required
    - `type` 'number', required
    - `slug` string, required — Identifier of the custom field. It'll be used as key when storing the value.
    - `name` string, required — Name of the custom field.
    - `organization_id` string, uuid4, required — The ID of the organization owning the custom field.
    - `properties` CustomFieldNumberProperties, required
      - `form_label` string
      - `form_help_text` string
      - `form_placeholder` string
      - `ge` integer
      - `le` integer
  - CustomFieldDate — Schema for a custom field of type date.
    - `created_at` string, date-time, required — Creation timestamp of the object.
    - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
    - `id` string, uuid4, required — The ID of the object.
    - `metadata` MetadataOutputType, required
    - `type` 'date', required
    - `slug` string, required — Identifier of the custom field. It'll be used as key when storing the value.
    - `name` string, required — Name of the custom field.
    - `organization_id` string, uuid4, required — The ID of the organization owning the custom field.
    - `properties` CustomFieldDateProperties, required
      - `form_label` string
      - `form_help_text` string
      - `form_placeholder` string
      - `ge` integer
      - `le` integer
  - CustomFieldCheckbox — Schema for a custom field of type checkbox.
    - `created_at` string, date-time, required — Creation timestamp of the object.
    - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
    - `id` string, uuid4, required — The ID of the object.
    - `metadata` MetadataOutputType, required
    - `type` 'checkbox', required
    - `slug` string, required — Identifier of the custom field. It'll be used as key when storing the value.
    - `name` string, required — Name of the custom field.
    - `organization_id` string, uuid4, required — The ID of the organization owning the custom field.
    - `properties` CustomFieldCheckboxProperties, required
      - `form_label` string
      - `form_help_text` string
      - `form_placeholder` string
  - CustomFieldSelect — Schema for a custom field of type select.
    - `created_at` string, date-time, required — Creation timestamp of the object.
    - `modified_at` string, date-time, nullable, required — Last modification timestamp of the object.
    - `id` string, uuid4, required — The ID of the object.
    - `metadata` MetadataOutputType, required
    - `type` 'select', required
    - `slug` string, required — Identifier of the custom field. It'll be used as key when storing the value.
    - `name` string, required — Name of the custom field.
    - `organization_id` string, uuid4, required — The ID of the organization owning the custom field.
    - `properties` CustomFieldSelectProperties, required
      - `form_label` string
      - `form_help_text` string
      - `form_placeholder` string
      - `options` CustomFieldSelectOption[], required
        - `value` string, required
        - `label` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/polar/apis/polar-api.md) · [All operations](https://skmtc.net/polar/apis/polar-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/polar/polar-api/versions/964f974aceff/schema)
