Documents

Store a file on immut and create permanent proof

POSThttps://backend.immut.io/api/v1/documents

Required scope: documents:write

Multipart field file (required) and workspace (required). Preferred path for the public agent skill. ⛔ Send the ORIGINAL bytes. immut checks that they match the filename and refuses with 400 FILE_BYTES_NOT_VERIFIED if they do not. The usual cause is an AI sending text it extracted from a document rather than the file itself, which would anchor a proof of the text and not of the customer's file. If you cannot open the file from the disk, say so rather than reconstructing it.

Request body

Content type: multipart/form-data (required)

FieldTypeRequiredDescription
filefileyesmultipart file field (required)
workspacestringyesworkspace id (required)
titlestringnooptional
categorystringnooptional
folderstringnooptional folder id

Responses

StatusMeaning
201Created. data is the stored document, including its id.
400BadRequest
401Unauthorized
403Forbidden
429RateLimited

Example

curl -X POST "https://backend.immut.io/api/v1/documents" \
  -H "Authorization: Bearer $IMMUT_API_KEY" \
  -F "file=@/path/to/file" \
  -F "workspace=<workspace>" \
  -F "title=<title>" \
  -F "category=<category>" \
  -F "folder=<folder>"

Generated from the immut API contract, version 1.14.0. Machine-readable: this page as markdown · everything in one file · OpenAPI