Zendesk Ticket Fields API

The Ticket Fields API from Zendesk — 6 operation(s) for ticket fields.

Operations 11

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/v2/ticket_fields List system and custom ticket fields · Zendesk Get Api V2 Ticket_fields #
Ask an LLM
“What custom ticket fields do we have in Zendesk?”
“Which ticket fields can end users see in the help center?”
Tell an agent
List all ticket fields with titles in {locale}.
List every system and custom ticket field in the account.
POST /api/v2/ticket_fields Create a custom ticket field · Zendesk Post Api V2 Ticket_fields #
Ask an LLM
“How do I add a drop-down custom field to tickets?”
“What custom field types can I create, like checkbox, date or multi-select?”
Tell an agent
Create a drop-down ticket field called Product Area.
Add a checkbox custom field named Escalated to our tickets.
GET /api/v2/ticket_fields/{ticket_field_id} Get one ticket field · Zendesk Get Api V2 Ticket_fields Ticket_field_id #
Ask an LLM
“How can I see the settings of one specific ticket field?”
“Can I sideload the user who created a ticket field?”
Tell an agent
Show the Product Area ticket field.
Get that ticket field's configuration and creator.
PUT /api/v2/ticket_fields/{ticket_field_id} Update a ticket field or its options · Zendesk Put Api V2 Ticket_fields Ticket_field_id #
Ask an LLM
“Can I add or remove drop-down options by updating the whole ticket field?”
“What's the catch when replacing options on a multi-select field via update?”
Tell an agent
Rename the Product Area ticket field to Product.
Replace the full option list on that drop-down field in one update.
DELETE /api/v2/ticket_fields/{ticket_field_id} Delete a custom ticket field · Zendesk Delete Api V2 Ticket_fields Ticket_field_id #
Ask an LLM
“Can I delete a custom ticket field we no longer use?”
“Who has permission to remove a ticket field?”
Tell an agent destructive · confirm first
Delete the Legacy SKU ticket field.
Remove that custom field from tickets entirely.
GET /api/v2/ticket_fields/{ticket_field_id}/options List options of a drop-down ticket field · Zendesk Get Api V2 Ticket_fields Ticket_field_id Options #
Ask an LLM
“What choices are in a drop-down ticket field?”
“Can I page through a custom field's options with cursor pagination?”
Tell an agent
List the options in the Product Area drop-down.
Show all choices defined on that custom drop-down field.
POST /api/v2/ticket_fields/{ticket_field_id}/options Add or edit one drop-down field option · Zendesk Post Api V2 Ticket_fields Ticket_field_id Options #
Ask an LLM
“How do I add a single new choice to a drop-down field without resending the rest?”
“If an option already exists, does posting it again update it?”
Tell an agent
Add a Pineapples option to the Fruit drop-down field.
Update just that one option's name on the custom field.
GET /api/v2/ticket_fields/{ticket_field_id}/options/{ticket_field_option_id} Get one drop-down field option · Zendesk Get Api V2 Ticket_fields Ticket_field_id Options Ticket_field_option_id #
Ask an LLM
“How do I look up a single option on a drop-down ticket field?”
“What value tag does a specific field option use?”
Tell an agent
Show the Hardware option on the Product Area field.
Get that one field option's name and value.
DELETE /api/v2/ticket_fields/{ticket_field_id}/options/{ticket_field_option_id} Delete a drop-down field option · Zendesk Delete Api V2 Ticket_fields Ticket_field_id Options… #
Ask an LLM
“Can I remove one choice from a drop-down field?”
“Who can delete an option on a custom ticket field?”
Tell an agent destructive · confirm first
Delete the Discontinued option from the Product Area field.
Remove that single choice from the drop-down.
GET /api/v2/ticket_fields/count Count ticket fields · Zendesk Get Api V2 Ticket_fields Count #
Ask an LLM
“How many ticket fields does our account have?”
“Is the ticket field count cached for very large accounts?”
Tell an agent
Count the system and custom ticket fields in our account.
Give me the approximate number of ticket fields.
PUT /api/v2/ticket_fields/reorder Reorder ticket fields · Zendesk Put Api V2 Ticket_fields Reorder #
Ask an LLM
“Can I change the order ticket fields appear in?”
“How do I set a new display sequence for ticket fields?”
Tell an agent
Reorder the ticket fields so Priority comes before Product Area.
Set the ticket field order to the id list I give you.

