flows: plan on flows use for your Flow and separately reference pipelines by their IDs.
Command groups
- CRUD:
pipelines list/get/create/update/delete - Nodes:
pipelines nodes add/list/update/remove - Edges:
pipelines edges connect/list/update/delete - Schedule:
pipelines schedule set/clear - Runs:
pipelines dry-run,pipelines run file/document/folder - Programmatic invoke:
pipelines invoke,pipelines rotate-secret - Blocks:
pipelines blocks test/ingest-local - Palette introspection:
pipelines palette,pipelines block - Publish:
pipelines publish/rollback,pipelines publications list/live - Logs:
pipelines logs list/get - Bulk:
pipelines sync - Cloud ingest:
pipelines ingest-cloud
Pipeline CRUD
List / get
list gives one row per pipeline. get prints full metadata plus nodes and edges.
Create
--name(required): display name.--stages(required): comma list of stage names in order.--id <id>: optional explicit ID; otherwise server mints.--vector-store pgvector|qdrant: index backend for the output stage.
Update
--set-name <n>,--set-stages <s,…>,--set-vector-store <backend>.
Delete
Nodes
Nodes are the individual blocks in the pipeline canvas: each palette entry (src_local, chunk_markdown, embed_openai, etc.) becomes a node instance.
List
Add
--palette-id(required): the palette entry ID.--stage(required): which pipeline stage.--title,--icon,--tone(required): display.--order(required): visual order within the stage.--id <id>: explicit ID; server mints if omitted.--sublabel <text>: small caption under title.--config <json>: block-specific config.--notes <text>: free-text notes.--output-ports <json>: override the palette’s default output ports.
Update
--set-* flags: --set-title, --set-sublabel, --clear-sublabel, --set-stage, --set-order, --set-config, --set-notes, --clear-notes, --set-output-ports.
Remove
Edges
List / connect / update / delete
--from-node-id, --to-node-id (required), --id <id>, --from-port <port>, --label <text>.
Schedule
Set
--cron <expr>: 5-field cron.--tz <IANA>: timezone.--target <tag>: the folder tag to process on each run.--sample <n>: cap items per scheduled run.
--cron to keep the current one, e.g. change only the target.
Clear
Running a pipeline
Dry-run against inline text
Run against a file
Run against a stored document
Run against a folder
billing (up to --max-documents).
Programmatic invoke
invoke: call the API trigger
curl /foundry/:apiSlug against the public endpoint, minus the per-trigger auth (your workspace PAT already covers it). Async: returns runId + statusUrl immediately; the background executor drives the DAG.
Flags:
--input <JSON|@file|->: payload.-reads stdin;@filereads a file; literal starting with{/[is parsed as JSON, else wrapped as a JSON string.--variables <JSON|@file|->: per-run flow variable overrides. Merged over pipeline defaults; unknown keys are ignored.--idempotency-key <string>: dedupe key. Same key → samerunId(no new execution).--test: run the current DRAFT graph instead of the published snapshot. Skips the “publish first” gate. Use during iteration; publish before shipping externally.
rotate-secret: rotate an API trigger’s inbound token
trg_http_api node’s apiAuthSecret. The DRAFT and (if the pipeline has a live publication) a new live version with only that trigger’s secret swapped both land atomically. External callers 401 the moment this returns.
The plaintext token is printed to stdout once; save it immediately (secret manager, vault). There’s no “print again” path.
Single-block testing
src_local nodes on a running pipeline:
Palette introspection
palette: list palette IDs
legacyHidden entries. Use the id column as --palette-id on nora pipelines nodes add. Pair with pipelines block to see the config shape before you write a --config JSON.
Flags:
--stage <stage>: narrow to one stage. Also acceptslegacy.--profile core|generic:core(default) hides medical / insurance / saas vertical items;genericshows everything.
block: schema for one palette id
--config payload for nora pipelines nodes add without guessing keys.
Publishing pipelines
Pipelines version and publish like Flows.Publish
Rollback
seq=5.
Publications
list shows history. live fetches the currently-live payload.
Logs
List runs
--status ok|error--search <text>: full-text over log payloads.--since <ISO>/--until <ISO>--run-kind <kind>: filter by which entry point.--limit <n>: max rows.--json: machine-readable.
Get one
Bulk sync
Cloud ingest
src_cloud node (Google Drive, S3, etc.). Otherwise these run only on the schedule.