---
title: "Upload Employee File"
method: POST
path: "/api/v1/employees/{id}/files"
tags: ["Employee Files", "Public API"]
---

# Upload Employee File

`POST /api/v1/employees/{id}/files`

Uploads a file to an employee's file section. The request must be a `multipart/form-data` POST. On success, a `Location` header is returned with the URL of the newly created file resource. The file must be under 20MB and use a supported extension. Pass `0` as the employee ID to use the employee associated with the authenticated caller. Employees may upload to their own folder if the company has employee document uploads enabled.

OAuth Scopes: employee:file.write

## Path parameters

- `id` string, required

## Response `201`

The file was uploaded successfully. The `Location` header contains the URL of the new file resource.

## Other responses

- `400` — The request is invalid: missing file name, missing file, zero-byte file, or unsupported file extension.
- `403` — The API user does not have permission to access the requested employee or their file section.
- `404` — The employee or the specified file category was not found.
- `413` — The file exceeds the 20MB limit or the company's storage limit.
- `503` — The file storage API is temporarily unavailable.

---

[API](https://skmtc.net/bamboohr/apis/bamboohr-api.md) · [All operations](https://skmtc.net/bamboohr/apis/bamboohr-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bamboohr/bamboohr-api/versions/19ebf391a399/schema)
