---
title: "Direct document ingestion (≤50 MB) · 1 credit (+1 for premium transcription)"
method: POST
path: "/api/v1/cases/{caseId}/documents"
tags: ["Cases"]
---

# Direct document ingestion (≤50 MB) · 1 credit (+1 for premium transcription)

`POST /api/v1/cases/{caseId}/documents`

## Request

- Base URL: `https://legal.nexusquantum.legal`
- URL: `https://legal.nexusquantum.legal/api/v1/cases/{caseId}/documents`
- Auth: HTTP bearer

multipart/form-data: `file` (REQUIRED) + optional `doc_type` (catalog), `document_date` (YYYY-MM-DD, the date OF the document), `privileged` (work product), `language`, `engine` (standard|premium, audio/video only). The debit is performed by the internal ingestion route (single debit + refund on failure). The caller's metadata is NOT overwritten by auto-extraction. Large files (audio ≤200 MB / video ≤500 MB): presign+process flow. `source_url` NOT supported (SSRF surface — deferred). ⚠️ Sliding window: each ingestion rearms `purge_after`.

## Path parameters

- `caseId` string, uuid, required

## Response `201`

{ document: CaseDocument, chunks_stored, credits_charged }

## Other responses

- `402`: INSUFFICIENT_CREDITS
- `413`: FILE_TOO_LARGE (>50 MB direct)
- `415`: UNSUPPORTED_FILE_TYPE
- `422`: NO_TEXT_EXTRACTED (file with no text; credit refunded by the internal route)

---

[API](https://skmtc.dev/nexusquantum/apis/nexus-legal-api.md) · [All operations](https://skmtc.dev/nexusquantum/apis/nexus-legal-api/llms.txt) · [OpenAPI document](https://skmtc.dev/nexusquantum/apis/nexus-legal-api/revisions/4084d8d4eb0b?raw)
