---
title: "Upload a file"
method: POST
path: "/v1/files"
tags: ["Files"]
---

# Upload a file

`POST /v1/files`

Upload an Excel spreadsheet file for later processing.

Supported formats:
- Excel (.xlsx)

Maximum file size: 100 MB

## Response `201`

Successful Response

- FileResponse — Response representing an uploaded file. This is returned from POST (upload), GET (retrieve), and list endpoints.
  - `id` string, required — The unique identifier for this file.
  - `object` 'file', required — The object type, which is always 'file'.
  - `file_name` string, required — The original filename of the uploaded file.
  - `content_type` string, required — The MIME type of the file.
  - `size` integer, required — The size of the file in bytes.
  - `created_at` string, date-time, required — The timestamp when the file was uploaded.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `422` — Unprocessable Content
- `429` — Too Many Requests

## Changes

- **2026-01-30** `343b87354807` — 2 info
  - the response property `object` became required for the status `201`
  - the `object` response's property default value `file` was removed for the status `201`
- **2026-01-26** `f87ec588f22a` — 3 info
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - added the non-success response with the status `429`

[Change history](https://skmtc.dev/deeptable-com/apis/deeptable-api/changes/v1/files/post.md)

---

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