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

# Bulk approve comments

> Approves the most relevant Need approval comments of one scope in a single request. The cards are selected live at request time: the request names a scope and how many comments to attempt, never card identities, so the result is not bound to any page a client is currently showing and may include comments it has never listed. Every card is claimed on its own — an accepted card enters the ordinary Pending/publication lifecycle and adds 1 to today's Comment Today progress, a card that is no longer approvable is skipped without side effects, and a failing card never rolls back the cards already accepted. The three counters always sum to the number of cards attempted, which is lower than the requested count when the scope holds fewer approvable comments.



## OpenAPI

````yaml https://api.goextrovert.com/client/v2/docs-json post /client/v2/comments/bulk-approve
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/comments/bulk-approve:
    post:
      tags:
        - Comments
      summary: Bulk approve comments
      description: >-
        Approves the most relevant Need approval comments of one scope in a
        single request. The cards are selected live at request time: the request
        names a scope and how many comments to attempt, never card identities,
        so the result is not bound to any page a client is currently showing and
        may include comments it has never listed. Every card is claimed on its
        own — an accepted card enters the ordinary Pending/publication lifecycle
        and adds 1 to today's Comment Today progress, a card that is no longer
        approvable is skipped without side effects, and a failing card never
        rolls back the cards already accepted. The three counters always sum to
        the number of cards attempted, which is lower than the requested count
        when the scope holds fewer approvable comments.
      operationId: CommentsClientApiController_bulkApprove
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkApproveRequestDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkApproveResponseDto'
        '401':
          description: Invalid or missing API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientApiErrorResponseDto'
      security:
        - api-key: []
components:
  schemas:
    BulkApproveRequestDto:
      type: object
      properties:
        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
          description: >-
            Campaign to stay inside. Omit for the owner-wide feed — every
            campaign of this owner the caller may update.
          format: uuid
        count:
          type: integer
          minimum: 1
          maximum: 100
          description: >-
            How many of the scope's most relevant comments to attempt, from 1 to
            100. The upper bound is a per-request transport limit, not a daily
            or product maximum.
          examples:
            - 10
      required:
        - ownerId
        - count
    BulkApproveResponseDto:
      type: object
      properties:
        status:
          type: string
          const: success
          description: Response status
        data:
          type: object
          properties:
            accepted:
              type: integer
              minimum: 0
              maximum: 9007199254740991
              description: >-
                Comments approved by this request. Accepted is not published:
                each one enters the ordinary Pending/publication lifecycle and
                adds 1 to today's Comment Today progress.
            skippedStale:
              type: integer
              minimum: 0
              maximum: 9007199254740991
              description: >-
                Comments that were no longer approvable when their turn came —
                already taken by a concurrent action or no longer eligible. They
                are left untouched.
            failedToAccept:
              type: integer
              minimum: 0
              maximum: 9007199254740991
              description: >-
                Comments that failed with an error while being approved. The
                comments already accepted by this request are unaffected.
          required:
            - accepted
            - skippedStale
            - failedToAccept
        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.