Fires one of the session agent's triggers into the sandbox.
The agent reacts to the trigger with its real output-destination send (and any mid-run send) captured / hard-blocked — the captured reply and blocked notices arrive on the stream / messages endpoints, same as a participant turn. Only bindings selecting the session's agent fire. Sandbox sessions only; a real fire belongs on `POST /triggers/{trigger}:fire`.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Path Parameters
The session id returned by open.
The tenant identifier
The trigger to fire and an optional sample payload.
The trigger to fire. Must be bound to the session's agent.
uuidOptional synthesized event body for IntegrationEvent triggers — nests
under TriggerFirePayload.Body["payload"], same as
POST /triggers/{trigger}:fire. Rejected (400) for other kinds.
Optional per-fire overrides of the resolved agent input, keyed by
parameter name (e.g. user_query). Applied after the binding's
mappings resolve, so each entry wins over the resolved value — even a
LITERAL mapping. Lets an operator test a trigger-driven run with
specific input from the debug console without editing the persisted
binding. Sandbox-only; never persisted. Unset (or omitting a parameter)
reproduces the binding's resolved input exactly.
Optional per-fire async-execution-mode override (sandbox debug console). Forces this run's async tools (consult / approval / delegate) to await or background, winning over each step's deployed AsyncExecution.Mode for this fire only — so an operator can exercise the suspend-and-answer loop without redeploying the agent. Omitted (or UNSPECIFIED) = no override: the deployed step config applies (current behavior). Honoured only for sandbox sessions; nothing is persisted to the agent.
"UNSPECIFIED" | "AGENT_DECIDES" | "FORCE_AWAIT" | "FORCE_BACKGROUND"Which body of the agent's code this fire runs — deployed release (default), the caller's own draft, or a recommendation card's change. Same contract as SendFruxonTurnRequest.RevisionPolicy: a trigger-seeded sandbox run is a test like any other, and testing an edit to the automation path should not need a publish either.
"UNSPECIFIED" | "PUBLISHED" | "DRAFT" | "PROPOSAL"Hold every tool call that changes something until the operator confirms it, for this turn. Sandbox sessions only.
The sandbox hard-blocks channel sends and memory writes, and simulates every connection with no sandbox saved unless FireFruxonTriggerRequest.SandboxRouting chooses Live for it. What can still change something real is a connection chosen Live, and a built-in that acts on the workspace itself. This is the guard for those. Only a call that reaches production is held: not a read — a confirmation queue nobody reads is worse than none — and not a write the run sends to the simulator or a vendor sandbox. Each held call suspends the run on the ordinary human-approval gate and surfaces on the console's existing approval card, naming the arguments and why the call reaches production.
How to route a connection the agent uses on this run, by connection id: SIMULATED, READ_THROUGH,
or NONE — shown as Live, which reaches the connection with its production credentials. Sandbox sessions
only (a Live session is refused). A connection left out is simulated unless it has a sandbox saved: a sandbox
session never reaches production through an integration unless you choose Live for it. Nothing is saved on
the connection.
With revisionPolicy: DRAFT, run the caller's draft of this published revision rather than
whichever draft the session would pick. The studio sends the revision it is open on; 0 is
the draft of an agent that has never been deployed. 400 when the caller has no draft of it, and
when sent without DRAFT.
int64With revisionPolicy: DRAFT, the draft version the caller last saw. 409 when the draft has
moved on since, so a test never runs a head its author has not seen. Omit to run the draft as it
stands (the console, which has no editor state to assert). 400 when sent without DRAFT.
int64With revisionPolicy: PROPOSAL, the recommendation card whose change this run makes to the
deployed release, in memory — what approving the card would deploy. Required with
PROPOSAL, 400 without it. Agent admins only (403); 409 when the card has no change waiting,
or the live agent already has it; 400 when the change cannot be made yet, with the reason.
uuidResponse Body
curl -X POST "https://api.fruxon.com/v1/tenants/string/fruxon/sessions/string:fireTrigger" \ -H "Content-Type: application/json" \ -d '{}'{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}