Skip to main content

ndi-cli

ndi — the NDI platform CLI. Document operations, jobs, and workspace lifecycle wrap the same /v1 methods as ndi-sdk. ask-file also runs inside an agent sandbox, next to the file commands only an agent run has; every other verb is refused there.

Setup

ndi login                                          # browser device-code; writes ~/.ndi/config.toml
export NDI_BASE_URL="https://ndi-api.nace.ai"      # optional; default shown
export NDI_WORKSPACE_ID="<workspace uuid>"         # or: ndi workspace use <id>

$NDI_API_KEY still wins over the file. $NDI_CONFIG_PATH overrides the config location. Workspace-scoped verbs also take --workspace ID.

Commands

Command Use
ndi login Authorize and save the API key
ndi version CLI + SDK versions
ndi upload FILE Stage bytes; prints ndi://upload/<id>
ndi parse SOURCE Markdown / text / blocks
ndi extract SOURCE -s SCHEMA Structured extract (--validate checks a schema with no job)
ndi split SOURCE --class id:label Logical sections
ndi classify SOURCE --class id:label Labels (refuses jobid://)
ndi ground SOURCE --target id=TEXT Locate quoted text (standalone quotes only; after search, poll grounding_job_ids)
ndi job ID / ndi jobs / ndi cancel ID Inspect or cancel jobs
ndi workspace create|list|get|stats|delete|use Workspace lifecycle
ndi workspace global-context [--set TEXT|--file PATH|--clear] Show, replace, or remove (--clear) the background every query without --context runs with; --no-context on a query runs with none
ndi files upload|list|get|delete Workspace files (a directory walks nested files; --ingest then queues ingestion)
ndi ingest Queue ingestion
ndi automatic-search QUERY Service answers with fact search or an agent over files, tables and the catalog; prints the route, the output job id, and the answer (plus the catalog table when there is one)
ndi deep-search QUERY / ndi fact-search QUERY Agentic / single-shot search (--path on deep-search scopes it to files); then ndi job on each printed grounding_job_ids entry
ndi filtered-search QUERY Corpus filter/rank/count over the metadata catalog (--cursor pages an earlier run)
ndi je-testing QUERY Journal-entry testing over a ledger package (--path to scope it, --reasoning-effort for the thinking budget)
ndi ledger-understanding start|get|sources|select|selection Measure the ledger package, confirm sources, or read the latest report
ndi ask-file PATH QUESTION Cited answer over one document, image or recording

Sources

SOURCE for document ops:

  • local file — uploaded, then the handle is used
  • directory — supported files, one job each (-j N, default 4)
  • https://... — fetched by the server
  • ndi://upload/<uuid> — a prior ndi upload
  • jobid://<uuid> or a bare UUID — reuse a parse job (not classify)
  • ws://<file_id> — a workspace file (needs a workspace)
  • - — a jobid:// / UUID line, or raw bytes with --file-name
ndi parse a.pdf -o id | ndi extract - -s schema.json
ndi files upload ./corpus --ingest
ndi ledger-understanding start          # --force to re-scan; --selection-id after confirm
ndi ledger-understanding get
ndi ledger-understanding sources --review-reading-id READING
ndi ledger-understanding select --primary SRC --supporting SRC --revision REV

ndi files upload DIR keeps relative paths under --path (default: the directory name) and uploads in parallel (-j, default 8). Unsupported files (and .DS_Store) are skipped; a warning on stderr lists them when the run finishes. --ingest then queues ingestion in batches of 1000 file ids. A single file still requires --path.

Output

Result content goes to stdout; status (job <id> queued, saved …) goes to stderr. -o auto|md|json|payload|id picks the shape. --json is an alias for -o json.

The default (auto) prints the full JSON response. When that is over $NDI_OUTPUT_LIMIT characters (default 40,000), the compact text rendering prints instead and stderr carries note: output shortened … with the full size. --json always prints it whole, and --save / --out-dir always write it whole. Commands whose output is the content itself (ws context, parse markdown) print it as before. --save PATH / --out-dir DIR write files. --async submits and prints the job id.

When a Parse result has external complete content, -o auto and -o md print the inline preview. Use -o json or -o payload to inspect its disclosure and authenticated full-content URL. A final-size preview carries content_truncated; reduced-layout Office parsing carries parse_fidelity. Documents use document.content_url; workbooks use the affected document.spreadsheet.sheets[].content_url. The CLI does not download these URLs automatically.

API failures exit 1. Usage / config errors exit 2. Schema-validation failures also show up to five field constraints, each limited to 500 characters; request input and unrelated error-detail fields are omitted. Unsupported inputs print error: 422 [unsupported_file_type] ... to stderr and exit 1. ndi upload prints no handle, document operations print no job ID, and ndi files upload --ingest creates no workspace file or ingestion job. The server checks a bounded byte prefix, rejects conclusive filename/content conflicts, and treats the multipart Content-Type as advisory.

See the CLI guide for the full command reference. SKILL.md is the agent-facing guide to reading a workspace with ndi.

Metadata

Release files for ndi-cli 0.21.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ndi-cli 0.21.0
File Size Uploaded
ndi_cli-0.21.0.tar.gz 45.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ndi-cli 0.21.0
File Interpreter ABI Platform
ndi_cli-0.21.0-py3-none-any.whl Python 3 none any Details

Total release size: 97.6 kB

Release files / ndi_cli-0.21.0.tar.gz

Download URL ndi_cli-0.21.0.tar.gz
Size 45.3 kB
Tags Source
SHA-256 checksum
How to use checksums
386a5b58f6c3cbde05d3cbee1c3568d7a246fb357c96a0575cdc3914e7c546e6
BLAKE2b-256 checksum
How to use checksums
029af3bc9ab13f1cfde486aa6158e7a225a123a7483b6ef41736f2d7d0d60c95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / ndi_cli-0.21.0-py3-none-any.whl

Download URL ndi_cli-0.21.0-py3-none-any.whl
Size 52.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
96c0c607cf9d289833b427eba80cdf2ffb53acfaacaab03fb8a4ff025d4db32d
BLAKE2b-256 checksum
How to use checksums
127b76a4fffd69eb93ef449c85c17b987314b4f20e5c59d0a57c09c45c6d5ed8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release history Release notifications | RSS feed

0.29.0

2 release files

0.28.1

2 release files

0.28.0

2 release files

0.27.0

2 release files

0.26.0

2 release files

0.25.0

2 release files

This release

0.21.0 This release

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page