> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.neetodesk.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fields

> List, view, create, update, and delete the custom fields on tickets.

A field is a custom field that tickets carry, such as a browser or an order number. For fields and response details, see the [API reference](/api/fields/list). To set a ticket's value for a field, pass `--field Name=Value` to [`tickets create`](/cli-reference/tickets#create-a-ticket) or [`tickets update`](/cli-reference/tickets#update-a-ticket).

## List fields

This command lists the workspace's custom ticket fields in display order. Use this when you want to see which fields exist and find a field's ID. `--state` narrows the list to `active` or `inactive` fields.

```bash theme={"system"}
neetodesk fields list
neetodesk fields list --state active
```

| Flag | Type | Required | Default | Description |
| - | - | - | - | - |
| `--page` | `int` | | `0` | Page number |
| `--page-size` | `int` | | `0` | Items per page (max 100) |
| `--state` | `string` | | | Filter by state: active or inactive |

```json Sample output (--json) theme={"system"}
{
  "data": [
    {
      "id": "aaaabbbb-cccc-dddd-eeee-ffff00003333",
      "name": "Browser",
      "kind": "single_option",
      "state": "active",
      "resource_type": "ticket",
      "is_required": false,
      "is_required_for_agent_when_submitting_form": false,
      "is_required_for_agent_when_closing_ticket": false,
      "display_order": 3,
      "placeholder_slug": "browser",
      "created_at": "2026-08-03T09:14:22.000Z",
      "updated_at": "2026-08-03T09:14:22.000Z",
      "options": [
        { "id": "aaaabbbb-cccc-dddd-eeee-ffff00004444", "label": "Chrome", "display_order": 0 }
      ]
    }
  ],
  "breadcrumbs": [
    { "label": "Show", "command": "neetodesk fields show <id>" },
    { "label": "Update", "command": "neetodesk fields update <id>" }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page_number": 1,
    "page_size": 15
  }
}
```

## Show a field

This command shows one field with its type, state, required flags, and dropdown options. Use this when you need the option IDs before you rename or remove an option. The record sits under a `field` key in `data`.

```bash theme={"system"}
neetodesk fields show aaaabbbb-cccc-dddd-eeee-ffff00003333
```

**Required arguments:**

* `<id>` - Field UUID

## Create a field

This command creates a custom ticket field. Use this when tickets need a new piece of structured information. `--kind` is one of `text`, `textarea`, `integer`, `decimal`, `date`, `checkbox`, `single_option`, or `multi_option`, and cannot be changed later. Dropdown kinds (`single_option` and `multi_option`) need at least one `--option`; repeat the flag for more.

```bash theme={"system"}
neetodesk fields create \
  --name Browser \
  --kind single_option \
  --option Chrome \
  --option Firefox \
  --required-when-closing
```

| Flag | Type | Required | Default | Description |
| - | - | - | - | - |
| `--display-order` | `int` | | `0` | Position of the field in the ticket form |
| `--kind` | `string` | Yes | | Field kind: text, textarea, integer, decimal, date, checkbox, single\_option, multi\_option |
| `--name` | `string` | Yes | | Field name |
| `--option` | `stringArray` | | `[]` | Option label for single\_option and multi\_option fields (repeat flag for multiple) |
| `--placeholder-slug` | `string` | | | Placeholder slug for the field |
| `--required` | `bool` | | `false` | Make the field required |
| `--required-when-closing` | `bool` | | `false` | Require agents to fill the field when closing a ticket |
| `--required-when-submitting-form` | `bool` | | `false` | Require agents to fill the field when submitting the form |
| `--state` | `string` | | | Field state: active or inactive |

The new field comes back under a `field` key in `data`.

## Update a field

This command changes a field's name, state, required flags, display order, or placeholder, and adds, renames, or removes dropdown options. Use this when a field needs adjusting. Pass only the flags you want to change. To delete a field later, first set it to inactive with `--state inactive`. The updated field comes back under a `field` key in `data`.

```bash theme={"system"}
neetodesk fields update aaaabbbb-cccc-dddd-eeee-ffff00003333 --add-option Safari
neetodesk fields update aaaabbbb-cccc-dddd-eeee-ffff00003333 \
  --rename-option aaaabbbb-cccc-dddd-eeee-ffff00004444=Chromium \
  --remove-option aaaabbbb-cccc-dddd-eeee-ffff00005555
```

**Required arguments:**

* `<id>` - Field UUID

| Flag | Type | Required | Default | Description |
| - | - | - | - | - |
| `--add-option` | `stringArray` | | `[]` | Option label to add (repeat flag for multiple) |
| `--display-order` | `int` | | `0` | Position of the field in the ticket form |
| `--name` | `string` | | | Field name |
| `--placeholder-slug` | `string` | | | Placeholder slug for the field |
| `--remove-option` | `stringArray` | | `[]` | Option id to remove (repeat flag for multiple) |
| `--rename-option` | `stringArray` | | `[]` | Rename an option as id=Label (repeat flag for multiple) |
| `--required` | `bool` | | `false` | Make the field required |
| `--required-when-closing` | `bool` | | `false` | Require agents to fill the field when closing a ticket |
| `--required-when-submitting-form` | `bool` | | `false` | Require agents to fill the field when submitting the form |
| `--state` | `string` | | | Field state: active or inactive |

`--rename-option` takes `id=Label`, where the ID is the option's ID from `fields show`. The last option of a dropdown field cannot be removed.

## Delete a field

This command deletes a custom ticket field along with the values tickets hold for it. Use this when a field is no longer needed. The field must be `inactive` first, so set it with `fields update <id> --state inactive`.

```bash theme={"system"}
neetodesk fields delete aaaabbbb-cccc-dddd-eeee-ffff00003333
```

**Required arguments:**

* `<id>` - Field UUID


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.