---
title: "List Ticket Fields"
method: GET
path: "/api/v2/ticket_fields"
tags: ["Ticket Fields"]
---

# List Ticket Fields

`GET /api/v2/ticket_fields`

Returns a list of all system and custom ticket fields in your account.

For end users, only the ticket fields with visible_in_portal set to true are returned.

Cursor pagination returns a maximum of 100 records per page and fields are returned in the order specified by their id.

If the results are not paginated, every field is returned in the response and fields are returned in the order specified by the position.

You can adjust the position of ticket fields by:

- Using the [Update Ticket Field](/api-reference/ticketing/tickets/ticket_fields/#update-ticket-field) endpoint
- Using the [Reorder Ticket Fields](/api-reference/ticketing/tickets/ticket_fields/#reorder-ticket-fields) endpoint
- Ticket Fields page in the Admin Center (**Admin Center** > **Manage** > **Ticket** > **Fields** > **Actions** > **Edit order**)

These adjustments determine the order in which fields are displayed in various locations. For accounts without access to multiple ticket forms, the order will also be used to display field values within tickets. However, for accounts with access to multiple ticket forms, the field order on the ticket page is defined within each form.

Consider caching this resource to use with the [Tickets](/api-reference/ticketing/tickets/tickets/#json-format) API.

#### Pagination

- Cursor pagination (recommended)
- No pagination

See [Pagination](/api-reference/introduction/pagination/).

#### Sideloads

The following sideloads are supported:

| Name             | Will sideload
| ---------------- | -------------
| users            | The user or users that created the ticket field

#### Allowed For

* Anyone

## Query parameters

- `locale` string
- `creator` boolean
- `page[size]` integer
- `page[after]` string

## Response `200`

Success response

- TicketFieldsResponse
  - `ticket_fields` 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)
