Skip to main content
The calls the node makes, and what leaves it. The api/ folder holds one file per key below. run is api/run.yaml, events is api/events.yaml, and each of those files IS its list — there is no wrapping run: or events: key inside them.
Generated from nodes/_schema/api.schema.json, the same file the node linter validates against.

Example

api/run.yaml

Fields

object[]
The calls this node makes, in order, always a list. Each step can read what earlier ones returned. Every call but the last must settle; only the last may stream.
object[]
Everything that leaves the node, one row per output connector, in the order interface.yaml declares them. Lint enforces coverage and order.
object
Methods this node offers to others over a service edge, keyed by name. Called by another node rather than by the graph, and each returns a value to the caller.
object
Hands tools to a model and resolves the calls that come back. Declaring it makes the node a callback node.
object
A second, cheaper model writing a status line while the main call runs. A from: narrator row in events says where the line lands.
object
A write straight into the caller’s screen state, pushed after the node settles. A side channel to the person watching, never an output.
audio.schema.json
Binds a voice node to the platform’s audio lane, which is a separate socket. Everything that is not audio belongs in events.

Next steps

Building a node

The guides behind these fields.

Troubleshooting

When a node does not do what you wrote.