---
title: "Create several sheet uploads at once"
method: POST
path: "/api/v3/projects/{project_id}/sheet_uploads/batch"
tags: ["sheet uploads"]
---

# Create several sheet uploads at once

`POST /api/v3/projects/{project_id}/sheet_uploads/batch`

## Path parameters

- `project_id` string, uuid, required

## Headers

- `Fieldwire-Version` string, date, required

## Request body

- SheetUploadBatchCreateInput — Schema for updating sheet uploads in batch
  - `sheet_uploads` SheetUploadBatchCreateInputItem[], required — List of files to be processed into plan(s)
    - `unique_id` string, required — Client-generated unique identifier used to correlate batch results with requests
    - `id` string, uuid — ID of the entity
    - `user_id` integer, required — ID of the user who uploaded this
    - `folder_id` string, uuid, nullable — ID of the folder this was uploaded into
    - `file_size` string, nullable — Size in bytes of the uploaded file
    - `file_url` string, nullable — URL of the file uploaded
    - `name` string, required — Name of the entity
    - `version_description` string, nullable — Description for the uploaded file
    - `version_notes` string, nullable — Notes for the uploaded file
    - `kind` string — String value indicating the kind of Sheet Upload e.g: pdf, img, zip

## Response `201`

Successful response

- SheetUpload[]
  - `id` string, uuid, required — ID of the entity
  - `user_id` integer, required — ID of the user who uploaded this
  - `folder_id` string, uuid, nullable — ID of the folder this was uploaded into
  - `project_id` string, uuid, required — ID of the project this entity belongs to
  - `active_sheets_count` integer, nullable — Number of active Sheets in the Project, returned when query param count_active_sheets is set to true.
  - `status` 'errored' | 'processed' | 'queued' | 'processing' | 'uploading' | 'splitting', nullable — Status of the Sheet upload in the project.
  - `has_errors` boolean, required — Whether any errors were hit while processing this upload
  - `is_processed` boolean, required — Whether this upload was successfully processed into plan(s)
  - `file_size` string, nullable — Size in bytes of the uploaded file
  - `file_url` string, nullable — URL of the file uploaded
  - `name` string, required — Name of the entity
  - `version_description` string, nullable — Description for the uploaded file
  - `pages` integer, nullable — Count of pages in the uploaded file
  - `pages_split` integer, nullable — Count of pages so far this has been split into (useful to show the state of processing)
  - `pages_uploaded` integer, nullable — Count of split pages so far that have been uploaded (useful to show the state of processing)
  - `plans_created` integer, nullable — Count of plans created out of this upload
  - `version_notes` string, nullable — Notes for the uploaded file
  - `created_at` string, date-time, required — Time when the server created the entity
  - `updated_at` string, date-time, required — Time when the server last updated the entity

---

[API](https://skmtc.dev/fieldwire/apis/fieldwire-super-api.md) · [All operations](https://skmtc.dev/fieldwire/apis/fieldwire-super-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fieldwire/fieldwire-super-api/revisions/66ee1c20b92d/schema)
