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

# Create Comment Examples

> Adds one or more Comment Examples to Voices. Each text should be a complete, polished sample comment in the desired tone of voice — it will be used as a writing-style sample when generating comments. Prefer several short, varied examples over one long block. Text limit: 1250 characters. Up to 20 entries per Voice. If the parent Voice has `isLearningModeEnabled: true`, the backend additionally captures Comment Examples automatically from the user's edited-and-approved comments, so slots may already be partially consumed. Returns one result per requested element, in request order: the saved Comment Example, or the reason that element was not applied (access, plan cap, not found). Other elements are unaffected. Comment Examples feed comment generation only — never direct messages. The change applies to future generations only: an already-generated comment draft keeps its text until it is regenerated (`comments_generate-or-improve-draft`).



## OpenAPI

````yaml https://api.goextrovert.com/client/v2/docs-json post /client/v2/voice-comment-examples
openapi: 3.1.0
info:
  title: Extrovert Client API
  description: >-
    Public API for Extrovert platform integration. Use your API key for
    authentication.
  version: '1.0'
  contact: {}
servers:
  - url: https://api.goextrovert.com/
    description: API Server
security: []
tags: []
paths:
  /client/v2/voice-comment-examples:
    post:
      tags:
        - Voice Comment Examples
      summary: Create Comment Examples
      description: >-
        Adds one or more Comment Examples to Voices. Each text should be a
        complete, polished sample comment in the desired tone of voice — it will
        be used as a writing-style sample when generating comments. Prefer
        several short, varied examples over one long block. Text limit: 1250
        characters. Up to 20 entries per Voice. If the parent Voice has
        `isLearningModeEnabled: true`, the backend additionally captures Comment
        Examples automatically from the user's edited-and-approved comments, so
        slots may already be partially consumed. Returns one result per
        requested element, in request order: the saved Comment Example, or the
        reason that element was not applied (access, plan cap, not found). Other
        elements are unaffected. Comment Examples feed comment generation only —
        never direct messages. The change applies to future generations only: an
        already-generated comment draft keeps its text until it is regenerated
        (`comments_generate-or-improve-draft`).
      operationId: VoiceCommentExampleClientApiController_create
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRequestDto4'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateResponseDto4'
        '401':
          description: Invalid or missing API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientApiErrorResponseDto'
      security:
        - api-key: []
components:
  schemas:
    CreateRequestDto4:
      type: object
      properties:
        items:
          type: array
          minItems: 1
          maxItems: 25
          items:
            type: object
            properties:
              voiceId:
                type: string
                format: uuid
                description: >-
                  Shared Voice to attach this comment example to; future comment
                  generations across its campaigns and workspaces can use it.
              text:
                type: string
                description: >-
                  Text of the example comment. Up to 1250 characters, must be
                  non-blank.
            required:
              - voiceId
              - text
          description: >-
            Elements to apply, 1 to 25. Each element is applied on its own and
            gets its own result, in the same order; a failed element does not
            affect the others.
      required:
        - items
    CreateResponseDto4:
      type: object
      properties:
        status:
          type: string
          const: success
          description: Response status
        data:
          type: array
          items:
            type: object
            properties:
              index:
                type: integer
                minimum: 0
                maximum: 9007199254740991
                description: Position of the element in the request list, starting at 0.
              id:
                description: >-
                  Element ID. Present for every updated or deleted element, and
                  for a created element once it was saved.
                type: string
                format: uuid
              item:
                description: The element as saved. Absent when the element failed.
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    description: Comment Example ID
                    examples:
                      - 8d256aa6-9b12-49a7-93ee-bf41634b5b60
                  updatedAt:
                    type: string
                    description: Comment Example update timestamp
                    examples:
                      - '2025-06-30T14:02:07.456Z'
                      - '2025-07-03T08:30:00.000Z'
                  createdAt:
                    type: string
                    description: Comment Example creation timestamp
                    examples:
                      - '2025-06-30T14:02:07.456Z'
                      - '2025-07-03T08:30:00.000Z'
                  text:
                    type: string
                    description: >-
                      Text of the example comment — used as a writing-style
                      sample when generating comments under the parent Voice.
                      All Comment Examples attached to a Voice are used
                      together. Up to 1250 characters.
                  voiceId:
                    type: string
                    format: uuid
                    description: >-
                      ID of the Voice this Comment Example belongs to. See the
                      `voices` config for the full Voice shape. When the Voice
                      is deleted, all its Comment Examples are deleted in
                      cascade.
                    examples:
                      - cf33282b-b171-4d23-ae02-848499d793e4
                required:
                  - id
                  - updatedAt
                  - createdAt
                  - text
                  - voiceId
              error:
                description: >-
                  Why this element was not applied. Absent when the element
                  succeeded; the other elements are unaffected.
                type: object
                properties:
                  code:
                    type: string
                    description: >-
                      Status name of the failure, e.g. `NOT_FOUND`,
                      `PERMISSION_DENIED`, `INVALID_ARGUMENT`, `INTERNAL`.
                  message:
                    type: string
                    description: Human-readable reason this element was not applied.
                required:
                  - code
                  - message
            required:
              - index
          description: One result per requested Comment Example, in request order
        message:
          type: string
          description: Success message
          examples:
            - Operation completed successfully
      required:
        - status
        - data
        - message
    ClientApiErrorResponseDto:
      type: object
      properties:
        status:
          type: string
          description: Response status
          example: error
          enum:
            - error
        data:
          type: object
          description: Response data
          example: null
          nullable: true
        message:
          type: string
          description: Error message
          example: An error occurred while processing the request
      required:
        - status
        - data
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: X-API-Key
      description: API Key for authentication

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.