---
title: "Create a Submittal Attachment"
method: POST
path: "/api/v3/projects/{project_id}/submittal_attachments"
tags: ["submittal attachment"]
---

# Create a Submittal Attachment

`POST /api/v3/projects/{project_id}/submittal_attachments`

## Request

- Base URL: `https://client-api.us.fieldwire.com`
- URL: `https://client-api.us.fieldwire.com/api/v3/projects/{project_id}/submittal_attachments`
- Auth: HTTP bearer

## Path parameters

- `project_id` string, uuid, required

## Headers

- `Fieldwire-Version` string, date, required

## Request body

- SubmittalAttachmentCreateInput: Schema for creating submittal attachment
  - `name` string: Name of the file. Required when attachment_id is not provided.
  - `file_url` string: URL of the attachment. Required when attachment_id is not provided.
  - `submittal_id` string, uuid, required: The Submittal on which the attachment will exist.
  - `last_editor_user_id` integer, required: ID of the user who last modified this entity
  - `creator_user_id` integer, required: ID of the user who created this entity
  - `file_size` integer, nullable: Size of file
  - `original_url` string, nullable: URL of the file originally uploaded by the user
  - `attachment_id` string, uuid, nullable: The ID of the existing attachment.
  - `submittal_response_id` string, uuid, nullable, required: The ID of the existing response.

## Response `201`

Successful response

- SubmittalAttachment: Entity that encapsulates an attachment on a Submittal.
  - `id` string, uuid, required: ID of the Submittal Attachment object.
  - `name` string: Name of the file.
  - `file_url` string: URL of the potentially processed file
  - `kind` 'file', required: Kind of the attachment. Currently it only supports file type.
  - `submittal_id` string, uuid, required: The Submittal on which the attachment will exist.
  - `submittal_action_id` string, uuid, nullable: The Submittal Action on which the attachment will exist.
  - `project_id` string, uuid, required: ID of the project this entity belongs to
  - `last_editor_user_id` integer, required: ID of the user who last modified this entity
  - `creator_user_id` integer, required: ID of the user who created this entity
  - `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
  - `resolved_conflict` boolean, nullable, required: Specifies if PUT/PATCH request was rejected - do not store this field!
  - `file_size` integer, nullable: Size of file
  - `original_url` string, nullable: URL of the file originally uploaded by the user
  - `flattened_file_url` string, nullable: URL of the file that has the markups flattened
  - `thumb_url` string, nullable: Thumb URL of the file
  - `attachment_id` string, uuid, nullable: The ID of the existing attachment.
  - `submittal_response_id` string, uuid, nullable: The ID of the existing response.
  - `deleted_at` string, date-time, nullable: Time the server deleted the entity
  - `device_created_at` string, date-time: Time when the device created the entity
  - `device_updated_at` string, date-time: Time when the device last updated the entity

## Other responses

- `422`: Unsuccessful response when conditionally required params are missing

---

[API](https://skmtc.dev/fieldwire/apis/fieldwire-regional-api.md) - [All operations](https://skmtc.dev/fieldwire/apis/fieldwire-regional-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fieldwire/apis/fieldwire-regional-api/revisions/34b820438c0b?raw)
