---
title: "Create Company Attachment and Upload File"
method: POST
path: "/v1/companies/{company_id}/attachments"
tags: ["Company Attachment"]
---

# Create Company Attachment and Upload File

`POST /v1/companies/{company_id}/attachments`

Upload a file and create a company attachment. We recommend uploading PDF files for optimal compatibility. However, the following file types are allowed: .qbb, .qbm, .gif, .jpg, .png, .pdf, .xls, .xlsx, .doc and .docx.

### Related guides
- [Manage company attachments](https://docs.gusto.com/embedded-payroll/docs/manage-company-attachments)

scope: `company_attachments:write`

## Path parameters

- `company_id` string, required

## Headers

- `X-Gusto-API-Version` '2026-06-15'

## Response `201`

Created

- CompanyAttachment — The company attachment
  - `uuid` string, required — UUID of the company attachment
  - `name` string, required — name of the file uploaded
  - `category` 'gep_notice' | 'compliance' | 'other', required — The category of the company attachment. - `gep_notice`: A tax notice attachment - `compliance`: A compliance attachment - `other`: Any other attachment type
  - `upload_time` string, required — The ISO 8601 timestamp of when an attachment was uploaded

## Other responses

- `404` — Not Found The requested resource does not exist. Make sure the provided UUID is valid.
- `422` — Unprocessable Entity This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details.

---

[API](https://skmtc.net/gusto/apis/gusto-api.md) · [All operations](https://skmtc.net/gusto/apis/gusto-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gusto/gusto-api/revisions/826dfa57fb3b/schema)
