Skip to main content
NDI supports two integration patterns. They can coexist, and you can adopt workspaces later without breaking granular operations.

Granular operations

No workspace. Parse, classify, extract, or ground individual documents and get back results immediately.
  • Provide a document via POST /v1/uploads, a public URL, or a workspace file reference.
  • Call an operation: POST /v1/parse
  • Get results: markdown, categories, extracted JSON, or target locations.
  • Results include presigned URLs that expire when the job’s payload_expires_at passes.
Use granular when:
  • You want single-document intelligence without long-term storage.
  • You’re analyzing a one-off PDF or spreadsheet.
  • You’re integrating document intelligence into an existing pipeline.
Example:

Workspace workflows

Persistent storage + derived outputs + querying. Upload files into a workspace, trigger ingestion to build derivatives (parsed markdown, extracted tables, search indexes), then query the corpus.
  • Create a workspace with a chosen domain and access labels.
  • Upload files: POST /v1/workspaces/{workspace_id}/files
  • Ingest files to create derivatives: POST /v1/workspaces/{workspace_id}/ingestions
  • Query with tools: search, file reading and QA, knowledge graph walk, intelligent search.
Use workspaces when:
  • You maintain a corpus of documents (engagement files, reference materials).
  • You need to search or query across many files.
  • You want to build a knowledge graph of relationships.
  • You need to track file history and versions.
Example:

Key differences


Shared concepts

Both patterns share:
  • AuthenticationX-API-Key header
  • Job lifecycle — POST returns 200/202, poll with GET /v1/jobs/{job_id}
  • IdempotencyIdempotency-Key header for replay safety
  • Errors — typed error codes and messages
See Jobs and idempotency for details on async semantics.