# List custom fields

Lists the accessible custom fields.

Endpoint: GET /custom_fields
Version: v1
Security: AuthToken

## Header parameters:

  - `Content-Type` (string, required)
    Enum: "application/json"

  - `Accept` (string, required)
    Enum: "application/json"

## Query parameters:

  - `per_page` (integer)
    The maximum number of items to show per response page.
    Example: 100

  - `page` (integer)
    The response page to return.
    Example: 2

  - `namespace` (string, required)
    The category for the custom field.
    Enum: "assignables", "users"

## Response 200 fields (application/json):

  - `paging` (object, required)

  - `paging.per_page` (integer)
    The maximum number of items to show per response page.
    Example: 100

  - `paging.page` (integer)
    The current response page number.
    Example: 1

  - `paging.previous` (string,null)
    If you're on the first page, this value is null; otherwise the value is the path and query parameters to get the previous page of items.
    Example: "/api/v1/users?per_page=1000&page=1"

  - `paging.self` (string)
    The path and query parameters to get the current page of items.
    Example: "/api/v1/users?per_page=1000&page=2"

  - `paging.next` (string,null)
    If there are more items, this value is the path and query parameters to get the next page of items; otherwise, it's null.
    Example: "/api/v1/users?per_page=1000&page=3"

  - `paging.count` (integer,null)
    The total number of items in all the pages.

  - `data` (array, required)

  - `data.id` (integer)
    The unique identifier of the custom field.

  - `data.name` (string)
    The name of the custom field.
    Example: "Skills"

  - `data.description` (string)
    The description of the custom field.

  - `data.namespace` (string)
    The category for the custom field.
    Enum: "assignables", "users"

  - `data.default_value` (string)
    The value to be applied if none is specified.

Important: If the custom field is a selection list (that is, it has drop-down field options), the default_value must be one of the options values or an empty string.

  - `data.is_visible_on_info_page` (boolean)
    If true, the custom field is visible on the info page.

  - `data.is_visible_as_filter` (boolean)
    If true, the custom field is visible as a filter.

  - `data.is_editable_only_by_admins` (boolean)
    If true, only admins may edit this custom field. 

Note: This property is only applicable to custom fields that have namespace set to users.

  - `data.created_at` (string)
    Project creation date.
    Example: "2025-01-22T06:00:30Z"

  - `data.updated_at` (string)
    Date of the most recent modification.
    Example: "2025-01-22T06:13:40Z"

  - `data.data_type` (string)
    The kind of data the custom field comprises.
    Enum: "string", "selection_list", "multiple_choice_selection_list"

  - `data.options` (array)
    An array of possible values for selection list custom fields.

This property only applies to custom fields of the following data types:

- "selection_list"
- "multiple_choice_selection_list"

Important: On creating a custom field with data type "selection_list" or "multiple_choice_selection_list", you must specify an options array.
    Example: ["Audio/Video","Graphic Design","UX","Analytics","Python","Ruby","JavaScript"]


