Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

orion-cli send

Sends data to a channel. Synchronous by default; --async-mode submits for background processing and returns a trace ID.

Synopsis

orion-cli send <channel> (-f <file> | -d <json> | --stdin) [flags]

Description

By default, send takes a bare business payload and wraps it in Orion’s {"data": …} request envelope. Do not pass an already wrapped envelope: doing so nests it twice, and a workflow expecting data.order would instead receive data.data.order. The same rule applies to workflows test.

--raw is what reaches a channel configured with request.body_mode = "payload". Such a channel takes the whole body as data, so the default envelope would arrive as a single key literally named data. --metadata is refused alongside it rather than silently dropped: a payload-mode channel stamps metadata server-side and accepts none from the caller.

Options

FlagDescription
<channel>Channel name to send data to.
-f, --file <path>JSON payload from a file.
-d, --data <json>Inline JSON payload.
--stdinRead the payload from stdin.
--async-modeSubmit for async processing; returns a trace ID and trace token. Alias: --async.
--waitWith --async-mode, poll until the trace completes.
--timeout <secs>Timeout for --wait. Default: 60.
--metadata <json>Metadata object attached to the request. Refused with --raw.
--rawSend the payload as the request body verbatim, with no {"data": …} envelope.
--profileRequest server-side execution profiling; adds an _orion.profile breakdown. Sync only, and needs the server’s tracing.debug_profile_enabled.

Examples

orion-cli send orders -f order.json --async-mode --wait

Last verified 14 September 2026