---
title: "Get list of custom fields"
method: GET
path: "/v3/spend/custom-fields"
tags: ["custom-fields"]
---

# Get list of custom fields

`GET /v3/spend/custom-fields`

Get a list of custom field objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.

## Query parameters

- `max` integer, nullable — Maximum number of results
- `nextPage` string, nullable — Next page of results. When a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set this field as the `nextPage` value for navigation.
- `prevPage` string, nullable — Previous page of results. Set this field as the `prevPage` value for navigation.
- `sort` string, nullable — Field name and sort order. You can set only one sort field. The format is `sort={field}:{sort_order}`. The sortable fields are: - `name` - `createdTime`
- `filters` string, nullable — Field name, operator, and value. You can set multiple filters. The format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`. Example: `filters=name:sw:Ad,retired:eq:false` The filterable fields are: - `name` - String. Operators: `eq`, `sw`. - `retired` - `true` or `false`. Operators: `eq`.

## Headers

- `apiToken` string, nullable — Access token for Spend & Expense API authentication

## Response `200`

Get list of custom fields response

- PaginatedCustomFieldResponseDto — Response from a list API request with paging references.
  - `nextPage` string — Next page token
  - `prevPage` string — Previous page token
  - `results` CustomFieldResponseDto[] — Results
    - `id` string — BILL-generated ID of the custom field
    - `uuid` string — BILL-generated UUID of the custom field
    - `name` string — Custom field name
    - `description` string — Custom field description
    - `type` 'CUSTOM_SELECTOR' | 'NOTE' — Custom field type. n* `CUSTOM_SELECTOR`: Select one value from the list (or multiple values when `multiSelect` is true) * `NOTE`: Write a per-transaction custom note. **Note**: Currently, BILL does not support creating additional custom fields with `type` set as `NOTE`.
    - `multiSelect` boolean — Set as `true` if the custom field can have multiple selected values
    - `allowCustomValues` boolean — Set as `true` if the custom field can have custom values
    - `minimumAmountForRequirement` number — Minimum transaction amount where the custom field is required
    - `required` boolean — Set as `true` if the custom field is required for all budgets. The default value is `false`.
    - `global` boolean — Set as `true` if the custom field applies to all budgets. The default value is `false`.
    - `retired` boolean — Set as `true` if the custom field is retired
    - `createdTime` string, date-time — Created date and time
    - `selectedBudgetIds` string[] — List of BILL-generated ID values of budgets where the custom field is available
    - `selectedBudgetUuids` string[] — List of BILL-generated UUID values of budgets where the custom field is available
    - `requiredBudgetIds` string[] — List of BILL-generated ID values of budgets where the custom field is required
    - `requiredBudgetUuids` string[] — List of BILL-generated UUID values of budgets where the custom field is required

## Other responses

- `4XX` — List of errors.
- `5XX` — List of errors.

---

[API](https://skmtc.net/bill/apis/bill-v3-api.md) · [All operations](https://skmtc.net/bill/apis/bill-v3-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bill/bill-v3-api/revisions/0483350c434e/schema)
