docimprint

← All docs

Endpoint reference

DocImprint ·

Compact REST index — 54 operations grouped by job. Prefer guides when you need examples; use this page to find the route.

Base URL https://api.docimprint.com/v1/ · OpenAPI · Postman · Extract guide · Pricing · Agent use cases

Create evidence bundles from a URL or upload. Lean and async variants of the same route.

  • POST/v1/extract$0.075

    Extract

    Create a stored evidence bundle (screenshot, PDF, Markdown, OCR, optional AI mode + signed manifest). With store=true, default response is 202 + job_id.

  • POST/v1/extract$0.01

    Extract (lean)

    Return AI/text result inline with no ZIP or artifacts persisted. Use when you do not need verify/download later — cheaper than a full stored extract.

  • POST/v1/extract$0.075

    Extract (async)

    Queue extract work → 202 + job_id; poll GET /v1/jobs/{id} until complete. Default for stored extracts; use ?sync=true only for small documents.

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.

bash
# 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 pages

source_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.

bash
# 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.

Verify & download

Evidence bundles

Confirm integrity, pull the ZIP, and notarize on Base.

  • GET/v1/extract/{id}Free

    Bundle status

    Fetch bundle metadata: status, manifest_sha256, artifact refs, and notarization fields without downloading the ZIP.

  • GET/v1/extract/{id}/verifyFree

    Verify bundle

    Recompute SHA-256 over stored artifacts and compare to the signed manifest. Returns verified:true or 409 if anything was tampered with.

  • POST/v1/extract/{id}/verify-citationFree

    Verify citation

    Prove a chunk_id + quoted text is included in the bundle Merkle tree. Body: { chunk_id, text }. Use after collections ask / search citations.

  • GET/v1/extract/{id}/historyFree

    Version history

    Walk parent_bundle_id / superseded_by links for re-extracts of the same source. Useful when a page changed and you need the prior version.

  • GET/v1/extract/{id}/downloadFree

    Download ZIP

    Stream the full evidence package (manifest.json, signature.json, screenshot, PDF, Markdown, OCR text) as one archive.

  • GET/v1/extract/{id}/manifestFree

    Get manifest

    Download raw manifest.json bytes with X-Manifest-SHA256 header. Prefer verify for integrity checks; use this for offline inspection.

  • GET/v1/keysFree

    Signing keys

    List active and retired secp256k1 keys (key_id, signer_address, retired_at) for offline verification of ZIP + signature.json.

  • POST/v1/extract/{id}/notarize$0.05

    Notarize

    Anchor the bundle manifest hash on Base L2 (EAS attestation). Returns tx / attestation ids for public timestamping.

Custody

Legal hold, provenance, agent handoffs, and signed action receipts.

  • PUT/v1/extract/{id}/holdFree

    Legal hold

    Freeze a bundle so retention GC and DELETE cannot remove it. Use when litigation or investigation requires preservation.

  • DELETE/v1/extract/{id}/holdFree

    Release legal hold

    Clear an existing hold so normal retention and delete are allowed again.

  • DELETE/v1/extract/{id}Free

    Delete bundle

    Permanently delete stored evidence and artifacts. Blocked while on legal hold or after notarization until policy allows.

  • POST/v1/extract/{id}/revokeFree

    Revoke

    Revoke an EAS attestation for a previously notarized bundle so auditors see it as withdrawn. Notarize first.

  • GET/v1/extract/{id}/provenanceFree

    Provenance log

    List application-layer events (agent_id, action, query, result_summary) appended to this bundle over time.

  • POST/v1/extract/{id}/provenanceFree

    Append provenance

    Record what an agent did with this bundle (action + optional query/summary). Builds an audit trail beyond the signed ZIP.

  • POST/v1/extract/{id}/handoffFree

    Agent handoff

    Record a from_agent → to_agent custody transfer with an optional note. Call when ownership of the workflow moves between agents.

  • GET/v1/extract/{id}/chainFree

    Custody chain

    Ordered list of handoffs for a bundle — who held it and when. Pair with receipts for full chain-of-custody.

  • GET/v1/extract/{id}/receiptsFree

    List action receipts

    Signed receipts that bind a specific agent action to this bundle’s manifest_sha256. Proof the action ran against this exact evidence.

  • GET/v1/extract/receipts/{receipt_id}/verifyFree

    Verify action receipt

    Independently verify a receipt_id (capability token). Not owner-gated — anyone with the id can check signature + manifest binding.

Focused one-shot routes — summarize, Q&A, translate, claims, describe. No full bundle by default.

  • POST/v1/summarize$0.018

    Summarize

    Inline summary + key_points for a URL or upload. No evidence bundle stored. Add ?async=true to queue via jobs.

  • POST/v1/qa$0.022

    Q&A

    Ask a question about a document; returns answer, confidence, and citations. No bundle stored unless you use extract + mode.

  • POST/v1/translate$0.040

    Translate

    Translate page/document text to target_lang. Returns translated_text inline. Add ?async=true for long docs.

  • POST/v1/check-claims$0.025

    Check claims

    Body claims[] → per-claim verdict + evidence snippets from the source. Use for 10-K / press-release fact checks.

  • POST/v1/describe$0.018

    Describe

    Visual/layout description plus text_visible and detected objects. Good for screenshots and marketing pages.

