Vault — Confirm Upload
Step 3 of the Vault upload flow. Registers the uploaded file in RMS and triggers async ingestion (parse → chunk → embed → index), returning immediately with the rms_document_id. Poll GET /v2/vault/status for processing status / readiness.
confirm is enqueue-and-return: it responds immediately with the rms_document_id. Processing runs in the background — poll GET /v2/vault/status with the returned rms_document_id until status is Synced. (Document status lives on /vault/status, not on this response.)
rms_document_id is populated for normal file uploads. It is null only when the upload deduplicates into an existing document (status: "already_exists") — in that case the document already exists and no new processing is enqueued.content_type by file type
Pass the canonical MIME type for the file’s type. If the content_type does not match the file, the document is not processed — always use the exact value from the table below.
The same content_type must be used at all three steps — presigned_url, the upload PUT (Content-Type header), and confirm. The upload URL is signed with it, so a mismatch is rejected with HTTP 403.
file_name extension first, falling back to content_type only when the name has no extension — so always send a file_name with the correct extension. Legacy Office (.xls/.xlsm/.xlsb/.doc/.ppt), audio, and HWP/HWPX are auto-converted to a renderable parse target during ingestion.document_id vs rms_document_id
These are two different identifiers created at different steps. Mixing them up is the most common integration error.
rms_document_id — never the presign document_id. When rms_document_id is null (dedup), there is no new id to poll; the existing document is already processed.Authorizations
Body
From the presigned_url response.
From the presigned_url response.
Original filename including the extension. The server resolves the file type from this extension first, so it must be correct.
"Q4_report.pdf"
Canonical MIME type for the file. Must match the value sent to presigned_url and the upload PUT Content-Type header. If the content_type does not match the file, the document is not processed. See the content_type table on this page for the value per file type.
"application/pdf"
personal, organization Organization ID (optional).
User id (optional).
User email (optional).
User name (optional).
Response
Upload confirmed / registered
RMS document id; null when the upload deduplicated into an existing document. Use it to poll GET /v2/vault/status.