---
title: "Create Ticket Field"
method: POST
path: "/api/v2/ticket_fields"
tags: ["Ticket Fields"]
---

# Create Ticket Field

`POST /api/v2/ticket_fields`

Creates any of the following custom field types:

| Custom field type | Description                                                                                                                                                     |
|-------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| text              | Default custom field type when `type` is not specified                                                                                                          |
| textarea          | For multi-line text                                                                                                                                             |
| checkbox          | To capture a boolean value. Allowed values are true or false. Optionally, you can specify a tag to be added to the ticket when the value is true.               |
| date              | Example: 2021-04-16                                                                                                                                             |
| integer           | String composed of numbers. May contain an optional decimal point                                                                                               |
| decimal           | For numbers containing decimals                                                                                                                                 |
| regexp            | Matches the Regex pattern found in the custom field settings                                                                                                    |
| partialcreditcard | A credit card number. Only the last 4 digits are retained                                                                                                       |
| multiselect       | Enables users to choose multiple options from a dropdown menu. It contains one or more tag values belonging to the field's options.                             |
| tagger            | Single-select dropdown menu. It contains one or more tag values belonging to the field's options. Example: ( {"id": 21938362, "value": ["hd_3000", "hd_5555"]}) |
| lookup            | A field to create a relationship (see [lookup relationships](/api-reference/ticketing/lookup_relationships/lookup_relationships/)) to another object such as a user, ticket, or organization |

**Note**: Tags can't be re-used across custom ticket fields. For example, if you configure a tag for a checkbox field, you can't use that tag value for a dropdown (tagger) field option. The use of tags isn't validated and can prevent editing in the future.

See [About custom field types](https://support.zendesk.com/hc/en-us/articles/203661866) in the Zendesk Help Center.

#### Allowed For

* Admins

#### Field limits

We recommend the following best practices for ticket fields limits. Creating more than these amounts can affect performance.

* 400 ticket fields per account if your account doesn't have ticket forms
* 400 ticket fields per ticket form if your account has ticket forms

## Response `201`

Created response

- TicketFieldResponse
  - `ticket_field` TicketFieldObject
    - `active` boolean — Whether this field is available
    - `agent_can_edit` boolean — Whether this field is editable by agents
    - `agent_description` string — A description of the ticket field that only agents can see
    - `collapsed_for_agents` boolean — If true, the field is shown to agents by default. If false, the field is hidden alongside infrequently used fields. Classic interface only
    - `created_at` string, date-time — The time the custom ticket field was created
    - `creator_app_name` string — Name of the app that created the ticket field, or a null value if no app created the ticket field
    - `creator_user_id` integer — The id of the user that created the ticket field, or a value of "-1" if an app created the ticket field
    - `custom_field_options` CustomFieldOptionObject[] — Required and presented for a custom ticket field of type "multiselect" or "tagger"
      - `id` integer — Automatically assigned upon creation
      - `name` string, required — Name of the dropdown option
      - `position` integer — Position of the dropdown option
      - `raw_name` string — Raw name of the dropdown option
      - `url` string — URL of the dropdown option
      - `value` string, required — Value of the dropdown option
    - `custom_statuses` TicketFieldCustomStatusObject[] — List of customized ticket statuses. Only presented for a system ticket field of type "custom_status"
      - `active` boolean — If true, if the custom status is set to active. If false, the custom status is set to inactive
      - `agent_label` string — The label displayed to agents
      - `created_at` string, date-time — The date and time at which the custom ticket status was created
      - `default` boolean — If true, the custom status is set to default. If false, the custom status is set to non-default
      - `description` string — The description of when the user should select this custom ticket status
      - `end_user_description` string — The description displayed to end users
      - `end_user_label` string — The label displayed to end users
      - `id` integer — Automatically assigned when the custom ticket status is created
      - `status_category` 'new' | 'open' | 'pending' | 'hold' | 'solved' — The status category the custom ticket status belongs to
      - `updated_at` string, date-time — The date and time at which the custom ticket status was last updated
    - `description` string — Describes the purpose of the ticket field to users
    - `editable_in_portal` boolean — Whether this field is editable by end users in Help Center
    - `id` integer — Automatically assigned when created
    - `position` integer — The relative position of the ticket field on a ticket. Note that for accounts with ticket forms, positions are controlled by the different forms
    - `raw_description` string — The dynamic content placeholder if present, or the `description` value if not. See [Dynamic Content](/api-reference/ticketing/ticket-management/dynamic_content/)
    - `raw_title` string — The dynamic content placeholder if present, or the `title` value if not. See [Dynamic Content](/api-reference/ticketing/ticket-management/dynamic_content/)
    - `raw_title_in_portal` string — The dynamic content placeholder if present, or the "title_in_portal" value if not. See [Dynamic Content](/api-reference/ticketing/ticket-management/dynamic_content/)
    - `regexp_for_validation` string, nullable — For "regexp" fields only. The validation pattern for a field value to be deemed valid
    - `relationship_filter` object — A filter definition that allows your autocomplete to filter down results
    - `relationship_target_type` string — A representation of what type of object the field references. Options are "zen:user", "zen:organization", "zen:ticket", or "zen:custom_object:{key}" where key is a custom object key. For example "zen:custom_object:apartment".
    - `removable` boolean — If false, this field is a system field that must be present on all tickets
    - `required` boolean — If true, agents must enter a value in the field to change the ticket status to solved
    - `required_in_portal` boolean — If true, end users must enter a value in the field to create the request
    - `sub_type_id` integer — For system ticket fields of type "priority" and "status". Defaults to 0. A "priority" sub type of 1 removes the "Low" and "Urgent" options. A "status" sub type of 1 adds the "On-Hold" option
    - `system_field_options` SystemFieldOptionObject[] — Presented for a system ticket field of type "tickettype", "priority" or "status"
      - `name` string — Name of the system field option
      - `value` string — Value of the system field option
    - `tag` string, nullable — For "checkbox" fields only. A tag added to tickets when the checkbox field is selected
    - `title` string, required — The title of the ticket field
    - `title_in_portal` string — The title of the ticket field for end users in Help Center
    - `type` string, required — System or custom field type. Editable for custom field types and only on creation. See [Create Ticket Field](#create-ticket-field)
    - `updated_at` string, date-time — The time the custom ticket field was last updated
    - `url` string — The URL for this resource
    - `visible_in_portal` boolean — Whether this field is visible to end users in Help Center

---

[API](https://skmtc.dev/botbrains-io/apis/support-api.md) · [All operations](https://skmtc.dev/botbrains-io/apis/support-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/botbrains-io/support-api/revisions/d53eac07ba68/schema)
