---
title: "Create custom field"
method: POST
path: "/custom_fields"
tags: ["custom_fields"]
---

# Create custom field

`POST /custom_fields`

Creates a custom field.

## Request body

- object — Custom fields add properties that provide helpful insights for scheduling, planning, and reporting.
  - `id` integer — The unique identifier of the custom field.
  - `name` string, required — The name of the custom field.
  - `description` string — The description of the custom field.
  - `namespace` 'assignables' | 'users', required — The category for the custom field.
  - `default_value` string — The value to be applied if none is specified. **Important:** If the custom field is a selection list (that is, it has drop-down field options), the `default_value` must be one of the `options` values or an empty string.
  - `is_visible_on_info_page` boolean — If `true`, the custom field is visible on the info page.
  - `is_visible_as_filter` boolean — If `true`, the custom field is visible as a filter.
  - `is_editable_only_by_admins` boolean — If `true`, only admins may edit this custom field. **Note:** This property is only applicable to custom fields that have `namespace` set to `users`.
  - `created_at` string, date-time — Project creation date.
  - `updated_at` string, date-time — Date of the most recent modification.
  - `data_type` 'string' | 'selection_list' | 'multiple_choice_selection_list', required — The kind of data the custom field comprises.
  - `options` string[] — An array of possible values for selection list custom fields. This property only applies to custom fields of the following data types: - `"selection_list"` - `"multiple_choice_selection_list"` **Important:** On creating a custom field with data type `"selection_list"` or `"multiple_choice_selection_list"`, you must specify an `options` array.
  - `apply_default_to_existing_objects` boolean — if `true`, this triggers a one-time application of the default value to all existing projects or users.

## Response `200`

The new custom field.

- CustomField — Custom fields add properties that provide helpful insights for scheduling, planning, and reporting.
  - `id` integer — The unique identifier of the custom field.
  - `name` string — The name of the custom field.
  - `description` string — The description of the custom field.
  - `namespace` 'assignables' | 'users' — The category for the custom field.
  - `default_value` string — The value to be applied if none is specified. **Important:** If the custom field is a selection list (that is, it has drop-down field options), the `default_value` must be one of the `options` values or an empty string.
  - `is_visible_on_info_page` boolean — If `true`, the custom field is visible on the info page.
  - `is_visible_as_filter` boolean — If `true`, the custom field is visible as a filter.
  - `is_editable_only_by_admins` boolean — If `true`, only admins may edit this custom field. **Note:** This property is only applicable to custom fields that have `namespace` set to `users`.
  - `created_at` string, date-time — Project creation date.
  - `updated_at` string, date-time — Date of the most recent modification.
  - `data_type` 'string' | 'selection_list' | 'multiple_choice_selection_list' — The kind of data the custom field comprises.
  - `options` string[] — An array of possible values for selection list custom fields. This property only applies to custom fields of the following data types: - `"selection_list"` - `"multiple_choice_selection_list"` **Important:** On creating a custom field with data type `"selection_list"` or `"multiple_choice_selection_list"`, you must specify an `options` array.

## Other responses

- `default` — Generic error payload

---

[API](https://skmtc.net/smartsheet/apis/resource-management-openapi-reference.md) · [All operations](https://skmtc.net/smartsheet/apis/resource-management-openapi-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/smartsheet/resource-management-openapi-reference/versions/e4c439ac13f2/schema)
