Commands are what you ask.

A command is not part of the record. The host accepts or rejects it before durable state changes. The accepted effect comes back as authority events.

message
A user message. The host defines the body. The accepted effect includes message.user.recorded and the run events that follow.
resolve-interrupt
Requires interruptId and decision. The decision is one of the actions on the matching request, or expired when the backend expires it. The effect is interrupt.resolved, then run.resumed or a run terminal, or workflow.resumed or a workflow terminal.
stop-active-root
The host defines the body. The effect is run.stop.requested and the terminals that follow.

HTTP is one binding, not the protocol. A recommended binding is POST /api/narad/v1/commands/resolve-interrupt. The shipped TypeScript client covers resolve-interrupt. message and stop-active-root are host-defined bindings.

See §2.2.