# Fetching a list of Custom Field Choices

Returns all possible choices for all 'single' and 'multi' type custom fields on the requester's account.

This endpoint returns structured Custom Field Choice objects.
As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the results array
and will be indexed by ID in the custom_field_choices top-level JSON key.
Please see our Response Format section for more information.

Endpoint: GET /custom_field_choices
Version: 1.0.0

## Query parameters:

  - `active` (boolean)
    Only return non-obsolete custom field choices.

  - `created_after` (string)
    Filter for records created after a specified datetime. The datetime must be in ISO 8601 format.

  - `created_before` (string)
    Filter for records created before a specified datetime. The datetime must be in ISO 8601 format.

  - `external_reference_external_message` (string)
    Filter the objects based on the external message of their associated external references. This is an exact match.

  - `external_reference_external_status` (string)
    Filter by the status of the external object in the external system.

  - `external_reference_service_model` (string)
    Filter by the type of the external object this external reference belongs to.

  - `external_reference_service_model_ref` (integer)
    Filter by the id of the external object this external reference belongs to.

  - `external_reference_service_model_refs` (string)
    Filter for objects that correlate to the specified external object IDs. Provide a comma-separated list of up to 200 external IDs.

  - `external_reference_service_name` (string)
    Filter by the name of the provider for integration.

  - `external_reference_status` (string)
    Filter by the status of the integration, this can be successful or fail.

  - `for_choice_ids` (string)
    Only return custom field choices for these specific custom field choice ids formatted '1,2,...'.

  - `for_custom_fields` (string)
    Only return custom field choices for these specific custom field ids formatted '1,2,...'.

  - `has_external_references` (boolean)
    Filter by whether or not the object has external references.

  - `include` (string)
    Any of the below associations can be included in your request by providing the include param, e.g. include=association1,association2.
- custom_field (CustomField)
- external_references (ExternalReference) - Includes references to external integrations for this object.

  - `matching` (string)
    Includes custom field choices with a name that matches the search string.

  - `only` (string)
    Allows you to request one or more resources directly by ID. Multiple IDs can be supplied
in a comma separated list, like GET /api/v1/workspaces.json?only=5,6,7.

  - `order` (string)
    Supply order with the name of a valid sort field for the endpoint and a direction.

Valid values: label:asc, label:desc, position:asc, and position:desc.

  - `page` (integer)

  - `per_custom_field` (integer)
    Evenly distribute the choices fetched by their custom_field_id in groups the size of the number specified.

  - `per_page` (integer)

  - `updated_after` (string)
    Filter for records updated after a specified datetime. The datetime must be in ISO 8601 format.

  - `updated_before` (string)
    Filter for records updated before a specified datetime. The datetime must be in ISO 8601 format.

  - `without_external_reference_service_name` (string)
    Exclude by the existence of an external reference with the specified service name.

## Response 200 fields (application/json):

  - `count` (integer)

  - `meta` (object)

  - `meta.count` (integer)

  - `meta.page_count` (integer)

  - `meta.page_number` (integer)

  - `meta.page_size` (integer)

  - `results` (array)

  - `results.key` (string)

  - `results.id` (string)

  - `custom_field_choices` (object)

  - `external_references` (object)

  - `custom_fields` (object)

## Response 400 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 401 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 403 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 404 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 422 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 503 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)


