---
title: "Upload a document"
method: POST
path: "/v3/ai-sdr/knowledge-bases/{knowledge_base_id}/documents"
tags: ["AI SDR Knowledge Bases"]
---

# Upload a document

`POST /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/documents`

<small>_Requires the `ai-sdr:write` scope (or a broader one that includes it)._</small>

Uploads a file document to a knowledge base. Maximum upload size: 100 MB.

Requires the AI SDR feature on the caller's team.

## Path parameters

- `knowledge_base_id` integer, required

## Response `201`

Document uploaded successfully

- object — A file document attached to a knowledge base.
  - `id` string, uuid — Unique identifier for the document
  - `createdAt` string, date-time — Timestamp when the document was uploaded
  - `name` string — Original name of the uploaded file

## Other responses

- `400` — Missing/empty file or upstream rejection (unsupported format, file too large)
- `401` — Unauthorized. The response body is empty; check the `WWW-Authenticate` header for the expected scheme.
- `403` — AI SDR feature is not available for the caller's team
- `404` — Knowledge base not found
- `502` — Upstream AI SDR service failure

---

[API](https://skmtc.net/reply/apis/reply-api.md) · [All operations](https://skmtc.net/reply/apis/reply-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/reply/reply-api/revisions/1c3d32eaf95e/schema)
