---
title: "Get custom fields"
method: GET
path: "/users/v1/custom-fields"
tags: ["Users:v1:Custom Fields"]
---

# Get custom fields

`GET /users/v1/custom-fields`

Retrieves all custom fields associated with the account. Optionally, filter the results by categories, names, types, or custom field IDs.

## Query parameters

- `customFieldIds` integer[] — Custom field ids to filter by
- `categoryIds` integer[] — Custom field category ids to filter by
- `customFieldTypes` UserCustomFields[] — Custom field types to filter by
- `customFieldNames` string[] — Custom field names to filter by
- `limit` integer — The maximum number of results to display per page
- `offset` integer — The resource offset of the last successfully read resource will be returned as the paging.offset JSON property of a paginated response containing more results
- `sort` 'id' | 'name' | 'type' — An enumeration.
- `order` 'asc' | 'desc'

## Response `200`

Successful Response

- PaginatedBaseResponseGetCustomFieldsSettingsResponse
  - `requestId` string
  - `data` GetCustomFieldsSettingsResponse, required
    - `customFields` union[], required — The custom fields.
      - union
        - DropdownCustomFieldSettingsResponse
          - `id` integer, required — The custom fields id
          - `name` string, required — The name of the custom field
          - `isRequired` boolean, required — Indicates whether the custom field is required
          - `categoryId` integer, required — The unique identifier of the custom field category
          - `isVisibleToAllAdmins` boolean, required — Indicates whether the custom field is visible to all admins
          - `viewAccessAdminIds` integer[] — A list of unique identifiers of the admins who will be granted access to view this custom field, owners can always see all custom fields. Applicable only to custom fields that are not visible to all admins.
          - `isEditableForAllAdmins` boolean, required — Indicates whether the custom field is editable by all admins
          - `editAccessAdminIds` integer[] — A list of unique identifiers of the admins who will be granted access to edit this custom field, owners can always edit all custom fields. Applicable only to custom fields that are not editable by all admins.
          - `isVisibleToUsers` boolean, required — Indicates whether the custom field is visible to users
          - `isEditableForUsers` boolean, required — Indicates whether the custom field is editable by users. Applicable only to custom fields that are visible to users.
          - `isMultiSelect` boolean, required — Indicates whether multiple selections are allowed in the dropdown. Applicable only to custom fields configured as dropdown types.
          - `dropdownOptions` DropdownCustomFieldOption[], required — The options available for selection in the dropdown field. Applicable only to custom fields configured as dropdown types.
            - `id` integer, required — The id of this option
            - `value` string, required — The name of this option
            - `isDisabled` boolean — Indicates if this option is disabled
            - `isDeleted` boolean — Indicates if this option is deleted (this will still be returned in case someone already chose this option so you can see the value).
          - `type` 'dropdown' — The type of the custom field: Email, Date, Number, Text, Phone number, Dropdown, File.
        - CustomFieldSettingsResponse
          - `id` integer, required — The custom fields id
          - `name` string, required — The name of the custom field
          - `isRequired` boolean, required — Indicates whether the custom field is required
          - `categoryId` integer, required — The unique identifier of the custom field category
          - `isVisibleToAllAdmins` boolean, required — Indicates whether the custom field is visible to all admins
          - `viewAccessAdminIds` integer[] — A list of unique identifiers of the admins who will be granted access to view this custom field, owners can always see all custom fields. Applicable only to custom fields that are not visible to all admins.
          - `isEditableForAllAdmins` boolean, required — Indicates whether the custom field is editable by all admins
          - `editAccessAdminIds` integer[] — A list of unique identifiers of the admins who will be granted access to edit this custom field, owners can always edit all custom fields. Applicable only to custom fields that are not editable by all admins.
          - `isVisibleToUsers` boolean, required — Indicates whether the custom field is visible to users
          - `isEditableForUsers` boolean, required — Indicates whether the custom field is editable by users. Applicable only to custom fields that are visible to users.
          - `type` 'email' | 'date' | 'phone' | 'number' | 'str' | 'dropdown' | 'file' | 'directManager' | 'birthday' | 'link' | 'location', required
  - `paging` PagingResponseModel, required
    - `offset` integer, required — The resource offset of the last successfully read resource will be returned as the paging.offset JSON property of a paginated response containing more results
    - `total` integer — Total number of resources matching the request, ignoring pagination. Use this to retrieve the full count without paginating through every page. Only populated by endpoints that compute it.

## Other responses

- `422` — Validation Error

---

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