---
title: "List all custom fields in a nation"
method: GET
path: "/api/v2/custom_fields"
tags: ["Custom Fields"]
---

# List all custom fields in a nation

`GET /api/v2/custom_fields`

## Request

- Base URL: `https://yournation.nationbuilder.com`
- URL: `https://yournation.nationbuilder.com/api/v2/custom_fields`
- Auth: HTTP bearer

Lists all custom fields

## Query parameters

- `page[number]` string
- `page[size]` string

## Response `200`

A page of matching custom fields.

- CustomFieldIndexResponse: The JSON:API top-level document shape for paginated collection responses, with resource objects under data and pagination links.
  - `data` CustomFieldResponseData[], required: The page of resource objects for this collection; each resource binds its concrete item schema here via allOf composition.
    - `id` string, required: Unique identifier of the resource.
    - `type` 'custom_fields', required: The JSON:API resource type.
    - `attributes` CustomFieldReadOnlyAttributes: The read-only attributes of a custom_field.
      - `created_at` string, date-time
      - `field_type` string, nullable: The field type.
      - `name` string, nullable: The name of the field.
      - `options` object, nullable: Multiple choice options.
      - `position` integer, nullable: The position in order of custom fields on the assigned model.
      - `resource_type` string, nullable: The resource the field belongs to. Can be 'Signup' or 'Donation'
      - `slug` string, nullable: A unique identifier for the field.
      - `updated_at` string, date-time
  - `links` PaginationLinks: JSON:API pagination links for the pages of a collection. A key whose page is unavailable, or that the server's pagination strategy does not provide, is omitted or null.
    - `self` string: Link to the current page.
    - `first` string, nullable: Link to the first page.
    - `last` string, nullable: Link to the last page.
    - `prev` string, nullable: Link to the previous page.
    - `next` string, nullable: Link to the next page.
  - `included` Resource[]: Sideloaded resources requested via the include query parameter. Each entry is a full resource object whose shape is documented under its own resource type.
    - `id` string, required: Unique identifier of the resource.
    - `type` string, required: The JSON:API resource type.
    - `attributes` object: The attributes of the resource, as documented for its resource type.
    - `relationships` object: References from this resource to other resources in the document.
  - `meta` object: Non-standard information about the document, such as requested statistics. Empty unless the endpoint has metadata to convey.

## Other responses

- `401`: The access token is missing, expired, or not authorized to access this resource.
- `429`: The access token has exceeded its request quota for the current rate-limit window.

## Changes

- **2026-11-05** `d5c88ca497ac`: 4 breaking, 1 warning, 4 info
  - for the `query` request parameter `page[number]`, default value `1` was added
  - for the `query` request parameter `page[size]`, default value `20` was added
  - the response's body type changed from `object` to no type for status `200`
  - removed the required property `data` from the response with the `200` status
  - …5 more

[Operation history](https://skmtc.dev/nationbuilder/apis/nationbuilder-v2-api/changes/api/v2/custom_fields/get.md)

---

[API](https://skmtc.dev/nationbuilder/apis/nationbuilder-v2-api.md) - [All operations](https://skmtc.dev/nationbuilder/apis/nationbuilder-v2-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nationbuilder/apis/nationbuilder-v2-api/revisions/d5c88ca497ac?raw)
