---
title: "Upload files for a company"
method: POST
path: "/companies/{companyId}/connections/{connectionId}/files"
tags: ["File upload"]
---

# Upload files for a company

`POST /companies/{companyId}/connections/{connectionId}/files`

## Request

- Base URL: `https://api.codat.io`
- URL: `https://api.codat.io/companies/{companyId}/connections/{connectionId}/files`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/codatio/apis/lending/docs/companies/:companyId/connections/:connectionId/files/post.ts> (a function with typed inputs; its response is checked against the schema)

The *Upload files* endpoint uploads multiple files provided by the SMB to Codat. This may include personal identity documents, pitch decks, contracts, or files with accounting and banking data.

Uploaded files must meet the following requirements:

- Up to 20 files can be uploaded at a time.
- PDF, XLS, XLSX, XLSB, CSV, DOC, DOCX, PPT, PPTX, JPEG, JPG, and PNG files can be uploaded.
- Each file can be up to 10MB in size.

## Request body `multipart/form-data`

- FileUpload
  - `file` CodatFile, required (unresolved $ref)

## Response `200`

Success

## Other responses

- `400`: The request made is not valid.
- `401`: Your API request was not properly authorized.
- `402`: An account limit has been exceeded. The type of limit is described in the error property: - You have exceeded the 50-company limit that applies to a Free plan. Delete any companies you no longer need and retry the request. - The requested sync schedule is not allowed. You requested an hourly sync schedule but this functionality is not included in the Free plan. - Your Free account is older than 365 days and has expired. Contact support@codat.io.
- `403`: You are using an outdated API key or a key not associated with that resource.
- `404`: One or more of the resources you referenced could not be found. This might be because your company or data connection id is wrong, or was already deleted.
- `429`: Too many requests were made in a given amount of time. Wait a short period and then try again.
- `500`: There is a problem with our server. Please try again later.
- `503`: The Codat API is temporarily offline for maintenance. Please try again later.

## Changes

- **2024-02-13** `2244d9343d0a`: 8 info
  - added the optional property `validation` to the response with the `400` status
  - added the optional property `validation` to the response with the `401` status
  - added the optional property `validation` to the response with the `402` status
  - added the optional property `validation` to the response with the `403` status
  - …4 more
- **2023-12-15** `d2363a5eaf4b`: 2 breaking
  - added the new required request property `file`
  - the request's body type changed from `string` to `object`, and format from `binary` to no format
- **2023-10-23** `799afe3f1a9f`: 4 info
  - added the non-success response with the status `402`
  - added the non-success response with the status `403`
  - added the non-success response with the status `500`
  - added the non-success response with the status `503`

[Operation history](https://skmtc.dev/codatio/apis/lending/changes/companies/:companyId/connections/:connectionId/files/post.md)

---

[API](https://skmtc.dev/codatio/apis/lending.md) - [All operations](https://skmtc.dev/codatio/apis/lending/llms.txt) - [OpenAPI document](https://skmtc.dev/codatio/apis/lending/revisions/c81b2fd3063d?raw)
