Hanzo
OpenapiDataroom

Upload a document's bytes and record it

Takes the file ITSELF as the raw request body — not a JSON envelope, not multipart — stores it on the object-storage seam, and records the metadata row,…

POST /v1/dataroom/documents

Addresshttps://api.hanzo.ai/v1/dataroom/documents
MethodPOST
Operationpost_dataroom_documents
AuthAuthorization: Bearer $HANZO_API_KEY

Takes the file ITSELF as the raw request body — not a JSON envelope, not multipart — stores it on the object-storage seam, and records the metadata row, answering with the new document. ?name= names it (default "document"), the request's Content-Type becomes the recorded mime type, and ?numPages= is optional.

Requires a validated principal; 403 without one. An empty body is 400 and anything over 64 MiB is 413 — a data room holds decks and PDFs, not a media library.

The storage key is 128 random bits under the tenant's own key prefix, minted before the bytes are written: if the system's randomness is unavailable the upload fails 500 rather than fall back to a predictable key that could overwrite another document's bytes. A storage write that fails is 502 and no metadata row is recorded, so a document never exists without its file.

Request

The document declares no body for POST /v1/dataroom/documents. The handler is typed in cloud but its shape is not yet emitted, so the fields are not listed here — ask the MCP door's describe for post_dataroom_documents, which answers from the running route.

Response

The document declares no response body for this operation. It answers 200 on success and the platform error shape on failure — see Errors.

Examples

hanzo dataroom documents create

Dataroom API · All Hanzo APIs · Interactive reference

How is this guide?

On this page