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

# Upload file

`POST /api/v1/files`

Upload a reusable file that can later be referenced by run inputs or dataset examples.

## Response `200`

Uploaded file

- File
  - `id` string, required
  - `filename` string, required
  - `contentType` string, nullable, required
  - `size` integer, nullable, required
  - `purpose` string, nullable
  - `createdAt` union, required
    - string
    - string

## Other responses

- `400` — Validation error. Request shape did not match the spec.
- `401` — Missing or invalid API key
- `403` — API key lacks required scope
- `404` — Resource not found
- `413` — Payload too large. Upload exceeded the per-request size cap.
- `429` — Rate limit exceeded
- `500` — Internal server error

---

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