> ## Documentation Index
> Fetch the complete documentation index at: https://developer.box.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Metadata templates resources

A metadata template describes a reusable set of key/value pairs that can be assigned to a file.

## Metadata template

A template for metadata that can be applied to files and folders.

<Accordion title="Attributes and example">
  | Property                 | Type              | Required | Description                                                                                                                                                                                                                                                                                                     |
  | ------------------------ | ----------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `id`                     | `string`          | Yes      | The ID of the metadata template.                                                                                                                                                                                                                                                                                |
  | `type`                   | `enum<string>`    | Yes      | The value will always be `metadata_template`. Available options: `metadata_template`.                                                                                                                                                                                                                           |
  | `scope`                  | `string`          | No       | The scope of the metadata template can either be `global` or `enterprise_*`. The `global` scope is used for templates that are available to any Box enterprise. The `enterprise_*` scope represents templates that have been created within a specific enterprise, where `*` will be the ID of that enterprise. |
  | `templateKey`            | `string`          | No       | A unique identifier for the template. This identifier is unique across the `scope` of the enterprise to which the metadata template is being applied, yet is not necessarily unique across different enterprises.                                                                                               |
  | `displayName`            | `string`          | No       | The display name of the template. This can be seen in the Box web app and mobile apps.                                                                                                                                                                                                                          |
  | `hidden`                 | `boolean`         | No       | Defines if this template is visible in the Box web app UI, or if it is purely intended for usage through the API.                                                                                                                                                                                               |
  | `fields`                 | array of `object` | No       | An ordered list of template fields which are part of the template. Each field can be a regular text field, date field, number field, as well as a single or multi-select list.                                                                                                                                  |
  | `copyInstanceOnItemCopy` | `boolean`         | No       | Whether or not to include the metadata when a file or folder is copied.                                                                                                                                                                                                                                         |

  ```json Example theme={null}
  {
    "id": "58063d82-4128-7b43-bba9-92f706befcdf",
    "type": "metadata_template",
    "scope": "enterprise_123456",
    "templateKey": "productInfo",
    "displayName": "Product Info",
    "hidden": true,
    "fields": [
      {
        "type": "string",
        "key": "category",
        "displayName": "Category",
        "description": "The category",
        "hidden": true,
        "options": [
          {
            "key": "Category 1",
            "id": "45dc2849-a4a7-40a9-a751-4a699a589190"
          }
        ],
        "taxonomyKey": "locationTaxonomy",
        "taxonomyId": "05ece6d7-fec4-4d3f-bfd2-36fd4dddea97",
        "namespace": "enterprise_123456",
        "optionsRules": {
          "multiSelect": true,
          "selectableLevels": [
            1,
            2
          ]
        },
        "id": "822227e0-47a5-921b-88a8-494760b2e6d2"
      }
    ],
    "copyInstanceOnItemCopy": true
  }
  ```
</Accordion>

## Metadata templates

A list of metadata templates.

<Accordion title="Attributes and example">
  | Property      | Type                                             | Required | Description                                                                                                                                                                            |
  | ------------- | ------------------------------------------------ | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `limit`       | `integer`                                        | No       | The limit that was used for these entries. This will be the same as the `limit` query parameter unless that value exceeded the maximum value allowed. The maximum value varies by API. |
  | `next_marker` | `string`                                         | No       | The marker for the start of the next page of results. Can be `null`.                                                                                                                   |
  | `prev_marker` | `string`                                         | No       | The marker for the start of the previous page of results. Can be `null`.                                                                                                               |
  | `entries`     | array of [Metadata template](#metadata-template) | No       | A list of metadata templates.                                                                                                                                                          |

  ```json Example theme={null}
  {
    "limit": 1000,
    "next_marker": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii",
    "prev_marker": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih",
    "entries": [
      {
        "id": "58063d82-4128-7b43-bba9-92f706befcdf",
        "type": "metadata_template",
        "scope": "enterprise_123456",
        "templateKey": "productInfo",
        "displayName": "Product Info",
        "hidden": true,
        "fields": [
          {
            "type": "string",
            "key": "category",
            "displayName": "Category",
            "description": "The category",
            "hidden": true,
            "options": [
              {
                "key": "Category 1",
                "id": "45dc2849-a4a7-40a9-a751-4a699a589190"
              }
            ],
            "taxonomyKey": "locationTaxonomy",
            "taxonomyId": "05ece6d7-fec4-4d3f-bfd2-36fd4dddea97",
            "namespace": "enterprise_123456",
            "optionsRules": {
              "multiSelect": true,
              "selectableLevels": [
                1,
                2
              ]
            },
            "id": "822227e0-47a5-921b-88a8-494760b2e6d2"
          }
        ],
        "copyInstanceOnItemCopy": true
      }
    ]
  }
  ```
</Accordion>
