> ## 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.

# Generate or improve comment draft

> Creates a new Extrovert comment draft or improves the current draft using the selected campaign's Voice. It does not approve or post the comment. Success confirms the command completed; use Get comment when the resulting text or state is needed. The comment identity is postId + ownerId and the change is owner-global: it also applies to sibling campaign activities of the same owner, even when the feed context came from one campaign.



## OpenAPI

````yaml https://api.goextrovert.com/client/v2/docs-json post /client/v2/comments/{postId}/generate-or-improve-draft
openapi: 3.0.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/comments/{postId}/generate-or-improve-draft:
    post:
      tags:
        - Comments
      summary: Generate or improve comment draft
      description: >-
        Creates a new Extrovert comment draft or improves the current draft
        using the selected campaign's Voice. It does not approve or post the
        comment. Success confirms the command completed; use Get comment when
        the resulting text or state is needed. The comment identity is postId +
        ownerId and the change is owner-global: it also applies to sibling
        campaign activities of the same owner, even when the feed context came
        from one campaign.
      operationId: CommentsClientApiController_generateOrImproveDraft
      parameters:
        - name: postId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateOrImproveDraftRequestDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenerateOrImproveDraftResponseDto'
        '401':
          description: Invalid or missing API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientApiErrorResponseDto'
      security:
        - api-key: []
components:
  schemas:
    GenerateOrImproveDraftRequestDto:
      type: object
      properties:
        postId:
          type: string
          format: uuid
          description: LinkedIn post identity inside Extrovert.
        ownerId:
          type: string
          format: uuid
          description: >-
            LinkedIn account owner whose comment is addressed. Often a managed
            account rather than the authenticated user — call `user_list-shared`
            first and pick the owner whose LinkedIn profile runs the campaign.
        campaignId:
          type: string
          format: uuid
          description: Accessible campaign whose Voice must be used for generation.
        mode:
          type: string
          enum:
            - Generate
            - Improve
        instructions:
          type: string
          description: Optional plain-text direction for the new draft.
          minLength: 1
          maxLength: 1250
      required:
        - postId
        - ownerId
        - campaignId
        - mode
    GenerateOrImproveDraftResponseDto:
      type: object
      properties:
        status:
          type: string
          description: Response status
          enum:
            - success
        data:
          description: No response payload
          nullable: true
          enum:
            - null
          example: null
          type: object
        message:
          type: string
          description: Success message
          example: 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

````