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

# Add annotations to a conversation

> Label specific turns in a conversation with quality annotations. Served from api.{region}.poly.ai.



## OpenAPI

````yaml api-reference/conversations/v3/openapi.json POST /v1/agents/{agentId}/conversations/{conversationId}/annotation
openapi: 3.1.0
info:
  title: PolyAI Builder MCP
  version: 1.0.0
  description: >-
    Every operation the Builder MCP (https://api.studio.poly.ai/builder-mcp and
    the other clusters' /builder-mcp listeners) exposes as a tool, drawn from
    the jupiter-api, sourcerer and supervisor-alerts public APIs and filtered to
    the routes published on the us-1-prod cluster. Each operation carries
    x-mcp-tool (the tool's name as MCP clients see it) and x-mcp-service (the
    backing service). Tool input schemas are the operation's parameters and
    request body; the gateway calls the operation on the caller's behalf with
    their API key or, over OAuth, a token exchanged for the signed-in user.
  x-mcp:
    name: builder
    listener_path: /builder-mcp
    services:
      - jupiter-api
      - sourcerer
      - supervisor-alerts
    tool_count: 131
servers:
  - url: https://api.us.poly.ai
    description: prod-us cluster
  - url: https://api.uk.poly.ai
    description: prod-uk cluster
  - url: https://api.eu.poly.ai
    description: prod-euw cluster
  - url: https://api.studio.poly.ai
    description: prod-plg cluster
security:
  - polyApiKey: []
  - oauth: []
paths:
  /v1/agents/{agentId}/conversations/{conversationId}/annotation:
    parameters:
      - name: agentId
        in: path
        required: true
        schema:
          type: string
      - name: conversationId
        in: path
        required: true
        schema:
          type: string
    post:
      tags:
        - Conversations
      summary: Add annotations to a conversation
      description: |-
        Add quality annotations to specific turns in a conversation.

        Supported labels: missing_topic, wrong_transcript, wrong_info.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddAnnotationsBody'
      responses:
        '201':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationSuccessResponse'
        '400':
          description: Validation error
        '401':
          description: Unauthorized – missing or invalid API key
        '403':
          description: Forbidden – insufficient permissions
        '404':
          description: Resource not found
components:
  schemas:
    AddAnnotationsBody:
      description: One or more utterance annotations to attach to a conversation.
      type: object
      properties:
        annotations:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/AnnotationItem'
      required:
        - annotations
    OperationSuccessResponse:
      description: Minimal success payload for mutation endpoints.
      type: object
      properties:
        success:
          default: true
          type: boolean
    AnnotationItem:
      description: A single utterance annotation.
      type: object
      properties:
        turnId:
          description: Zero-based index of the turn
          type: integer
        role:
          description: Which side of the turn the annotation applies to
          enum:
            - user
            - agent
          type: string
        annotationType:
          description: Annotation label
          enum:
            - missing_topic
            - wrong_transcript
            - wrong_info
          type: string
      required:
        - turnId
        - role
        - annotationType
  securitySchemes:
    polyApiKey:
      type: apiKey
      in: header
      name: X-API-KEY
    oauth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        An MCP client's OAuth token for the listener, which Kong exchanges for a
        Platform API token about the user.

````