Skip to main content
This endpoint is Step 3 of a 3-step upload process. Files must first be uploaded to temporary storage via signed URL before being associated with a session. See the complete upload guide for the full flow.

How It Works

This endpoint handles upload attach: create or reuse workspace documents from uploaded key(s). To attach already existing documents, use POST /extractions/sessions/{sessionId}/documents/attach.

Authentication & Scope

Requires the sessions-write ability.

Request

This endpoint expects JSON (not binary upload).

Path Parameters

Body Parameters

Supported Formats

  • PDF (.pdf)
  • Microsoft Word (.docx, .doc)
  • Images (.png, .jpg, .jpeg, .tiff)
  • PowerPoint (.pptx)

Response

200 OK – Documents attached.
Upload/import is storage-only. Parsing is requested explicitly (reparse endpoint) or at extraction run time when required.
Deduplication is content-based at workspace scope. If uploaded bytes match an existing document (sha256), the API reuses that document and only creates the session attachment.
422 Unprocessable Entity – Invalid key or unsupported file format.

Quick Reference: Complete Upload Flow

1

Get signed upload URL

Returns url, key, and headers for the S3 upload.
2

Upload file to S3

3

Create document record (this endpoint)

For detailed code examples in JavaScript and Python, see the Uploading Documents cookbook.