# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Dify Service Metadata API version: 1.0.0 extends: openapi/dify-metadata-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 7 - target: $.paths['/datasets/{dataset_id}/metadata'].get update: x-apievangelist-phrasing: intent: List a knowledge base's metadata fields effect: read questions: - Which metadata fields, custom and built-in, does my knowledge base have? - How many documents use each metadata field? instructions: - text: List all metadata fields in knowledge base {dataset_id}. slots: dataset_id: path.dataset_id - text: Show every metadata field for {dataset_id} with its document usage count. slots: dataset_id: path.dataset_id method: generated generated: '2026-09-26' - target: $.paths['/datasets/{dataset_id}/metadata'].post update: x-apievangelist-phrasing: intent: Create a custom metadata field effect: write questions: - How do I add a custom metadata field like author or date to my documents? - What value types can a new custom metadata field hold? instructions: - text: Create a {type} metadata field called {name} in knowledge base {dataset_id}. slots: type: requestBody.type name: requestBody.name dataset_id: path.dataset_id - text: Add custom field {name} of type {type} to {dataset_id}. slots: name: requestBody.name type: requestBody.type dataset_id: path.dataset_id method: generated generated: '2026-09-26' - target: $.paths['/datasets/{dataset_id}/metadata/{metadata_id}'].delete update: x-apievangelist-phrasing: intent: Delete a custom metadata field effect: destructive questions: - Do documents lose their values when I delete a custom metadata field? - Can I remove a custom metadata field I no longer need? instructions: - text: Delete metadata field {metadata_id} from knowledge base {dataset_id}. slots: metadata_id: path.metadata_id dataset_id: path.dataset_id - text: Permanently remove custom field {metadata_id} in {dataset_id}. slots: metadata_id: path.metadata_id dataset_id: path.dataset_id method: generated generated: '2026-09-26' - target: $.paths['/datasets/{dataset_id}/metadata/{metadata_id}'].patch update: x-apievangelist-phrasing: intent: Rename a custom metadata field effect: write questions: - Can I rename a custom metadata field without losing its values? - Must a renamed metadata field's name be unique in the knowledge base? instructions: - text: Rename metadata field {metadata_id} in {dataset_id} to {name}. slots: metadata_id: path.metadata_id dataset_id: path.dataset_id name: requestBody.name - text: Change the name of custom field {metadata_id} in knowledge base {dataset_id} to {name}. slots: metadata_id: path.metadata_id dataset_id: path.dataset_id name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/datasets/{dataset_id}/metadata/built-in'].get update: x-apievangelist-phrasing: intent: List the system's built-in metadata fields effect: read questions: - What built-in metadata fields does the system provide for documents? - Which system metadata fields are available before I define custom ones? instructions: - text: Show the built-in metadata fields for knowledge base {dataset_id}. slots: dataset_id: path.dataset_id - text: List the system-provided metadata fields available in {dataset_id}. slots: dataset_id: path.dataset_id method: generated generated: '2026-09-26' - target: $.paths['/datasets/{dataset_id}/metadata/built-in/{action}'].post update: x-apievangelist-phrasing: intent: Enable or disable built-in metadata fields effect: write questions: - How do I turn on the built-in metadata fields for a knowledge base? - Can I switch off built-in metadata for one knowledge base? instructions: - text: '{action} built-in metadata fields for knowledge base {dataset_id}.' slots: action: path.action dataset_id: path.dataset_id - text: Enable the built-in metadata fields on {dataset_id}. slots: dataset_id: path.dataset_id method: generated generated: '2026-09-26' - target: $.paths['/datasets/{dataset_id}/documents/metadata'].post update: x-apievangelist-phrasing: intent: Set metadata values on many documents at once effect: write questions: - Can I tag many documents with metadata values in one request? - What is the way to fill in metadata values across a batch of documents? instructions: - text: Apply metadata updates {operation_data} to documents in knowledge base {dataset_id}. slots: operation_data: requestBody.operation_data dataset_id: path.dataset_id - text: Set document metadata values in bulk for {dataset_id} using {operation_data}. slots: dataset_id: path.dataset_id operation_data: requestBody.operation_data method: generated generated: '2026-09-26'