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

# Add Row to Review Table

> Adds a file to an existing review table as a new row and populates the new row's cells for every existing visible column.

The file must belong to the same Vault project the review table was created from and must have finished processing. Use **List Files in Project** or **Get Files** to check a file's `processing_status` before adding it.

The run is asynchronous: a successful response means the request was accepted and the row was scheduled for execution. Poll **Get Review Table Row Details** with the same `review_table_id` and `file_id` until the row's cells are returned.

A file that already has a row in the table is rejected with `409`. Adding a file whose row was previously deleted from the table restores that row rather than creating a duplicate.

The `review_table_id` path parameter is the review table's integer ID — the same value as `review_table_ids` entries in **Get Vault Project Metadata** and as `review_table_id` in the **Get Review Table Metadata** response.

### Permissions

Requires `Vault API` permission and permission to modify workspace projects.


## OpenAPI

````yaml /vault_api.json post /api/v1/vault/add_row/{review_table_id}/{file_id}
openapi: 3.0.1
info:
  title: Vault - Upload Documents
  description: >-
    The Vault Upload Documents API enables users to programmatically upload and
    manage documents within Vault projects. This API allows organizations to
    maintain projects with their own internal files for their users to use
    within the Harvey app.
  version: 1.0.0
  contact:
    email: support@harvey.ai
servers:
  - url: https://api.harvey.ai
    description: Harvey API server
security: []
paths:
  /api/v1/vault/add_row/{review_table_id}/{file_id}:
    post:
      tags:
        - Vault
      summary: Add Row to Review Table
      description: >-
        Adds a file to an existing review table as a new row and populates the
        new row's cells for every existing visible column.


        The file must belong to the same Vault project the review table was
        created from and must have finished processing. Use **List Files in
        Project** or **Get Files** to check a file's `processing_status` before
        adding it.


        The run is asynchronous: a successful response means the request was
        accepted and the row was scheduled for execution. Poll **Get Review
        Table Row Details** with the same `review_table_id` and `file_id` until
        the row's cells are returned.


        A file that already has a row in the table is rejected with `409`.
        Adding a file whose row was previously deleted from the table restores
        that row rather than creating a duplicate.


        The `review_table_id` path parameter is the review table's integer ID —
        the same value as `review_table_ids` entries in **Get Vault Project
        Metadata** and as `review_table_id` in the **Get Review Table Metadata**
        response.
      operationId: addReviewTableRow
      parameters:
        - name: review_table_id
          in: path
          required: true
          description: >-
            The review table ID (integer). This is the same value as
            `review_table_ids` entries returned by Get Vault Project Metadata
            and as `review_table_id` returned by Get Review Table Metadata.
          schema:
            type: integer
        - name: file_id
          in: path
          required: true
          description: >-
            The ID of the file to add. The file must belong to the review
            table's Vault project and must have finished processing.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Review run scheduled successfully for the new row
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    type: object
                    properties:
                      event_id:
                        type: integer
                        description: The review table ID (same value as the path parameter)
                      file_id:
                        type: string
                        format: uuid
                        description: Echoes the added file ID
                      review_event_run_id:
                        type: string
                        format: uuid
                        description: >-
                          The ID of the review run scheduled to populate the new
                          row
                      status:
                        type: string
                        description: >-
                          Always `scheduled` on success. Poll Get Review Table
                          Row Details for the row's results.
              examples:
                addReviewTableRow:
                  summary: Example response for adding a review table row
                  value:
                    response:
                      event_id: 2365724
                      file_id: 0199c5c1-50d9-7d60-93aa-cd65c3b7d5a9
                      review_event_run_id: 019f8d8f-fc20-79e0-8b78-980b747c5ef3
                      status: scheduled
        '400':
          description: Bad request. Returned when the review table has no columns to run.
        '401':
          description: Unauthorized.
        '403':
          description: >-
            Forbidden. The caller does not have permission to modify this review
            table.
        '404':
          description: >-
            Review table not found, or the file does not exist in the review
            table's Vault project.
        '409':
          description: >-
            Conflict. The file already has a row in this review table, or the
            file is still processing and cannot be added yet.
        '422':
          description: >-
            Unprocessable. The file belongs to a file group (not yet supported),
            or the review table is not backed by a Vault project.
        '429':
          description: >-
            Too many requests. Retry after the interval in the Retry-After
            header.
        '500':
          description: Internal server error.

````