CLI workflows and automation

Use files, stdin, deterministic deployment keys, event identities, structured output, and bounded queries safely.

The CLI maps one command to one public Platform API request. It does not hide a series of unrelated mutations behind a convenience command. That makes Policy decisions, idempotency, failures, and audit evidence predictable across the CLI and direct HTTP use.

Inputs and secrets

Use --body @request.json, --body @-, or the equivalent data option for structured input. Inline JSON is supported for small non-secret values, but files are easier to review and quote correctly. Credential material is accepted only with --material-file or --material-stdin; no option accepts secret material directly as an argument. Provider setup documents containing bootstrap secrets should be supplied through a protected file or stdin and removed after the operation.

Idempotency and uncertain outcomes

Deployment idempotency defaults to the archive SHA-256, so resubmitting identical bytes uses the same key. Run, binding, customer, and control commands accept --event-id; the CLI generates a UUID when it is omitted. For automation and recovery after a network failure, generate the identifier outside the command and retain it until the operation reaches a known result.

Output and bounded reads

Human output defaults to a compact table. Use --output json for one response document and --output jsonl for collection pipelines. Binary artifacts write to stdout unless --out FILE is supplied. Query limits remain endpoint bounds, not assumed pagination; use only documented cursors such as --after, and narrow analytics windows when a result reports truncation.

Streaming commands forward committed Server-Sent Event bytes as they arrive and deliberately have no client timeout. Disconnecting the CLI does not cancel a Run. Reconnect using the Run identity and inspect authoritative workflow state before applying a control.