---
title: "Upload a new document to the knowledge base"
method: POST
path: "/upload"
tags: ["Microsoft.KernelMemory.ServiceAssembly"]
---

# Upload a new document to the knowledge base

`POST /upload`

Upload a document consisting of one or more files to extract memories from. The extraction process happens asynchronously. If a document with the same ID already exists, it will be overwritten and the memories previously extracted will be updated.

## Response `200`

OK

## Other responses

- `202` — Accepted
- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `503` — Service Unavailable

## Changes

- **2025-05-08** `0c988a89a508` — 1 breaking
  - the `tags` request property type/format changed from `object`/`` to `array`/``
- **2025-03-22** `14051507a142` — 2 info
  - added optional request body
  - added the success response with the status `200`
- **2024-12-17** `f1234181a074` — 1 info
  - api operation id `UploadDocument` was added
- **2024-10-19** `10e0db8acfa5` — 2 breaking, 1 info
  - removed the request body
  - removed the success response with the status `200`
  - api operation id `UploadDocument` removed and replaced with ``

[Change history](https://skmtc.dev/azure/apis/microsoft-kernelmemory-serviceassembly/changes/upload/post.md)

---

[API](https://skmtc.dev/azure/apis/microsoft-kernelmemory-serviceassembly.md) · [All operations](https://skmtc.dev/azure/apis/microsoft-kernelmemory-serviceassembly/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/azure/microsoft-kernelmemory-serviceassembly/revisions/0c988a89a508/schema)
