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

# Valider une review

> Permission requise : reviews:approve. Les accès restent limités à votre entreprise et à vos projets.

Cette référence est générée depuis le même contrat que l’API et l’outil MCP `review_approve`.


## OpenAPI

````yaml openapi.fr.json POST /reviews/{reviewId}/approve
openapi: 3.1.1
info:
  title: VoiceStudio client API
  version: 1.0.0
  description: >-
    Generated from @voicestudio/contracts/integrations. Changes belong in the
    shared operation catalog.
servers:
  - url: https://api.tryvoicestudio.com/v1
security: []
paths:
  /reviews/{reviewId}/approve:
    post:
      tags:
        - reviews
      summary: Valider une review
      description: >-
        Valider une review. Permission requise : `reviews:approve`. Les accès
        sont limités par les droits actuels de votre compte, de votre entreprise
        et de vos projets. Validez uniquement la review explicitement demandée,
        après avoir consulté sa version actuelle. Réutilisez la même clé
        d’idempotence pour une requête identique.
      operationId: review_approve
      parameters:
        - name: reviewId
          in: path
          required: true
          schema:
            type: string
            format: uuid
            pattern: >-
              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expectedSubjectRevision:
                  type: integer
                  exclusiveMinimum: 0
                  maximum: 9007199254740991
                idempotencyKey:
                  type: string
                  format: uuid
                  pattern: >-
                    ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
              required:
                - expectedSubjectRevision
                - idempotencyKey
              additionalProperties: false
      responses:
        '200':
          description: Le résultat actuel dans le périmètre autorisé.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        pattern: >-
                          ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                      status:
                        type: string
                        const: approved
                      subjectRevision:
                        type: integer
                        exclusiveMinimum: 0
                        maximum: 9007199254740991
                    required:
                      - id
                      - status
                      - subjectRevision
                    additionalProperties: false
                  requestId:
                    type: string
                required:
                  - data
                  - requestId
                additionalProperties: false
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  title:
                    type: string
                  requestId:
                    type: string
                required:
                  - code
                  - requestId
        '401':
          description: Missing, expired or revoked credential.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  title:
                    type: string
                  requestId:
                    type: string
                required:
                  - code
                  - requestId
        '403':
          description: Scope, company access or review role is insufficient.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  title:
                    type: string
                  requestId:
                    type: string
                required:
                  - code
                  - requestId
        '404':
          description: The resource is absent or inaccessible.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  title:
                    type: string
                  requestId:
                    type: string
                required:
                  - code
                  - requestId
        '409':
          description: Review version or idempotency conflict.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  title:
                    type: string
                  requestId:
                    type: string
                required:
                  - code
                  - requestId
        '413':
          description: Request body too large.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  title:
                    type: string
                  requestId:
                    type: string
                required:
                  - code
                  - requestId
        '422':
          description: Invalid arguments.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  title:
                    type: string
                  requestId:
                    type: string
                required:
                  - code
                  - requestId
        '429':
          description: Rate limit exceeded; wait for Retry-After.
          headers:
            Retry-After:
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  title:
                    type: string
                  requestId:
                    type: string
                required:
                  - code
                  - requestId
        '500':
          description: The request could not be completed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  title:
                    type: string
                  requestId:
                    type: string
                required:
                  - code
                  - requestId
        '502':
          description: Invalid upstream response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  title:
                    type: string
                  requestId:
                    type: string
                required:
                  - code
                  - requestId
        '503':
          description: VoiceStudio is temporarily unavailable.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  title:
                    type: string
                  requestId:
                    type: string
                required:
                  - code
                  - requestId
      security:
        - apiKey: []
        - bearerToken: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
    bearerToken:
      type: http
      scheme: bearer
      bearerFormat: Opaque VoiceStudio access token

````

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