---
title: "List all fields"
method: GET
path: "/v1/customMetadataFields"
tags: ["Digital Asset Management (DAM)", "Custom metadata fields"]
---

# List all fields

`GET /v1/customMetadataFields`

This API returns the array of created custom metadata field objects. By default the API returns only non deleted field objects, but you can include deleted fields in the API response.

You can also filter results by a specific folder path to retrieve custom metadata fields applicable at that location. This path-specific filtering is useful when using the **Path policy** feature to determine which custom metadata fields are selected for a given path.

## Query parameters

- `includeDeleted` boolean
- `folderPath` string

## Response `200`

Array of custom metadata field objects.

- CustomMetadataField[]
  - `id` string, required — Unique identifier for the custom metadata field. Use this to update the field.
  - `name` string, required — API name of the custom metadata field. This becomes the key while setting `customMetadata` (key-value object) for an asset using upload or update API.
  - `label` string, required — Human readable name of the custom metadata field. This name is displayed as form field label to the users while setting field value on the asset in the media library UI.
  - `schema` object, required — An object that describes the rules for the custom metadata field value.
    - `type` 'Text' | 'Textarea' | 'Number' | 'Date' | 'Boolean' | 'SingleSelect' | 'MultiSelect', required — Type of the custom metadata field.
    - `selectOptions` union[] — An array of allowed values when field type is `SingleSelect` or `MultiSelect`.
      - union
        - string
        - number
        - boolean
    - `defaultValue` union — The default value for this custom metadata field. Data type of default value depends on the field type.
      - string
      - number
      - boolean
      - union[] — Default value should be of type array when custom metadata field type is set to `MultiSelect`.
        - union
          - string
          - number
          - boolean
    - `isValueRequired` boolean — Specifies if the this custom metadata field is required or not.
    - `minValue` union — Minimum value of the field. Only set if field type is `Date` or `Number`. For `Date` type field, the value will be in ISO8601 string format. For `Number` type field, it will be a numeric value.
      - string
      - number
    - `maxValue` union — Maximum value of the field. Only set if field type is `Date` or `Number`. For `Date` type field, the value will be in ISO8601 string format. For `Number` type field, it will be a numeric value.
      - string
      - number
    - `minLength` number — Minimum length of string. Only set if `type` is set to `Text` or `Textarea`.
    - `maxLength` number — Maximum length of string. Only set if `type` is set to `Text` or `Textarea`.

## Other responses

- `401` — Unauthorized request.
- `403` — Forbidden.
- `429` — The request exceeded the rate limit. Contains headers indicating the limits and a message detailing the error.

---

[API](https://skmtc.dev/imagekit-developer/apis/imagekit-api.md) · [All operations](https://skmtc.dev/imagekit-developer/apis/imagekit-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/imagekit-developer/imagekit-api/revisions/bb3e9ff84b3e/schema)
