Structured input and output
Pass JSON files, standard input, and field overrides, then consume stable JSON and exit codes.
Most commands that call a product query, mutation, or action accept structured input.
JSON file input
ivk j coverage --input coverage.jsonThe file must contain one JSON object. Arrays and scalar values are rejected.
Standard input
Use - explicitly:
ivk j coverage --input - < coverage.jsonWhen standard input is not a terminal, the CLI also reads a JSON object without --input:
cat coverage.json | ivk j coverageField input
Repeat --field name=value for short inputs:
ivk notifications set-preference \
--field eventType=finding_confirmed_high_severity \
--field inApp=true \
--field email=false \
--field revision=0Values that parse as JSON become booleans, numbers, arrays, objects, or null. Other values remain strings. Field names begin with a letter and contain only letters and numbers.
Fields override values from the input object.
Request IDs
Write commands that support request IDs add one automatically when it is missing. Reuse a caller-provided request ID when you need idempotent retry behavior across a known operation.
Destructive actions
Commands that archive, remove, stop, revoke, deactivate, or delete data may require --yes.
ivk workspace request-deletion --input deletion.json --yesWithout confirmation, the CLI exits with a customer-safe error and does not perform the action.
JSON output
Place --json before the command:
ivk --json j list
ivk --json st | jq '.status'Successful JSON commands write one JSON document to standard output. Human headings, tables, spinners, and colors are disabled.
Errors use a stable code, customer-safe message, and nonzero exit status. They do not include raw provider responses, stack traces, credentials, or submitted input objects.
Color and terminals
Use --no-color for plain human-readable output:
ivk --no-color statusFor automation, prefer --json instead of parsing tables.