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

# Custom fields and statuses

> The definitions behind a shop's own fields and workflow states.

Use the operations below to work with custom fields & statuses. Each link opens an interactive reference page generated from the published OpenAPI specification.

## Operations

| Operation                                                                                                                                   | Method and path                         | Required scopes        |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- | ---------------------- |
| [List custom field definitions](/api/reference/get_v1_custom_fields)                                                                        | `GET /v1/custom-fields`                 | `customfields.read`    |
| [Create a custom field definition](/api/reference/post_v1_custom_fields)                                                                    | `POST /v1/custom-fields`                | `customfields.write`   |
| [One custom field definition](/api/reference/get_v1_custom_fields_fieldId)                                                                  | `GET /v1/custom-fields/{fieldId}`       | `customfields.read`    |
| [Update a custom field definition](/api/reference/patch_v1_custom_fields_fieldId)                                                           | `PATCH /v1/custom-fields/{fieldId}`     | `customfields.write`   |
| [Delete a custom field definition](/api/reference/delete_v1_custom_fields_fieldId)                                                          | `DELETE /v1/custom-fields/{fieldId}`    | `customfields.write`   |
| [List custom status definitions](/api/reference/get_v1_custom_statuses)                                                                     | `GET /v1/custom-statuses`               | `customstatuses.read`  |
| [Create a custom status definition](/api/reference/post_v1_custom_statuses)                                                                 | `POST /v1/custom-statuses`              | `customstatuses.write` |
| [One custom status definition](/api/reference/get_v1_custom_statuses_statusId)                                                              | `GET /v1/custom-statuses/{statusId}`    | `customstatuses.read`  |
| [Update a custom status definition](/api/reference/patch_v1_custom_statuses_statusId)                                                       | `PATCH /v1/custom-statuses/{statusId}`  | `customstatuses.write` |
| [Delete a custom status definition. Refuses with 409 when an automation rule targets it](/api/reference/delete_v1_custom_statuses_statusId) | `DELETE /v1/custom-statuses/{statusId}` | `customstatuses.write` |

See [Authentication](/api/authentication) before your first call. For write retries, see [Writing safely](/api/idempotency).
