---
title: "Upload multiple files"
method: POST
path: "/upload_files"
tags: ["File Handling"]
---

# Upload multiple files

`POST /upload_files`

## Request body

- object
  - `files` object[]
    - `file_name` string — The name of the file to be uploaded.
    - `file_content` string, byte — Base64 encoded content of the file.
  - `user_id` string — The user ID associated with the files. Required if project_id is not provided.
  - `project_id` string — The project ID associated with the files. Required if user_id is not provided.

## Response `200`

All files uploaded successfully

- object
  - `success` boolean
  - `uploaded_files` string[] — Array of uploaded file names.

## Other responses

- `207` — Partial success (some files failed to upload)
- `400` — Bad request (missing files or required parameters)
- `401` — Unauthorized (missing or invalid API key)
- `403` — Forbidden (API key does not match)
- `500` — Internal server error (all file uploads failed)

---

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