---
title: "Update metadata instance on folder"
method: PUT
path: "/folders/{folder_id}/metadata/{scope}/{template_key}"
tags: ["Metadata instances (Folders)"]
---

# Update metadata instance on folder

`PUT /folders/{folder_id}/metadata/{scope}/{template_key}`

Updates a piece of metadata on a folder.

The metadata instance can only be updated if the template has already been
applied to the folder before. When editing metadata, only values that match
the metadata template schema will be accepted.

The update is applied atomically. If any errors occur during the
application of the operations, the metadata instance will not be changed.

## Path parameters

- `folder_id` string, required
- `scope` 'global' | 'enterprise', required
- `template_key` string, required

## Response `200`

Returns the updated metadata template instance, with the
custom template data included.

- MetadataFull — The base representation of a metadata instance.
  - `$parent` string — The identifier of the item that this metadata instance has been attached to. This combines the `type` and the `id` of the parent in the form `{type}_{id}`.
  - `$template` string — The name of the template.
  - `$scope` string — An ID for the scope in which this template has been applied. This will be `enterprise_{enterprise_id}` for templates defined for use in this enterprise, and `global` for general templates that are available to all enterprises using Box.
  - `$version` integer — The version of the metadata instance. This version starts at 0 and increases every time a user-defined property is modified.
  - `$canEdit` boolean — Whether the user can edit this metadata instance.
  - `$id` string, uuid — A UUID to identify the metadata instance.
  - `$type` string — A unique identifier for the "type" of this instance. This is an internal system property and should not be used by a client application.
  - `$typeVersion` integer — The last-known version of the template of the object. This is an internal system property and should not be used by a client application.

## Other responses

- `400` — Returns an error when the request body is not valid. * `bad_request` - The request body format is not an array of valid JSON Patch objects.
- `500` — Returns an error in some edge cases when the request body is not a valid array of JSON Patch items.
- `default` — An unexpected client error.

---

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