Documentation

📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/introduction/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/targets/targets/
📖
Documentation
https://developer.zendesk.com/api-reference/sales-crm/resources/account/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/activity_stream/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/channel_framework/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket-attachments/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/audit_logs/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/organizations/organizations/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/business-rules/automations/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/bookmarks/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/brand_agents/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/brands/
📖
Documentation
https://developer.zendesk.com/api-reference/live-chat/chat-api/chats/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_comments/
📖
Documentation
https://developer.zendesk.com/api-reference/custom-data/introduction/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/custom_roles/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/custom_ticket_statuses/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/users/users/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/business-rules/deletion_schedules/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/dynamic_content/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/email_notifications/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/groups/group_memberships/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/business-rules/group_sla_policies/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/groups/groups/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_import/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/incremental_exports/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/job_statuses/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/locales/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/business-rules/macros/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/oauth/oauth_tokens/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/organizations/organization_fields/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/organizations/organization_memberships/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/organizations/organization_subscriptions/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/push_notification_devices/
📖
Documentation
https://developer.zendesk.com/api-reference/agent-availability/omnichannel_routing_queues/omnichannel_routing_queues/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/support_addresses/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/lookup_relationships/lookup_relationships/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket-requests/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/resource_collections/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/skill_based_routing/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/satisfaction_ratings/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/satisfaction_reasons/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/search/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/account-configuration/sessions/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/sharing_agreements/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_skips/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/business-rules/sla_policies/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/suspended_tickets/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/tags/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_audits/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_fields/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_form_statuses/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_forms/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/tickets/ticket_metrics/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/business-rules/triggers/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/business-rules/views/
📖
Documentation
https://developer.zendesk.com/api-reference/ticketing/ticket-management/workspaces/

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/zendesk:zendesk-ticket-fields-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

zendesk-ticket-fields-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '1.0'
  title: Zendesk Ticket Fields API
  description: Needs a description.
