Skip to main content
Everything that leaves the node, one row per output connector.
Generated from nodes/_schema/api.schema.json, the same file the node linter validates against.

Example

api/events.yaml

Fields

string
The output connector this row writes to. Must be one of the outputs declared in interface.yaml, in the same order.
`response` · `narrator` · `tool` · `complete`
Where the row fires from. response is the last call’s reply; narrator is the status line; a call name is that step’s result.
object
Streaming only. The event type this row fires on, such as response.output_text.delta. A literal, never a pattern.
expression
An extra test, for when one event type carries more than one meaning.
expression
What to emit. A return expression over whatever the row’s from puts in scope.
boolean
Emit the running total rather than each fragment. A delta-per-event stream is rarely what a consumer wants.
object
The event types that end a turn, after which accumulate starts again.
number
Emit at most this often. Nothing is dropped; what is held back is flushed at the end of the run.
number
Emit only once this many characters have built up. Also flushed at the end.
template
Deliver to a named node instead of an output connector. Mutually exclusive with emit.
string
Send rows only. Which input connector on the target node this arrives on. Defaults to input.

Next steps

Building a node

The guides behind these fields.

Troubleshooting

When a node does not do what you wrote.