---
title: "Update Document Metadata in Batch"
method: POST
path: "/datasets/{dataset_id}/documents/metadata"
tags: ["Metadata"]
---

# Update Document Metadata in Batch

`POST /datasets/{dataset_id}/documents/metadata`

Update metadata values for multiple documents in a single request.

## Path parameters

- `dataset_id` string, uuid, required

## Request body

- object
  - `operation_data` object[], required — Document metadata update operations, one entry per document.
    - `document_id` string, required — ID of the document to update. See [List Documents](/en/api-reference/documents/list-documents).
    - `metadata_list` object[], required — Metadata fields to set on the document.
      - `id` string, required — Metadata field ID. See [List Metadata Fields](/en/api-reference/metadata/list-metadata-fields).
      - `name` string, required — Metadata field name.
      - `value` unknown
    - `partial_update` boolean — Whether to partially update metadata, keeping existing values for unspecified fields.

## Response `200`

Document metadata updated successfully.

- object
  - `result` string — Operation result.

## Other responses

- `400` — `invalid_param` : A referenced document was not found, or another metadata operation is already running for a document in this request.
- `403` — - `forbidden` : Dataset api access is not enabled. - `forbidden` : Sorry, you have reached the knowledge base request rate limit of your subscription.
- `404` — `not_found` : Dataset not found.

---

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