---
title: "Create custom fields"
method: POST
path: "/users/v1/custom-fields"
tags: ["Users:v1:Custom Fields"]
---

# Create custom fields

`POST /users/v1/custom-fields`

Create individual or multiple custom fields associated with the account under a specific category.

## Request body

- BodyCreateCustomFieldsUsersV1CustomFieldsPost
  - `customFields` union[], required — The custom fields.
    - union
      - DropdownCustomFieldCreateRequest
        - `name` string, required — The name of the custom field
        - `isRequired` boolean, required — Indicates whether the custom field is required
        - `categoryId` integer, required — The unique identifier of the custom field category
        - `isVisibleToAllAdmins` boolean, required — Indicates whether the custom field is visible to all admins
        - `viewAccessAdminIds` integer[] — A list of unique identifiers of the admins who will be granted access to view this custom field, owners can always see all custom fields. Applicable only to custom fields that are not visible to all admins.
        - `isEditableForAllAdmins` boolean, required — Indicates whether the custom field is editable by all admins
        - `editAccessAdminIds` integer[] — A list of unique identifiers of the admins who will be granted access to edit this custom field, owners can always edit all custom fields. Applicable only to custom fields that are not editable by all admins.
        - `isVisibleToUsers` boolean, required — Indicates whether the custom field is visible to users
        - `isEditableForUsers` boolean, required — Indicates whether the custom field is editable by users. Applicable only to custom fields that are visible to users.
        - `isMultiSelect` boolean, required — Indicates whether multiple selections are allowed in the dropdown. Applicable only to custom fields configured as dropdown types.
        - `dropdownOptions` CreateDropdownCustomFieldOption[] — The options available for selection in the dropdown field. Applicable only to custom fields configured as dropdown types.
          - `value` string, required — The value to be added as the option
          - `isDisabled` boolean — Indicates if this option is disabled
        - `type` 'dropdown' — The type of the custom field: Dropdown
      - CustomFieldCreateRequest
        - `name` string, required — The name of the custom field
        - `isRequired` boolean, required — Indicates whether the custom field is required
        - `categoryId` integer, required — The unique identifier of the custom field category
        - `isVisibleToAllAdmins` boolean, required — Indicates whether the custom field is visible to all admins
        - `viewAccessAdminIds` integer[] — A list of unique identifiers of the admins who will be granted access to view this custom field, owners can always see all custom fields. Applicable only to custom fields that are not visible to all admins.
        - `isEditableForAllAdmins` boolean, required — Indicates whether the custom field is editable by all admins
        - `editAccessAdminIds` integer[] — A list of unique identifiers of the admins who will be granted access to edit this custom field, owners can always edit all custom fields. Applicable only to custom fields that are not editable by all admins.
        - `isVisibleToUsers` boolean, required — Indicates whether the custom field is visible to users
        - `isEditableForUsers` boolean, required — Indicates whether the custom field is editable by users. Applicable only to custom fields that are visible to users.
        - `type` 'email' | 'date' | 'phone' | 'number' | 'str' | 'file' | 'directManager' | 'birthday' | 'link' | 'location', required — The type of the custom field: Email, Date, Number, Text, Phone number, File.

## Response `200`

Successful Response

- APIResponseGetCustomFieldsSettingsResponse
  - `requestId` string
  - `data` GetCustomFieldsSettingsResponse, required
    - `customFields` union[], required — The custom fields.
      - union
        - DropdownCustomFieldSettingsResponse
          - `id` integer, required — The custom fields id
          - `name` string, required — The name of the custom field
          - `isRequired` boolean, required — Indicates whether the custom field is required
          - `categoryId` integer, required — The unique identifier of the custom field category
          - `isVisibleToAllAdmins` boolean, required — Indicates whether the custom field is visible to all admins
          - `viewAccessAdminIds` integer[] — A list of unique identifiers of the admins who will be granted access to view this custom field, owners can always see all custom fields. Applicable only to custom fields that are not visible to all admins.
          - `isEditableForAllAdmins` boolean, required — Indicates whether the custom field is editable by all admins
          - `editAccessAdminIds` integer[] — A list of unique identifiers of the admins who will be granted access to edit this custom field, owners can always edit all custom fields. Applicable only to custom fields that are not editable by all admins.
          - `isVisibleToUsers` boolean, required — Indicates whether the custom field is visible to users
          - `isEditableForUsers` boolean, required — Indicates whether the custom field is editable by users. Applicable only to custom fields that are visible to users.
          - `isMultiSelect` boolean, required — Indicates whether multiple selections are allowed in the dropdown. Applicable only to custom fields configured as dropdown types.
          - `dropdownOptions` DropdownCustomFieldOption[], required — The options available for selection in the dropdown field. Applicable only to custom fields configured as dropdown types.
            - `id` integer, required — The id of this option
            - `value` string, required — The name of this option
            - `isDisabled` boolean — Indicates if this option is disabled
            - `isDeleted` boolean — Indicates if this option is deleted (this will still be returned in case someone already chose this option so you can see the value).
          - `type` 'dropdown' — The type of the custom field: Email, Date, Number, Text, Phone number, Dropdown, File.
        - CustomFieldSettingsResponse
          - `id` integer, required — The custom fields id
          - `name` string, required — The name of the custom field
          - `isRequired` boolean, required — Indicates whether the custom field is required
          - `categoryId` integer, required — The unique identifier of the custom field category
          - `isVisibleToAllAdmins` boolean, required — Indicates whether the custom field is visible to all admins
          - `viewAccessAdminIds` integer[] — A list of unique identifiers of the admins who will be granted access to view this custom field, owners can always see all custom fields. Applicable only to custom fields that are not visible to all admins.
          - `isEditableForAllAdmins` boolean, required — Indicates whether the custom field is editable by all admins
          - `editAccessAdminIds` integer[] — A list of unique identifiers of the admins who will be granted access to edit this custom field, owners can always edit all custom fields. Applicable only to custom fields that are not editable by all admins.
          - `isVisibleToUsers` boolean, required — Indicates whether the custom field is visible to users
          - `isEditableForUsers` boolean, required — Indicates whether the custom field is editable by users. Applicable only to custom fields that are visible to users.
          - `type` 'email' | 'date' | 'phone' | 'number' | 'str' | 'dropdown' | 'file' | 'directManager' | 'birthday' | 'link' | 'location', required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/connecteam/apis/connecteam-api-documentation.md) · [All operations](https://skmtc.net/connecteam/apis/connecteam-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/connecteam/connecteam-api-documentation/revisions/d8f7f302222e/schema)