tags:
- name: Ticket Fields
paths:
  /api/v2/ticket_fields:
    get:
      operationId: ListTicketFields
      tags:
      - Ticket Fields
      summary: Zendesk Get Api V2 Ticket_fields
      description: '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 endpoint

        - Using the 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.


        #### Pagination


        - Cursor pagination (recommended)

        - No pagination


        See Pagination.


        #### Sideloads


        The following sideloads are supported:


        | Name | Will sideload

        | ---------------- | -------------

        | users | The user or users that created the ticket field


        #### Allowed For


        * Anyone'
      parameters:
      - name: locale
        in: query
        description: "Forces the `title_in_portal` property to return a dynamic content variant for the specified locale.\n Only accepts [active locale ids](/api-reference/ticketing/account-configuration/locales/#list-locales).\nExample: `locale=\"de\"`.\n"
        schema:
          type: string
      - name: creator
        in: query
        description: "Displays the `creator_user_id` and `creator_app_name` properties. If the ticket field is created\n by an app, `creator_app_name` is the name of the app and `creator_user_id` is `-1`. If the ticket field\n is not created by an app, `creator_app_name` is null\n"
        schema:
          type: boolean
      responses:
        '200':
          description: Success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketFieldsResponse'
              examples:
                default:
                  $ref: '#/components/examples/TicketFieldsResponseExample'
    post:
      operationId: CreateTicketField
      tags:
      - Ticket Fields
      summary: Zendesk Post Api V2 Ticket_fields
      description: '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) 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 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'
      responses:
        '201':
          description: Created response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketFieldResponse'
              examples:
                default:
                  $ref: '#/components/examples/TicketFieldResponseExample'
  /api/v2/ticket_fields/{ticket_field_id}:
    parameters:
    - $ref: '#/components/parameters/TicketFieldId'
    - $ref: '#/components/parameters/Creator'
    get:
      operationId: ShowTicketfield
      tags:
      - Ticket Fields
      summary: Zendesk Get Api V2 Ticket_fields Ticket_field_id
      description: '#### Allowed for


        * Agents


        #### Sideloads


        The following sideloads are supported:


        | Name | Will sideload

        | ---------------- | -------------

        | users | The user or users that created the ticket field'
      responses:
        '200':
          description: Success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketFieldResponse'
              examples:
                default:
                  $ref: '#/components/examples/TicketFieldResponseExample'
    put:
      operationId: UpdateTicketField
      tags:
      - Ticket Fields
      summary: Zendesk Put Api V2 Ticket_fields Ticket_field_id
      description: '#### Updating drop-down field options


        You can also use the update endpoint to add, update, or remove options in a drop-down custom field. Updating field options for multi-select fields works exactly the same as drop-down field options.


        **Important**: Unless you want to remove some options, you must specify all existing options in any update request. Omitting an option removes it from the drop-down field, which removes its values from any tickets or macros.


        Use the `custom_field_options` attribute to update the options. The attribute consists of an array of option objects, with each object consisting of a `name` and `value` property. The properties correspond to the "Title" and "Tag" text boxes in the admin interface. Example request body:


        ```json

        {"ticket_field": {

        "custom_field_options": [

        {"name": "Apple Pie", "value": "apple"},

        {"name": "Pecan Pie", "value": "pecan"}

        ]

        }

        }

        ```


        #### Example Request


        ```bash

        curl https://{subdomain}.zendesk.com/api/v2/ticket_fields/{id}.json \

        -d ''{"ticket_field": {"custom_field_options": [{"name": "Apple Pie", "value": "apple"}, {"name": "Pecan Pie", "value": "pecan"}]}}'' \

        -H "Content-Type: application/json" -X PUT \

        -v -u {email_address}/token:{api_token}

        ```


        #### Example Response


        ```http

        Status: 200 OK


        {

        "ticket_field": {

        "id":21938362,

        "type":"tagger",

        "title":"Pies",

        ...

        "custom_field_options": [

        {

        "id":21029772,

        "name":"Apple Pie",

        "raw_name":"Apple Pie",

        "value":"apple",

        "default":false

        },

        ...

        ]

        }

        }

        ```


        #### Allowed for


        * Admins'
      responses:
        '200':
          description: Success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketFieldResponse'
              examples:
                default:
                  $ref: '#/components/examples/TicketFieldUpdateResponseExample'
    delete:
      operationId: DeleteTicketField
      tags:
      - Ticket Fields
      summary: Zendesk Delete Api V2 Ticket_fields Ticket_field_id
      description: '#### Allowed for


        * Admins'
      responses:
        '204':
          description: No Content response
  /api/v2/ticket_fields/{ticket_field_id}/options:
    parameters:
    - $ref: '#/components/parameters/TicketFieldId'
    get:
      operationId: ListTicketFieldOptions
      tags:
      - Ticket Fields
      summary: Zendesk Get Api V2 Ticket_fields Ticket_field_id Options
      description: 'Returns a list of custom ticket field options for the given drop-down ticket field.


        #### Allowed For


        * Agents


        #### Pagination


        * Cursor pagination (recommended)

        * Offset pagination


        See Pagination.'
      responses:
        '200':
          description: Success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomFieldOptionsResponse'
              examples:
                default:
                  $ref: '#/components/examples/CustomTicketFieldOptionsResponseExample'
    post:
      operationId: CreateOrUpdateTicketFieldOption
      tags:
      - Ticket Fields
      summary: Zendesk Post Api V2 Ticket_fields Ticket_field_id Options
      description: 'Creates or updates an option for the given drop-down ticket field.


        To update an option, include the id of the option in the `custom_field_option` object. Example:


        `{"custom_field_option": {"id": 10002, "name": "Pineapples", ... }`


        If an option exists for the given ID, the option will be updated. Otherwise, a new option will be created.


        #### Response


        Returns one of the following status codes:


        - 200 with `Location: /api/v2/ticket_fields/{ticket_field_id}/options.json` if the ticket field option already exists in the database

        - 201 with `Location: /api/v2/ticket_fields/{ticket_field_id}/options.json` if the ticket field option is new


        #### Allowed For


        * Admins


        #### Rate Limit

        You can make 100 requests every 1 minute using this endpoint.

        The rate limiting mechanism behaves as described in

        Monitoring your request activity in the API introduction.


        #### Field Option Limits


        * 2000 options per ticket field'
      responses:
        '200':
          description: Success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomFieldOptionResponse'
              examples:
                default:
                  $ref: '#/components/examples/CustomTicketFieldOptionUpdateResponseExample'
        '201':
          description: Created response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomFieldOptionResponse'
              examples:
                default:
                  $ref: '#/components/examples/CustomTicketFieldOptionCreateResponseExample'
  /api/v2/ticket_fields/{ticket_field_id}/options/{ticket_field_option_id}:
    parameters:
    - $ref: '#/components/parameters/TicketFieldId'
    - $ref: '#/components/parameters/TicketFieldOptionId'
    get:
      operationId: ShowTicketFieldOption
      tags:
      - Ticket Fields
      summary: Zendesk Get Api V2 Ticket_fields Ticket_field_id Options Ticket_field_option_id
      description: '#### Allowed for

        * Agents'
      responses:
        '200':
          description: Success response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomFieldOptionResponse'
              examples:
                default:
                  $ref: '#/components/examples/CustomTicketFieldOptionResponseExample'
    delete:
      operationId: DeleteTicketFieldOption
      tags:
      - Ticket Fields
      summary: Zendesk Delete Api V2 Ticket_fields Ticket_field_id Options…
      description: '#### Allowed for

        * Admins'
      responses:
        '204':
          description: No Content response
  /api/v2/ticket_fields/count:
    get:
      operationId: CountTicketFields
      tags:
      - Ticket Fields
      summary: Zendesk Get Api V2 Ticket_fields Count
      description: 'Returns an approximate count of system and custom ticket fields in the account. If the count exceeds 100,000, the count will return a cached result. This cached result will update every 24 hours.


        The `count[refreshed_at]` property is a timestamp that indicates when the count was last updated.


        **Note**: When the count exceeds 100,000, `count[refreshed_at]` may occasionally be null.

        This indicates that the count is being updated in the background, and `count[value]` is limited to 100,000 until the update is complete.


        #### Allowed For

        * Agents'
      responses:
        '200':
          description: Count of ticket fields
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TicketFieldCountResponse'
              examples:
                default:
                  $ref: '#/components/examples/TicketFieldCountResponseExample'
  /api/v2/ticket_fields/reorder:
    put:
      operationId: ReorderTicketFields
      tags:
      - Ticket Fields
      summary: Zendesk Put Api V2 Ticket_fields Reorder
      description: '#### Allowed For

        * Admins


        #### Request Parameters


        You can pass in the following parameter in the payload:


        | Name | Type | Comment

        | ------------------- | ------ | --------

        | ticket_field_ids | array | An array of ticket field ids. Example: "[2, 23, 46, 50]". Not all ticket_field_ids are necessary in the payload; only those provided will be assigned to the first positions. Missing IDs will be assigned incremental positions automatically.'
      responses:
        '200':
          description: Success response
          content:
            application/json:
              schema:
                type: string
                description: Empty response
                example: ''
              example: ''
components:
  schemas:
    TicketFieldCountResponse:
      type: object
      properties:
        count:
          type: object
          properties:
            refreshed_at:
              type: string
              format: date-time
            value:
              type: integer
    CustomFieldOptionsResponse:
      type: object
      properties:
        count:
          type: integer
          description: Total count of records retrieved
          readOnly: true
        custom_field_options:
          type: array
          items:
            $ref: '#/components/schemas/CustomFieldOptionObject'
        next_page:
          type: string
          description: URL of the next page
          nullable: true
          readOnly: true
        previous_page:
          type: string
          description: URL of the previous page
          nullable: true
          readOnly: true
    TicketFieldsResponse:
      type: object
      properties:
        ticket_fields:
          type: array
          items:
            $ref: '#/components/schemas/TicketFieldObject'
    TicketFieldResponse:
      type: object
      properties:
        ticket_field:
          $ref: '#/components/schemas/TicketFieldObject'
    CustomFieldOptionResponse:
      type: object
      properties:
        custom_field_option:
          $ref: '#/components/schemas/CustomFieldOptionObject'