Queue batch work and poll status.

  • POST/v1/jobs$0.075

    Batch jobs

    Queue multi-item extract work with optional webhook progress. Prefer this over many sync calls for large batches.

  • GET/v1/jobs/{id}Free

    Job status

    Poll status, progress_pct, error, and result / bundle_id for any async extract or focused ?async=true call.

Collections

Collections

Document memory: index bundles, search chunks, ask across docs.

  • POST/v1/collectionsFree

    Create collection

    Create a named corpus scoped to your wallet/API key. Add bundles later for search and cross-doc ask.

  • GET/v1/collectionsFree

    List collections

    List collections you own with ids and basic metadata.

  • GET/v1/collections/{id}Free

    Collection metadata

    Document count, index status, and collection settings for one id.

  • POST/v1/collections/{id}/documents$0.075

    Add document

    Attach an existing bundle_id (or ingest a new source) and index chunks into Vectorize for search/ask.

  • DELETE/v1/collections/{id}/documents/{bundle_id}Free

    Remove document

    Remove a bundle from the collection and delete its vectors. Does not delete the underlying evidence bundle.

  • POST/v1/collections/{id}/documents/{bundle_id}/reindexFree

    Reindex document

    Rebuild Vectorize chunks for a bundle already in the collection after content or embedding changes.

  • GET/v1/collections/{id}/search$0.03

    Search

    Semantic search over indexed chunks. Returns ranked hits with chunk_id and score for citation follow-up.

  • POST/v1/collections/{id}/ask$0.05

    Ask

    Cross-document Q&A with field-level citations (bundle_id + chunk_id). Verify quotes via verify-citation on the source bundle.

Watch URLs for change and pull history.

  • POST/v1/monitor$0.50

    Create monitor

    Watch a URL on a schedule and POST change events to your webhook_url. Mode controls diff vs re-extract behavior.

  • GET/v1/monitorFree

    List monitors

    List monitors for the authenticated owner, including remaining checks and last-run status.

  • GET/v1/monitor/{id}Free

    Monitor metadata

    Single monitor config: URL, webhook, mode, and current status.

  • GET/v1/monitor/{id}/historyFree

    Monitor history

    Chronological change detections / runs for one monitor — what changed and when.

  • DELETE/v1/monitor/{id}Free

    Delete monitor

    Stop watching the URL and remove the monitor registration.

Account & checkpoints

Quota, feedback, Merkle checkpoints, and the sample-bundle quickstart.

  • GET/v1/quotaFree

    Quota

    Credits used / remaining for the current billing period plus reset_at. Never consumes credits.

  • POST/v1/feedbackFree

    Feedback

    Send product feedback tied to your API key (bugs, feature requests). Free, no quota impact.

  • POST/v1/billing/portalFree

    Billing portal

    Create a Stripe Customer Portal session URL. Body must include `{ email }` matching the checkout email on the API key.

  • POST/v1/checkpointsFree

    Create checkpoint

    Build a Merkle checkpoint over recent completed bundles (optional Ed25519 signature) for batch integrity proofs.

  • GET/v1/checkpoints/{id}Free

    Get checkpoint

    Fetch a previously created checkpoint by id, including root hash and leaf set metadata.

  • GET/v1/checkpoints/proofFree

    Checkpoint proof

    Get a Merkle inclusion proof for a leaf_hash or bundle_id against a checkpoint root.

  • GET/v1/checkpoints/public-keyFree

    Checkpoint public key

    Ed25519 public key used to verify checkpoint signatures offline.

  • POST/v1/quickstart/sample-bundle$0.01

    Sample bundle

    Mint a ready-made sample evidence bundle for onboarding demos without uploading your own file.

Machine-readable entry points for agents and SDK generators.

  • GET/Free

    API root

    Health check plus links to agent.json, OpenAPI, and SKILL.md. No auth required.

  • GET/.well-known/agent.jsonFree

    Agent Card

    A2A discovery document: capabilities, auth, pricing, and endpoint URLs for agent orchestrators.

  • GET/.well-known/darkroom-keys.jsonFree

    Signing keys (well-known)

    Same payload as GET /v1/keys — well-known path for clients that expect /.well-known/darkroom-keys.json.

  • GET/openapi.jsonFree

    OpenAPI

    OpenAPI 3.1 schema for the full REST surface — use for codegen, SDKs, and HTTP agents.

  • GET/SKILL.mdFree

    SKILL.md

    Plain-text onboarding for LLMs: when to call which endpoint and how to pay.

Where is the complete DocImprint API reference?

This page lists customer endpoints: extract & evidence (including receipts, provenance, handoff chain), focused lean routes, jobs, collections, monitor, account & checkpoints, and discovery. Machine-readable spec: https://api.docimprint.com/openapi.json.

Which endpoints should my agent call?

See /docs/reference/agent-use-cases for endpoint lists by agent type (legal, finance, insurance, research, monitoring) in typical call order.

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?

https://api.docimprint.com/v1/.

Related