---
title: "Upload Documents"
method: POST
path: "/api/document/upload"
tags: ["document"]
---

# Upload Documents

`POST /api/document/upload`

Upload multiple documents to a workspace with encryption.
Documents are queued for processing, parsed, and indexed for vector search.

Requires active subscription (paid/trial/dev) if Stripe is configured.

## Query parameters

- `workspace_ext_id` string, required
- `shared` boolean — Whether the document should be shared with workspace members
- `config_ext_id` string, nullable — Configuration to use for processing

## Headers

- `workspace-key` string

## Response `200`

Successful Response

- UploadDocumentsResponse — Response for document upload operations. Returns array of document IDs in the same order as uploaded files.
  - `doc_ext_ids` string[], required

## Other responses

- `422` — Validation Error

## Changes

- **2025-12-19** `7073d8652386` — 1 breaking, 1 info
  - the response's body type/format changed from ``/`` to `object`/`` for status `200`
  - added the required property `doc_ext_ids` to the response with the `200` status
- **2025-10-28** `849d5e8732f6` — 1 info
  - added the new optional `header` request parameter `workspace-key`
- **2025-10-10** `ba5ad76fe6cd` — 1 info
  - added optional request body
- **2025-10-06** `8d3e894e6c0b` — 2 breaking
  - removed the request body
  - the response's body type/format changed from `object`/`` to ``/`` for status `200`
- **2025-08-21** `84efd317dcde` — 1 breaking
  - the response's body type/format changed from ``/`` to `object`/`` for status `200`

[Full history](https://skmtc.dev/arbicity/apis/arbi/changes/api/document/upload/post.md)

---

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