> ## 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 one or more files to an existing review table as new rows and populates each new row's cells for every existing visible column.

Send a single file ID in `file_ids` to add it as its own row. Send two or more file IDs to create a **file group** — the files are reviewed together and occupy a single row in the table. Pass the optional `group_name` to name that group; it defaults to the first file's name.

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

The run is asynchronous: a successful response means the request was accepted and the rows were scheduled for execution. Poll **Get Review Table Row Details** with the same `review_table_id` and one of the submitted file IDs until the row's cells are returned. For a file group, requesting any member file returns the group's single row.

A file that already has a row in the table, or that already belongs to a file group in it, is rejected with `409`; the error message names the offending file ID. 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}
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}:
    post:
      tags:
        - Vault
      summary: Add Row to Review Table
      description: >-
        Adds one or more files to an existing review table as new rows and
        populates each new row's cells for every existing visible column.


        Send a single file ID in `file_ids` to add it as its own row. Send two
        or more file IDs to create a **file group** — the files are reviewed
        together and occupy a single row in the table. Pass the optional
        `group_name` to name that group; it defaults to the first file's name.


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


        The run is asynchronous: a successful response means the request was
        accepted and the rows were scheduled for execution. Poll **Get Review
        Table Row Details** with the same `review_table_id` and one of the
        submitted file IDs until the row's cells are returned. For a file group,
        requesting any member file returns the group's single row.


        A file that already has a row in the table, or that already belongs to a
        file group in it, is rejected with `409`; the error message names the
        offending file ID. 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
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                file_ids:
                  type: array
                  minItems: 1
                  maxItems: 25
                  items:
                    type: string
                    format: uuid
                  description: >-
                    The IDs of the files to add. One file is added as its own
                    row; two or more are grouped into a file group that occupies
                    a single row. Every file must belong to the review table's
                    Vault project, must have finished processing, and must not
                    already have a row or group membership in the table.
                    Duplicate IDs are rejected with `400`. Capped at 25 files
                    per request by default; workspaces with a raised file-group
                    limit may send more.
                group_name:
                  type: string
                  nullable: true
                  description: >-
                    Optional name for the file group created when two or more
                    files are added. Defaults to the first file's name. Ignored
                    for single-file requests.
              required:
                - file_ids
            examples:
              addSingleRow:
                summary: Add a single file as its own row
                value:
                  file_ids:
                    - 0199c5c1-50d9-7d60-93aa-cd65c3b7d5a9
              addFileGroupRow:
                summary: Add several files as one grouped row
                value:
                  file_ids:
                    - 0199c5c1-50d9-7d60-93aa-cd65c3b7d5a9
                    - 019f66b0-5706-7239-b7b8-9c61cbec8b7a
                  group_name: Acme MSA and amendments
      responses:
        '200':
          description: Review run scheduled successfully for the new rows
          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_ids:
                        type: array
                        items:
                          type: string
                          format: uuid
                        description: Echoes the file IDs that were added
                      review_event_run_id:
                        type: string
                        format: uuid
                        description: >-
                          The ID of the review run scheduled to populate the new
                          rows
                      review_file_group_id:
                        type: string
                        format: uuid
                        nullable: true
                        description: >-
                          The ID of the file group created when two or more
                          files were added as one grouped row. `null` for
                          single-file requests.
                      status:
                        type: string
                        description: >-
                          Always `scheduled` on success. Poll Get Review Table
                          Row Details for the row's results.
              examples:
                addSingleRow:
                  summary: Example response for adding a single file as its own row
                  value:
                    response:
                      event_id: 2365724
                      file_ids:
                        - 0199c5c1-50d9-7d60-93aa-cd65c3b7d5a9
                      review_event_run_id: 019f8d8f-fc20-79e0-8b78-980b747c5ef3
                      review_file_group_id: null
                      status: scheduled
                addFileGroupRow:
                  summary: Example response for adding several files as one grouped row
                  value:
                    response:
                      event_id: 2365724
                      file_ids:
                        - 0199c5c1-50d9-7d60-93aa-cd65c3b7d5a9
                        - 019f66b0-5706-7239-b7b8-9c61cbec8b7a
                      review_event_run_id: 019f97bd-6d6c-7715-b63e-a0a11437f202
                      review_file_group_id: 019f97bd-6d57-7aaf-9559-58812be0e1a7
                      status: scheduled
        '400':
          description: >-
            Bad request. Returned when `file_ids` is missing or empty, contains
            duplicate IDs, exceeds the per-request file limit, or 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 a file does not exist in the review
            table's Vault project. The error message names the offending file
            ID.
        '409':
          description: >-
            Conflict. A file already has a row in this review table, already
            belongs to a file group in it, or is still processing and cannot be
            added yet. The error message names the offending file ID.
        '422':
          description: >-
            Unprocessable. File grouping is not enabled for this workspace, a
            file being added as its own row belongs to a file group, 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.

````