CLI reference
Every command, every flag, every example. The CLI is a peer consumer of the canonical APIs — anything you can click in the dashboard, you can script here.
vadyl auth login
vadyl auth login [--api-key <key>] [--api-secret <secret>] [--no-browser]Sign in. Opens browser by default; supports headless API-key for CI.
| Name | Type | Description |
|---|---|---|
--api-key | string | Programmatic API key (machine-to-machine). |
--api-secret | string | Paired secret for the API key. |
--no-browser | bool | Force device-code flow (no browser). |
vadyl auth login
vadyl auth login --api-key "$VADYL_API_KEY" --api-secret "$VADYL_API_SECRET"
{
"command": "vadyl auth login",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl auth logout
{
"ok": true,
"command": "vadyl auth logout",
"correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42"
}vadyl auth whoami
vadyl auth whoami [--output json]Show the current actor identity, scopes, and auth strength.
vadyl auth whoami
vadyl auth whoami --output json | jq '.subjectId'
{
"command": "vadyl auth whoami",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl auth token
vadyl auth token [--ttl <duration>]Print a fresh bearer token (refreshes automatically).
| Name | Type | Description |
|---|---|---|
--ttl | duration | Min remaining validity (e.g. 30m). Default 5m. |
export VADYL_TOKEN="$(vadyl auth token)"
{
"command": "vadyl auth token",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Name | Type | Description |
|---|---|---|
--parent | string | Filter to descendants of a parent. |
vadyl project list
vadyl project list --parent acme/billing
{
"command": "vadyl project list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl project use orders-prod
{
"command": "vadyl project use",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl project create
vadyl project create <slug> [--parent <id>] [--region <region>]Create a new project (root or child).
| Name | Type | Description |
|---|---|---|
--parent | string | Parent project id for nested creation. |
--region | string | Region binding. |
vadyl project create my-app
vadyl project create checkout --parent acme/storefront --region us-east-1
{
"command": "vadyl project create",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl project show
vadyl project show [<slug>] [--output json]Inspect project metadata, hierarchy, capability grants.
vadyl project show orders-prod
{
"command": "vadyl project show",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl project suspend
vadyl project suspend <slug>Suspend the project (denies writes; reads still allowed).
vadyl project suspend orders-stg
{
"command": "vadyl project suspend",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl project resume orders-stg
{
"command": "vadyl project resume",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl entity list
vadyl entity list --output json | jq '.[] | .name'
{
"command": "vadyl entity list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl entity get
vadyl entity get <name> [--include relations,indexes,access] [--output json]Show full entity definition.
| Name | Type | Description |
|---|---|---|
--include | csv | Sections to include — relations, indexes, access, validation. |
vadyl entity get Order --include relations,indexes
{
"command": "vadyl entity get",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl entity create
vadyl entity create <name> --schema <file>Create entity from a typed schema file.
| Name | Type | Description |
|---|---|---|
--schemarequired | path | Path to schema (.vadyl.ts | .json). |
vadyl entity create Order --schema schema/Order.vadyl.ts
{
"command": "vadyl entity create",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl entity update
vadyl entity update <name> --schema <file>Apply schema changes to an existing entity.
| Name | Type | Description |
|---|---|---|
--schemarequired | path | Updated schema file. |
vadyl entity update Order --schema schema/Order.vadyl.ts
{
"command": "vadyl entity update",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Name | Type | Description |
|---|---|---|
--cascade | bool | Cascade delete dependent rows in related entities. |
vadyl entity delete TempStaging --cascade
{
"ok": true,
"command": "vadyl entity delete",
"correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42"
}vadyl entity diff
vadyl entity diff <name> --against <branch|env>Diff an entity definition between two branches/envs.
| Name | Type | Description |
|---|---|---|
--againstrequired | string | Comparison target (branch name or environment). |
vadyl entity diff Order --against production
{
"command": "vadyl entity diff",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Name | Type | Description |
|---|---|---|
--against | string | Branch / environment / snapshot ref. Default: current target. |
vadyl schema diff --against production
{
"command": "vadyl schema diff",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl schema preview
vadyl schema preview [--target <env>]Plan schema transitions, show classification + reason codes.
| Name | Type | Description |
|---|---|---|
--target | string | Target environment. |
vadyl schema preview --target sandbox
{
"command": "vadyl schema preview",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl schema apply
vadyl schema apply [--target <env>] [--allow-destructive]Apply pending schema transitions.
| Name | Type | Description |
|---|---|---|
--target | string | Target environment. |
--allow-destructive | bool | Permit destructive ops with explicit acknowledgement. |
vadyl schema apply --target staging
{
"command": "vadyl schema apply",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl schema snapshot
vadyl schema snapshot create [--name <n>]Create an immutable snapshot of current schema.
| Name | Type | Description |
|---|---|---|
--name | string | Optional name. |
vadyl schema snapshot create --name pre-refunds
{
"command": "vadyl schema snapshot",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl schema restore snapshot:pre-refunds
{
"command": "vadyl schema restore",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl schema validate
vadyl schema validateValidate schema invariants (FK, keys, capability requirements) without applying.
vadyl schema validate
{
"command": "vadyl schema validate",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Name | Type | Description |
|---|---|---|
--from | string | Base branch (default: main). |
vadyl branch create feature/refunds
{
"command": "vadyl branch create",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl branch list
{
"command": "vadyl branch list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl branch switch feature/refunds
{
"command": "vadyl branch switch",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl branch head main
{
"command": "vadyl branch head",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Name | Type | Description |
|---|---|---|
--limit | int | Max commits (default: 25). |
vadyl branch log feature/refunds
{
"command": "vadyl branch log",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl sandbox create
vadyl sandbox create [--branch <name>] [--seed <ref>]Provision a sandbox database for a branch.
| Name | Type | Description |
|---|---|---|
--branch | string | Branch (default: current). |
--seed | string | Snapshot or production-latest. |
vadyl sandbox create --branch feature/refunds --seed snapshot:latest
{
"command": "vadyl sandbox create",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl sandbox apply
{
"command": "vadyl sandbox apply",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl sandbox destroy --branch feature/refunds
{
"command": "vadyl sandbox destroy",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl proposal open
vadyl proposal open --title <t> --base <b> --head <h>Open a proposal (head → base).
| Name | Type | Description |
|---|---|---|
--titlerequired | string | Proposal title. |
--baserequired | string | Target branch. |
--headrequired | string | Source branch. |
vadyl proposal open --title "Add refunds" --base main --head feature/refunds
{
"command": "vadyl proposal open",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl proposal list --status open
{
"command": "vadyl proposal list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl proposal show prop_abc
{
"command": "vadyl proposal show",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl proposal approve prop_abc
{
"command": "vadyl proposal approve",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl proposal request-changes
vadyl proposal request-changes <id> --comment <c>Request changes with feedback.
| Name | Type | Description |
|---|---|---|
--commentrequired | string | Reviewer comment. |
vadyl proposal request-changes prop_abc --comment "missing migration"
{
"command": "vadyl proposal request-changes",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Name | Type | Description |
|---|---|---|
--targetrequired | string | Environment name. |
vadyl deploy preview --target production
{
"command": "vadyl deploy preview",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl deploy apply
vadyl deploy apply --target <env> [--ramp <s>] [--bake <d>]Apply current branch to a target with optional ramp.
| Name | Type | Description |
|---|---|---|
--targetrequired | string | Environment. |
--ramp | csv | Ramp percentages, e.g. 5%,25%,50%,100%. |
--bake | duration | Bake time per ramp step. |
vadyl deploy apply --target production --ramp 5%,25%,50%,100% --bake 10m
{
"command": "vadyl deploy apply",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl deploy rollback
vadyl deploy rollback --target <env> --to <version>Roll back to a prior publication version.
| Name | Type | Description |
|---|---|---|
--targetrequired | string | Environment. |
--torequired | string | Publication version (e.g. v412). |
vadyl deploy rollback --target production --to v412
{
"command": "vadyl deploy rollback",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Name | Type | Description |
|---|---|---|
--targetrequired | string | Environment. |
--follow | bool | Stream until rollout completes. |
vadyl deploy status --target production --follow
{
"command": "vadyl deploy status",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Name | Type | Description |
|---|---|---|
--targetrequired | string | Environment. |
vadyl deploy history --target production
{
"command": "vadyl deploy history",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl build
vadyl build src/handlers/orders/charge.ts
{
"command": "vadyl build build",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Name | Type | Description |
|---|---|---|
--unit | string | Unit id (default: all). |
vadyl build publish
{
"command": "vadyl build publish",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl publication list
{
"command": "vadyl publication list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl publication show
vadyl publication show <version>Show a publication's bindings, artifacts, contract version.
vadyl publication show v412
{
"command": "vadyl publication show",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl publication lineage
vadyl publication lineage <version>Show ancestry / templates / source commits.
vadyl publication lineage v412
{
"command": "vadyl publication lineage",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl publication current
vadyl publication current --target <env>Show the publication currently serving a target.
| Name | Type | Description |
|---|---|---|
--targetrequired | string | Environment. |
vadyl publication current --target production
{
"command": "vadyl publication current",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl publication set-current
vadyl publication set-current --target <env> <version>Atomically set publication for a target.
| Name | Type | Description |
|---|---|---|
--targetrequired | string | Environment. |
vadyl publication set-current --target production v412
{
"command": "vadyl publication set-current",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl connection list
{
"command": "vadyl connection list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl connection show
vadyl connection show <name>Show a connection's binding, capabilities, secret refs.
vadyl connection show stripe
{
"command": "vadyl connection show",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl connection create
vadyl connection create <name> --config <file>Create a connection from a typed config file.
| Name | Type | Description |
|---|---|---|
--configrequired | path | Connection config (.vadyl.ts | .json). |
vadyl connection create stripe --config connections/stripe.ts
{
"command": "vadyl connection create",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Name | Type | Description |
|---|---|---|
--configrequired | path | Updated config. |
vadyl connection update stripe --config connections/stripe.ts
{
"command": "vadyl connection update",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl connection delete stripe
{
"ok": true,
"command": "vadyl connection delete",
"correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42"
}vadyl connection test
vadyl connection test <name>Test connectivity (uses egress-policy + secret resolver).
vadyl connection test stripe
{
"command": "vadyl connection test",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl connection describe
vadyl connection describe <name>Describe upstream-side capabilities of the bound connector.
vadyl connection describe stripe
{
"command": "vadyl connection describe",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl secret list
{
"command": "vadyl secret list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl secret set
vadyl secret set <name> [--from-stdin] [--from-file <path>]Set a secret value (encrypted by IKeyRing).
| Name | Type | Description |
|---|---|---|
--from-stdin | bool | Read value from stdin. |
--from-file | path | Read value from a file. |
vadyl secret set STRIPE_SECRET --from-stdin
{
"command": "vadyl secret set",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl secret rotate STRIPE_SECRET
{
"command": "vadyl secret rotate",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl secret reveal
vadyl secret reveal <name> --reason <reason>Print the secret value (audited; admin-gated).
| Name | Type | Description |
|---|---|---|
--reasonrequired | string | Audit reason. |
vadyl secret reveal STRIPE_SECRET --reason "incident triage"
{
"command": "vadyl secret reveal",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl agent list
{
"command": "vadyl agent list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl agent show SupportAgent
{
"command": "vadyl agent show",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Name | Type | Description |
|---|---|---|
--promptrequired | string | Prompt. |
--user | string | Acting user id. |
--budget-tokens | int | Override max tokens. |
vadyl agent run SupportAgent --prompt "Refund order #12345 due to defect"
{
"command": "vadyl agent run",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl agent runs list SupportAgent
{
"command": "vadyl agent runs list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl agent runs show run_abc
{
"command": "vadyl agent runs show",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl agent runs tail run_abc
event: vadyl.cli.stream
data: { "kind": "event", "id": "evt_123", "correlationId": "01HXZ..." }vadyl agent memory recall
vadyl agent memory recall <agent> --kind <k> [--subject <s>]Recall memory facts.
| Name | Type | Description |
|---|---|---|
--kindrequired | string | Fact kind. |
--subject | string | Subject id. |
vadyl agent memory recall SupportAgent --kind preference --subject user:abc
{
"command": "vadyl agent memory recall",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl workflow list
{
"command": "vadyl workflow list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Name | Type | Description |
|---|---|---|
--inputrequired | string | JSON object or @path/to/file. |
vadyl workflow start fulfillOrder --input '{"orderId":"ord_abc"}'{
"command": "vadyl workflow start",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl workflow signal
vadyl workflow signal <runId> <signalName> [--payload <json>]Send a signal to a running workflow.
| Name | Type | Description |
|---|---|---|
--payload | string | Signal payload. |
vadyl workflow signal run_abc shipped --payload '{"trackingNumber":"1Z"}'{
"command": "vadyl workflow signal",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl workflow query run_abc
{
"command": "vadyl workflow query",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl workflow cancel
vadyl workflow cancel <runId> [--reason <r>]Cancel a workflow run; runs compensations.
| Name | Type | Description |
|---|---|---|
--reason | string | Audit reason. |
vadyl workflow cancel run_abc --reason "customer requested"
{
"command": "vadyl workflow cancel",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Name | Type | Description |
|---|---|---|
--status | string | Filter by status. |
vadyl workflow runs fulfillOrder --status failed
{
"command": "vadyl workflow runs",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl workflow replay
vadyl workflow replay <runId> [--dry]Replay a run (for debugging) — by default dry-run.
| Name | Type | Description |
|---|---|---|
--dry | bool | Dry-run only (default true). |
vadyl workflow replay run_abc
{
"command": "vadyl workflow replay",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Name | Type | Description |
|---|---|---|
--filter | string | Filter expression (kind, entity, time, correlation). |
vadyl events tail --filter "kind=order.paid"
event: vadyl.cli.stream
data: { "kind": "event", "id": "evt_123", "correlationId": "01HXZ..." }vadyl events search
vadyl events search [--filter <expr>] [--since <t>] [--until <t>]Search historical events.
| Name | Type | Description |
|---|---|---|
--filter | string | Filter expression. |
--since | time | Start time. |
--until | time | End time. |
vadyl events search --filter "kind=order.paid" --since 2026-05-01
{
"command": "vadyl events search",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Name | Type | Description |
|---|---|---|
--filter | string | Filter expression (reasonCode, actor, entity, scope). |
vadyl audit tail --filter "reasonCode startsWith 'Access.Denied'"
event: vadyl.cli.stream
data: { "kind": "event", "id": "evt_123", "correlationId": "01HXZ..." }vadyl audit search
vadyl audit search [--filter <expr>] [--since <t>] [--until <t>]Search historical audit rows.
| Name | Type | Description |
|---|---|---|
--filter | string | Filter expression. |
--since | time | Start. |
--until | time | End. |
vadyl audit search --filter "actor.subjectId=user:abc"
{
"command": "vadyl audit search",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl explain access
vadyl explain access --entity <e> [--filter <expr>] [--as <actor>]Why was a read/write allowed/denied.
| Name | Type | Description |
|---|---|---|
--entityrequired | string | Entity name. |
--filter | string | Optional row filter. |
--as | string | Evaluate as a specific actor. |
vadyl explain access --entity Order --filter status=paid --as user:abc
{
"command": "vadyl explain access",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl explain read-plan
vadyl explain read-plan --entity <e> [--include <rels>]Show AST plan, cache decision, chosen provider.
| Name | Type | Description |
|---|---|---|
--entityrequired | string | Entity name. |
--include | csv | Relations to expand. |
vadyl explain read-plan --entity Order --include customer
{
"command": "vadyl explain read-plan",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl explain project-runtime
vadyl explain project-runtimeShow why the current publication is serving traffic.
vadyl explain project-runtime
{
"command": "vadyl explain project-runtime",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl explain agent-run
vadyl explain agent-run <runId>Show canonical reasoning trace for an agent run.
vadyl explain agent-run run_abc
{
"command": "vadyl explain agent-run",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl sdk generate
vadyl sdk generate --language <lang> [--output <dir>]Generate a language SDK from the canonical contract.
| Name | Type | Description |
|---|---|---|
--languagerequired | enum | typescript | python | csharp | go | rust |
--output | path | Output directory. |
vadyl sdk generate --language typescript --output ./sdk
{
"command": "vadyl sdk generate",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl sdk manifest
vadyl sdk manifest [--language <lang>]Print the generated-format compatibility manifest.
| Name | Type | Description |
|---|---|---|
--language | string | Language filter. |
vadyl sdk manifest --language typescript
{
"command": "vadyl sdk manifest",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Name | Type | Description |
|---|---|---|
--parent | string | Parent folder id. |
vadyl source folder list
{
"command": "vadyl source folder list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl source folder create src/handlers/orders
{
"command": "vadyl source folder create",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl source folder rename fld_123 checkout
{
"command": "vadyl source folder rename",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl source folder delete fld_123
{
"ok": true,
"command": "vadyl source folder delete",
"correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42"
}vadyl source file list --folder fld_123
{
"command": "vadyl source file list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl source file get src/handlers/orders/charge.ts
{
"command": "vadyl source file get",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Name | Type | Description |
|---|---|---|
--contentrequired | string | Inline content or @path. |
vadyl source file put src/handlers/orders/charge.ts --content @charge.ts
{
"command": "vadyl source file put",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl source file rename file_123 src/handlers/orders/pay.ts
{
"command": "vadyl source file rename",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl source file delete file_123
{
"ok": true,
"command": "vadyl source file delete",
"correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42"
}vadyl source tree --ref feature/checkout
{
"command": "vadyl source tree",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl storage upload
vadyl storage upload <local> <storagePath> [--content-type <type>]Upload an object.
vadyl storage upload ./invoice.pdf invoices/2026/inv_123.pdf
{
"command": "vadyl storage upload",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl storage download invoices/2026/inv_123.pdf --output ./invoice.pdf
{
"command": "vadyl storage download",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl storage exists invoices/2026/inv_123.pdf
{
"command": "vadyl storage exists",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl storage delete tmp/upload.bin
{
"ok": true,
"command": "vadyl storage delete",
"correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42"
}vadyl storage list --prefix invoices/2026
{
"command": "vadyl storage list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl storage providers
{
"command": "vadyl storage providers",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl webhook endpoint list
{
"command": "vadyl webhook endpoint list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl webhook endpoint create
vadyl webhook endpoint create --url <url> [--filter <json>] [--signing-secret <name>]Create an outbound endpoint.
vadyl webhook endpoint create --url https://example.com/webhooks/vadyl --filter '{"op":"startsWith","path":"$.type","value":"order."}'{
"command": "vadyl webhook endpoint create",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl webhook endpoint update wh_end_123 --url https://example.com/v2
{
"command": "vadyl webhook endpoint update",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl webhook endpoint delete wh_end_123
{
"ok": true,
"command": "vadyl webhook endpoint delete",
"correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42"
}vadyl webhook endpoint rotate-secret
vadyl webhook endpoint rotate-secret <id>Rotate endpoint signing material.
vadyl webhook endpoint rotate-secret wh_end_123
{
"command": "vadyl webhook endpoint rotate-secret",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl webhook deliveries list wh_end_123
{
"command": "vadyl webhook deliveries list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl webhook deliveries replay whdel_123
{
"command": "vadyl webhook deliveries replay",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl webhook receiver list
{
"command": "vadyl webhook receiver list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl webhook receiver create
vadyl webhook receiver create --name <name> --secret <secret>Create an inbound receiver.
vadyl webhook receiver create --name stripe --secret STRIPE_WEBHOOK_SECRET
{
"command": "vadyl webhook receiver create",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl analytics catalog
{
"command": "vadyl analytics catalog",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl analytics query validate
vadyl analytics query validate --input <json|@file>Validate an analytics query.
vadyl analytics query validate --input @query.json
{
"command": "vadyl analytics query validate",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl analytics query explain
vadyl analytics query explain --input <json|@file>Explain query plan and lineage.
vadyl analytics query explain --input @query.json
{
"command": "vadyl analytics query explain",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl analytics query execute --input @query.json
{
"command": "vadyl analytics query execute",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl analytics model list
{
"command": "vadyl analytics model list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl analytics metric list
{
"command": "vadyl analytics metric list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl analytics report run rpt_123
{
"command": "vadyl analytics report run",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl analytics dashboard render
vadyl analytics dashboard render <dashboardId>Render dashboard data.
vadyl analytics dashboard render dash_123
{
"command": "vadyl analytics dashboard render",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl analytics materialization refresh
vadyl analytics materialization refresh <id>Refresh a materialization.
vadyl analytics materialization refresh mat_123
{
"command": "vadyl analytics materialization refresh",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl automation compile
vadyl automation compile --definition <json|@file>Compile and type-check an automation definition.
vadyl automation compile --definition @refunds.automation.json
{
"command": "vadyl automation compile",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl automation definition list
{
"command": "vadyl automation definition list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl automation definition create
vadyl automation definition create --file <path>Create a definition.
vadyl automation definition create --file refunds.automation.json
{
"command": "vadyl automation definition create",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl automation definition update
vadyl automation definition update <id> --file <path>Update a definition.
vadyl automation definition update auto_123 --file refunds.automation.json
{
"command": "vadyl automation definition update",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl automation definition lifecycle
vadyl automation definition lifecycle <id> --state active|paused|retiredChange definition lifecycle.
vadyl automation definition lifecycle auto_123 --state active
{
"command": "vadyl automation definition lifecycle",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl automation run start
vadyl automation run start <definitionId> --input <json|@file>Start a run.
vadyl automation run start auto_123 --input '{"orderId":"ord_123"}'{
"command": "vadyl automation run start",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl automation run show arun_123
{
"command": "vadyl automation run show",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl automation run cancel arun_123
{
"command": "vadyl automation run cancel",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl automation run signal
vadyl automation run signal <runId> --payload <json>Signal a waiting run.
vadyl automation run signal arun_123 --payload '{"approved":true}'{
"command": "vadyl automation run signal",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl automation approval approve
vadyl automation approval approve <approvalTaskId>Approve a pending task.
vadyl automation approval approve appr_123
{
"command": "vadyl automation approval approve",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl connector contracts
{
"command": "vadyl connector contracts",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl connector implementations
{
"command": "vadyl connector implementations",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl connector build declarative
vadyl connector build declarative --manifest <path>Build a declarative bundle.
vadyl connector build declarative --manifest stripe.connector.json
{
"command": "vadyl connector build declarative",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl connector conformance run
vadyl connector conformance run --implementation <id>Run conformance.
vadyl connector conformance run --implementation impl_123
{
"command": "vadyl connector conformance run",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl connector binding create
vadyl connector binding create <alias> --implementation <id>Create a binding.
vadyl connector binding create stripe --implementation impl_123
{
"command": "vadyl connector binding create",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl connector invoke
vadyl connector invoke <alias> <operation> --input <json|@file>Invoke a connector operation.
vadyl connector invoke stripe createCharge --input @charge.json
{
"command": "vadyl connector invoke",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}Runtime fabric
Topology, scaling, resources, ingress, realization, health, binding, deployment plans, reconcile, drain.
vadyl runtime-fabric topology --project proj_123
{
"command": "vadyl runtime-fabric topology",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl runtime-fabric health prod
{
"command": "vadyl runtime-fabric health",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl runtime-fabric plan --project proj_123 --env prod
{
"command": "vadyl runtime-fabric plan",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl runtime-fabric apply rti_123
{
"command": "vadyl runtime-fabric apply",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl runtime-fabric reconcile
vadyl runtime-fabric reconcile --project <id> --env <id>Reconcile runtime state.
vadyl runtime-fabric reconcile --project proj_123 --env prod
{
"command": "vadyl runtime-fabric reconcile",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl runtime-fabric drain --project proj_123 --env prod
{
"command": "vadyl runtime-fabric drain",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl runtime-fabric scaling preview
vadyl runtime-fabric scaling preview --project <id> --file <topology.json>Dry-run scaling, resource, and ingress policy changes.
vadyl runtime-fabric scaling preview --project proj_123 --file runtime-topology.json
{
"command": "vadyl runtime-fabric scaling preview",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl runtime-fabric scaling targets
vadyl runtime-fabric scaling targets --project <id> --env <id>List runtime scale targets.
vadyl runtime-fabric scaling targets --project proj_123 --env prod
{
"command": "vadyl runtime-fabric scaling targets",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl runtime-fabric scaling set-desired
vadyl runtime-fabric scaling set-desired --project <id> --env <id> --surface <kind> --count <n>Set desired count for a manual target.
vadyl runtime-fabric scaling set-desired --project proj_123 --env prod --surface CoreHandler --count 6
{
"command": "vadyl runtime-fabric scaling set-desired",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl runtime-fabric scaling set-policy
vadyl runtime-fabric scaling set-policy --project <id> --surface <kind> --file <policy.json>Replace a surface scaling policy.
vadyl runtime-fabric scaling set-policy --project proj_123 --surface EventConsumer --file autoscale.json
{
"command": "vadyl runtime-fabric scaling set-policy",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl runtime-fabric scaling set-resources
vadyl runtime-fabric scaling set-resources --project <id> --surface <kind> --cpu <millicores> --memory <MiB>Set vendor-neutral vertical resource policy.
vadyl runtime-fabric scaling set-resources --project proj_123 --surface CoreHandler --cpu 1000 --memory 2048
{
"command": "vadyl runtime-fabric scaling set-resources",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl runtime-fabric scaling set-ingress
vadyl runtime-fabric scaling set-ingress --project <id> --surface <kind> --load-balancing managed-publicSet canonical ingress and load-balancing policy.
vadyl runtime-fabric scaling set-ingress --project proj_123 --surface ApiIngress --load-balancing managed-public --protocol http2
{
"command": "vadyl runtime-fabric scaling set-ingress",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl runtime-fabric autoscale suspend
vadyl runtime-fabric autoscale suspend --project <id> --env <id> --surface <kind>Suspend autoscale for a target.
vadyl runtime-fabric autoscale suspend --project proj_123 --env prod --surface CoreHandler
{
"command": "vadyl runtime-fabric autoscale suspend",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl runtime-fabric autoscale resume
vadyl runtime-fabric autoscale resume --project <id> --env <id> --surface <kind>Resume autoscale for a target.
vadyl runtime-fabric autoscale resume --project proj_123 --env prod --surface CoreHandler
{
"command": "vadyl runtime-fabric autoscale resume",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl runtime-fabric autoscale explain
vadyl runtime-fabric autoscale explain --project <id> --env <id> --surface <kind>Explain the latest autoscale decision or rejection.
vadyl runtime-fabric autoscale explain --project proj_123 --env prod --surface EventConsumer
{
"command": "vadyl runtime-fabric autoscale explain",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl distribution binding list
vadyl distribution binding list --project <id>List distribution bindings.
vadyl distribution binding list --project proj_123
{
"command": "vadyl distribution binding list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl distribution policy show
vadyl distribution policy show --project <id>Show project distribution policy.
vadyl distribution policy show --project proj_123
{
"command": "vadyl distribution policy show",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl distribution realization
vadyl distribution realization --project <id> --env <id>Show realized provider state.
vadyl distribution realization --project proj_123 --env prod
{
"command": "vadyl distribution realization",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl distribution asset delivery
vadyl distribution asset delivery --namespace <id> --class <class> --path <path>Create delivery URL/descriptor.
vadyl distribution asset delivery --namespace public --class image --path hero.png
{
"command": "vadyl distribution asset delivery",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl distribution asset invalidate
vadyl distribution asset invalidate --namespace <id> --class <class> --path <path>Invalidate an asset.
vadyl distribution asset invalidate --namespace public --class image --path hero.png
{
"command": "vadyl distribution asset invalidate",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl distribution replica policy preview-route
vadyl distribution replica policy preview-route <entityName>Preview entity replica routing.
vadyl distribution replica policy preview-route Order
{
"command": "vadyl distribution replica policy preview-route",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl status
{
"command": "vadyl status status",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}vadyl version
{
"command": "vadyl status version",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}Project capability surfaces
Publish, validate, describe, install, upgrade, grant, consume, explain, suspend, resume, and revoke project capability surfaces.
vadyl surface validate
vadyl surface validate <manifest>Validate ProjectCapabilitySurfaceManifest slices, exposure bindings, PCG contribution, SDK/CLI/MCP projection, grants, and lifecycle policy.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl surface validate ./vadyl.surface.ts
{
"command": "vadyl surface validate",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl surface publish
vadyl surface publish <name>@<version> --manifest <path>Publish a signed provider surface version.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl surface publish RevenueOps@2.4.0 --manifest ./vadyl.surface.ts
{
"command": "vadyl surface publish",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl surface list
vadyl surface list [--publisher <project>] [--installed]List visible published surfaces or installed surfaces in the active project.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl surface list
vadyl surface list --installed --output json
{
"command": "vadyl surface list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl surface describe
vadyl surface describe <name>[@<version>]Show descriptor hash, slices, projection bindings, required grants, publisher, and lifecycle state.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl surface describe RevenueOps@2.4.0
{
"command": "vadyl surface describe",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl surface install
vadyl surface install <name>@<version> --publisher <project> [--grant <grant>...]Install a provider surface into the active consumer project with version pinning, grant narrowing, and billing attribution.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl surface install RevenueOps@2.4.0 --publisher acme/revenue-ops --grant cli:revenue.reconcile
{
"command": "vadyl surface install",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl surface upgrade
vadyl surface upgrade <name> --to <version>Upgrade an installation after compatibility, grant, quota, and dependency checks.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl surface upgrade RevenueOps --to 2.5.0
{
"command": "vadyl surface upgrade",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl surface grants
vadyl surface grants <installationId> [--set <grant>...]Inspect or update narrowed grants for an installation.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl surface grants sinst_123 --set operation:ledger.reconcile
{
"command": "vadyl surface grants",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl surface consumption
vadyl surface consumption <name> [--group-by <fields>]Query ProjectCapabilityConsumptionDescriptor evidence for usage, billing, audit, and dependency impact.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl surface consumption RevenueOps --group-by operation,consumerProject
{
"command": "vadyl surface consumption",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl surface explain
vadyl surface explain <subject>Explain publish, install, grant, projection, invocation, or consumption decisions.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl surface explain RevenueOps
vadyl surface explain-consumption cons_123
{
"command": "vadyl surface explain",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl surface suspend
vadyl surface suspend <installationId>Suspend a consumer installation without uninstalling it.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl surface suspend sinst_123
{
"command": "vadyl surface suspend",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl surface resume sinst_123
{
"command": "vadyl surface resume",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl surface revoke
vadyl surface revoke <name>@<version> --reason <text>Revoke a published provider surface version and fail closed for affected installations.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl surface revoke RevenueOps@2.4.0 --reason security-replacement
{
"command": "vadyl surface revoke",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
Plane Capability Graph
Inspect PCG descriptors, nodes, edges, actions, triggers, measures, effects, policies, and transforms.
vadyl graph descriptor
vadyl graph descriptor [--project <id>] [--output json]Print the full Plane Capability Graph descriptor.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl graph descriptor --output json
{
"command": "vadyl graph descriptor",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl graph nodes --kind Action
{
"command": "vadyl graph nodes",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl graph node
vadyl graph node <nodeId>Inspect one typed PCG node and its incoming/outgoing edges.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl graph node action:Order.refund
{
"command": "vadyl graph node",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl graph edges
vadyl graph edges --from <nodeId> [--type <edge>]Trace dependencies, grants, triggers, and effects.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl graph edges --from action:Order.refund
{
"command": "vadyl graph edges",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl graph validate
vadyl graph validateValidate dangling edges, unknown capabilities, unit compatibility, and publication hash.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl graph validate
{
"command": "vadyl graph validate",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl graph explain
vadyl graph explain <nodeId>Explain why a node exists and which descriptor contributed it.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl graph explain action:Order.refund
{
"command": "vadyl graph explain",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl measure descriptors
vadyl measure descriptors [--subject <id>]List all first-class measure descriptors.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl measure descriptors --subject Order
{
"command": "vadyl measure descriptors",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl measure show
vadyl measure show <nodeId>Inspect semantic kind, unit, aggregation, instrument, dimensions, grants, and redaction.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl measure show measure:Order.grossRevenue
{
"command": "vadyl measure show",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl measure query
vadyl measure query <nodeId> --from <time> --to <time> [--group-by <dim>]Query a measure through the analytics fabric.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl measure query measure:Order.grossRevenue --from 2026-05-01 --to 2026-05-07 --group-by region
{
"command": "vadyl measure query",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl measure explain
vadyl measure explain <nodeId>Explain source, transformations, freshness, and suppression.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl measure explain measure:Order.grossRevenue
{
"command": "vadyl measure explain",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
Cache
Cache provider bindings, descriptor fingerprints, entity-read cache gates, generations, and invalidation.
vadyl cache bindings
vadyl cache bindings [--project <id>]List cache bindings resolved through project ancestry.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl cache bindings --project proj_123
{
"command": "vadyl cache bindings",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl cache descriptor
vadyl cache descriptor [--project <id>]Print the compiled CacheRuntimeDescriptor and fingerprint.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl cache descriptor --project proj_123
{
"command": "vadyl cache descriptor",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl cache invalidate project
vadyl cache invalidate project <projectId>Bump project-scope cache generation.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl cache invalidate project proj_123
{
"command": "vadyl cache invalidate project",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl cache invalidate entity
vadyl cache invalidate entity <entityName>Bump entity-scope cache generation.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl cache invalidate entity Order
{
"command": "vadyl cache invalidate entity",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl cache explain gate
vadyl cache explain gate --entity <name> --operation readExplain whether post-access entity-read caching applies.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl cache explain gate --entity Order --operation read
{
"command": "vadyl cache explain gate",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
Database sources
External database-source registration, artifacts, acceptance, import, staging, and ingestion jobs.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl database-source list
{
"command": "vadyl database-source list",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl database-source artifacts
vadyl database-source artifacts <alias>List imported artifacts for a source.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl database-source artifacts legacy-postgres
{
"command": "vadyl database-source artifacts",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl database-source acceptance
vadyl database-source acceptance <alias> --file <manifest>Record acceptance evidence before import.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl database-source acceptance legacy-postgres --file acceptance.json
{
"command": "vadyl database-source acceptance",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl database-source import
vadyl database-source import <alias> --plan <file>Start an import job from a validated source manifest.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl database-source import legacy-postgres --plan import.json
{
"command": "vadyl database-source import",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |
vadyl database-source staging sweep
vadyl database-source staging sweepSweep expired staging rows using the canonical TTL policy.
| Name | Type | Description |
|---|---|---|
--output | enum | text | json. JSON preserves the canonical response envelope. |
--project | string | Override active project scope for this command. |
vadyl database-source staging sweep
{
"command": "vadyl database-source staging sweep",
"data": { "id": "res_123", "state": "active" },
"meta": { "correlationId": "01HXZ0J4YV8AJF2GFG2T1F7Y42" }
}| Code | Description |
|---|---|
0 | Success. |
2 | Validation failed before dispatch. |
3 | Access denied, quota exceeded, or surface unavailable. |
4 | Remote operation failed with a canonical error envelope. |