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

# Create Annotation

> Creates a new annotation. Annotations provide predefined question-answer pairs that the app can match and return directly instead of generating a response.



## OpenAPI

````yaml /en/api-reference/openapi_chatflow.json post /apps/annotations
openapi: 3.0.1
info:
  title: Chatflow App API
  description: >-
    Chatflow applications support session persistence, allowing previous chat
    history to be used as context for responses. Chatflow apps use the
    `advanced-chat` mode, providing workflow-level streaming events for detailed
    execution tracking including node starts, finishes, iterations, and workflow
    lifecycle.
  version: 1.0.0
servers:
  - url: '{api_base_url}'
    description: >-
      The base URL for the Chatflow App API. Replace {api_base_url} with the
      actual API base URL provided for your application.
    variables:
      api_base_url:
        default: https://api.dify.ai/v1
        description: Actual base URL of the API
security:
  - ApiKeyAuth: []
tags:
  - name: Chatflows
    description: >-
      Operations for Chatflow apps, including chat messaging, workflow run
      details, and event streaming.
  - name: Files
    description: File upload and preview operations.
  - name: End Users
    description: Operations related to end user information.
  - name: Feedback
    description: User feedback operations.
  - name: Conversations
    description: Operations related to managing conversations.
  - name: TTS
    description: Text-to-Speech and Speech-to-Text operations.
  - name: Applications
    description: Operations to retrieve application settings and information.
  - name: Annotations
    description: Operations related to managing annotations for direct replies.
  - name: Human Input
    description: Endpoints for resuming paused workflows that require human input.
paths:
  /apps/annotations:
    post:
      tags:
        - Annotations
      summary: Create Annotation
      description: >-
        Creates a new annotation. Annotations provide predefined question-answer
        pairs that the app can match and return directly instead of generating a
        response.
      operationId: createAdvancedAnnotation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAnnotationRequest'
            examples:
              createAnnotation:
                summary: Request Example
                value:
                  question: What is Dify?
                  answer: Dify is an open-source LLM application development platform.
      responses:
        '201':
          description: Annotation created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AnnotationItem'
              examples:
                createdAnnotation:
                  summary: Response Example
                  value:
                    id: a1b2c3d4-5678-90ab-cdef-1234567890ab
                    question: What is Dify?
                    answer: >-
                      Dify is an open-source LLM application development
                      platform.
                    hit_count: 0
                    created_at: 1705407629
components:
  schemas:
    CreateAnnotationRequest:
      type: object
      description: Request body for creating a new annotation.
      required:
        - question
        - answer
      properties:
        question:
          type: string
          description: Annotation question.
        answer:
          type: string
          description: Annotation answer.
    AnnotationItem:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique annotation identifier.
        question:
          type: string
          nullable: true
          description: Question text that triggers this annotation.
        answer:
          type: string
          nullable: true
          description: Predefined answer returned when the annotation is matched.
        hit_count:
          type: integer
          nullable: true
          description: >-
            Number of times this annotation has been matched and returned as a
            reply.
        created_at:
          type: integer
          format: int64
          nullable: true
          description: Creation timestamp (Unix epoch seconds).
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: API_KEY
      description: >-
        API Key authentication. For all API requests, include your API Key in
        the `Authorization` HTTP Header, prefixed with `Bearer `. Example:
        `Authorization: Bearer {API_KEY}`. **Strongly recommend storing your API
        Key on the server-side, not shared or stored on the client-side, to
        avoid possible API-Key leakage that can lead to serious consequences.**

````