> ## Documentation Index
> Fetch the complete documentation index at: https://dify-6c0370d8-fix-template-upload-size-guidance.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List Metadata Fields

> Returns all metadata fields for the knowledge base, both custom and built-in, with the count of documents using each field.



## OpenAPI

````yaml /en/api-reference/openapi_service.json get /datasets/{dataset_id}/metadata
openapi: 3.0.1
info:
  description: >-
    REST API for Dify applications and knowledge bases. Application endpoints
    authenticate with an app API key; knowledge endpoints authenticate with a
    dataset API key.
  title: Dify Service API
  version: 1.0.0
servers:
  - description: >-
      Base URL of the Dify Service API. For self-hosted deployments, replace it
      with your own API base URL.
    url: https://{api_base_url}
    variables:
      api_base_url:
        default: api.dify.ai/v1
        description: Host and path of the API base URL, without the `https://` prefix.
security:
  - ApiKeyAuth: []
tags:
  - description: Operations related to chat messages and interactions.
    name: Chat Messages
  - description: File upload and preview operations.
    name: Files
  - description: Operations related to end user information.
    name: End Users
  - description: User feedback operations.
    name: Feedback
  - description: Operations related to managing conversations.
    name: Conversations
  - description: Text-to-Speech and Speech-to-Text operations.
    name: Audio
  - description: Operations to retrieve application settings and information.
    name: Applications
  - description: Operations related to managing annotations for direct replies.
    name: Annotations
  - description: Endpoints for resuming paused workflows that require human input.
    name: Human Input
  - description: Operations for executing and managing workflows.
    name: Workflow Runs
  - description: Operations related to text generation and completion.
    name: Completion Messages
  - description: >-
      Operations for managing knowledge bases, including creation,
      configuration, and retrieval.
    name: Knowledge Bases
  - description: >-
      Operations for creating, updating, and managing documents within a
      knowledge base.
    name: Documents
  - description: Operations for managing document chunks and child chunks.
    name: Chunks
  - description: >-
      Operations for managing knowledge base metadata fields and document
      metadata values.
    name: Metadata
  - description: Operations for managing knowledge base tags and tag bindings.
    name: Tags
  - description: Operations for retrieving available models.
    name: Models
  - description: >-
      Operations for managing and running knowledge pipelines, including
      datasource plugins and pipeline execution.
    name: Knowledge Pipeline
paths:
  /datasets/{dataset_id}/metadata:
    get:
      tags:
        - Metadata
      summary: List Metadata Fields
      description: >-
        Returns all metadata fields for the knowledge base, both custom and
        built-in, with the count of documents using each field.
      operationId: listMetadataFields
      parameters:
        - description: >-
            Knowledge base ID. See [List Knowledge
            Bases](/en/api-reference/knowledge-bases/list-knowledge-bases).
          in: path
          name: dataset_id
          required: true
          schema:
            format: uuid
            type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                success:
                  summary: Response Example
                  value:
                    built_in_field_enabled: true
                    doc_metadata:
                      - count: 3
                        id: b5c6d7e8-f9a0-1b2c-3d4e-5f6a7b8c9d0e
                        name: author
                        type: string
              schema:
                properties:
                  built_in_field_enabled:
                    description: >-
                      Whether built-in metadata fields are enabled for this
                      knowledge base.
                    type: boolean
                  doc_metadata:
                    description: List of metadata field definitions.
                    items:
                      properties:
                        count:
                          description: Number of documents using this metadata field.
                          type: integer
                        id:
                          description: Metadata field identifier.
                          type: string
                        name:
                          description: Metadata field name.
                          type: string
                        type:
                          description: Metadata field type.
                          type: string
                      type: object
                    type: array
                type: object
          description: Metadata fields for the knowledge base.
        '403':
          content:
            application/json:
              examples:
                forbidden:
                  summary: forbidden (api access)
                  value:
                    code: forbidden
                    message: Dataset api access is not enabled.
                    status: 403
          description: '`forbidden` : Dataset api access is not enabled.'
        '404':
          content:
            application/json:
              examples:
                not_found:
                  summary: not_found
                  value:
                    code: not_found
                    message: Dataset not found.
                    status: 404
          description: '`not_found` : Dataset not found.'
components:
  securitySchemes:
    ApiKeyAuth:
      bearerFormat: API_KEY
      description: >-
        Every request authenticates with an API key: `Authorization: Bearer
        {API_KEY}`. App endpoints take an app API key; knowledge endpoints take
        a knowledge base API key ([Get
        Started](/en/api-reference/guides/get-started)).


        Keep keys server-side; never embed them in client code. Requests with a
        missing or invalid key fail with HTTP `401` (`unauthorized`).
      scheme: bearer
      type: http

````