Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.docex.dev/llms.txt

Use this file to discover all available pages before exploring further.

Uploads

Docex uses presigned upload URLs to keep large files out of API request bodies. Your client uploads directly to storage, then references the upload ID when creating a run.

Presign an upload

POST /v1/uploads/presign

Headers

x-api-key
string
required
Your Docex API key.

Body

fileName
string
required
Original file name including extension.
contentLength
number
required
File size in bytes.

Response

{
  "uploadId": "ul_abc123",
  "uploadUrl": "https://..."
}

Upload the file

PUT <uploadUrl>
Content-Type: application/octet-stream

<raw-file-bytes>
The upload URL is time-limited. Upload immediately after presigning.

Supported file types

ExtensionType
.jpg, .jpegImage
.pngImage
.heicImage
.pdfDocument

SDK example

const docex = createDocex({ apiKey, baseUrl });

// The SDK handles presign + upload automatically:
const result = await docex.run({
  file: "./invoice.pdf",     // SDK reads file, presigns, uploads
  prompt: "Extract line items, totals, and vendor details",
});