On this pageEndpoint reference
Endpoint reference
Aly Sawft · Founder & Engineer, Sawftware LLC ·
Where is the complete DocImprint API reference?
This page lists every endpoint: POST /v1/extract modes, collections, jobs, monitor, bundle management, verify, download, notarize, and legal hold. Machine-readable spec: https://api.docimprint.com/openapi.json.
Which endpoints are free on DocImprint?
All GET endpoints: verify, download, history, signing keys (GET /v1/keys), bundle status, version history, and verify-citation. POST endpoints are charged per mode pricing table.
What is the base URL for DocImprint API?
Production: https://api.docimprint.com/v1/. Staging uses Base Sepolia with mock x402 facilitator. Set VITE_GATEWAY_ORIGIN for frontend playground configuration.
Endpoint reference
Compact REST index. For request examples and mode details, see the Extract guide and topic pages in the sidebar.
▸Extract & evidence
POST /v1/extract$0.075Document intelligence: screenshot, PDF, Markdown, OCR, AI modes, evidence bundle.
POST /v1/extract$0.01Text-only response without artifact storage.
POST /v1/extract$0.075Default for store=true: returns 202 + job_id. Poll GET /v1/jobs/{id}. Use ?sync=true for inline 200.
GET /v1/extract/{id}FreeRetrieve manifest and artifact references.
GET /v1/extract/{id}/verifyFreeDeep-verify: recompute manifest + artifact SHA-256 from storage; 409 on tamper.
POST /v1/extract/{id}/verify-citationFreeMerkle inclusion proof for a chunk_id + quoted text.
GET /v1/extract/{id}/historyFreeDocument version chain via parent_bundle_id / superseded_by.
PUT /v1/extract/{id}/holdFreeBlock retention GC on a bundle (law-firm compliance).
GET /v1/keysFreeActive and retired secp256k1 keys (key_id, signer_address, retired_at) for offline ZIP + signature.json verification.
GET /v1/extract/{id}/downloadFreeStream all artifacts as a single archive.
POST /v1/extract/{id}/notarize$0.05Anchor manifest hash on Base L2.
▸Focused endpoints
POST /v1/summarize$0.018Lean summary + key points. No bundle stored. Add ?async=true to queue.
POST /v1/qa$0.022Cited answer to a question about a URL or document. Add ?async=true to queue.
POST /v1/translate$0.040Full-page translation to target language. Add ?async=true to queue.
POST /v1/check-claims$0.025Verdict + evidence for each claim. Add ?async=true to queue.
POST /v1/describe$0.018Visual description, visible text, detected objects. Add ?async=true to queue.
▸Jobs
POST /v1/jobs$0.075Queue multi-item extract jobs with webhook progress.
GET /v1/jobs/{id}FreeProgress, result, and error for async work.
▸Collections
POST /v1/collectionsFreeWallet-scoped document corpus.
GET /v1/collectionsFreeList collections for the paying wallet.
GET /v1/collections/{id}FreeDocument count and index status.
POST /v1/collections/{id}/documents$0.075Add bundle_id or ingest source and index chunks.
DELETE /v1/collections/{id}/documents/{bundle_id}FreeRemove from collection and delete vectors.
GET /v1/collections/{id}/search$0.03Semantic search over indexed chunks.
POST /v1/collections/{id}/ask$0.05Cross-document QA with field-level citations.
▸Monitor
POST /v1/monitor$0.50Register URL monitor with webhook callbacks.
GET /v1/monitor/{id}/historyFreeChange history for a monitor.
Per-endpoint pricing: Pricing page →
Advanced parameters
Two params on POST /v1/extract unlock large-document and authenticated-source workflows without changing pricing or the 4 MB limit.
pages: "1-50" — slice a PDF by page range before OCR
Process a 200-page contract in sections. Only applies to binary/multipart PDF uploads; silently ignored for URL sources and non-PDF files.
# Process only pages 1–50 of a large PDF upload
# Useful for large contracts: split a 200-page file into sections
curl -X POST https://api.docimprint.com/v1/extract \
-H "Authorization: Bearer dr_live_..." \
-H "Content-Type: application/pdf" \
--data-binary @large-contract.pdf \
-F "pages=1-50"
# JSON body (multipart or URL source)
curl -X POST https://api.docimprint.com/v1/extract \
-H "Authorization: Bearer dr_live_..." \
-H "Content-Type: application/json" \
-d '{"source": "https://cdn.example.com/contract.pdf", "pages": "51-100"}'
# Response: metadata.pages reflects the slice count, not the total document pagessource_headers — forward auth headers to a DMS endpoint
Pass an Authorization token when fetching from any authenticated URL source. Never stored in the bundle or logs.
# Fetch a document from an authenticated DMS endpoint
# Works with iManage, NetDocuments, SharePoint, and any Bearer-token URL
curl -X POST https://api.docimprint.com/v1/extract \
-H "Authorization: Bearer dr_live_..." \
-H "Content-Type: application/json" \
-d '{
"source": "https://firm.imanage.com/work/documents/123/download",
"source_headers": { "Authorization": "Bearer <dms-token>" },
"mode": "summarize"
}'
# source_headers are never stored in the evidence bundle or logs.
# Forbidden hop-by-hop headers (host, content-length, etc.) are stripped automatically.Retired endpoints(expand)
Standalone screenshot, PDF, and describe routes return 410 Gone. Use POST /v1/extract with include or mode instead. Extract guide →
| Legacy route | Migration |
|---|---|
| POST /v1/screenshot | Use POST /v1/extract with include: ["screenshot"]. |
| POST /v1/pdf | Use POST /v1/extract with include: ["pdf"]. |