Simulation

Mock a tool call during a test call

Changed on

The server half of the tool guard for code-first agents. When a guarded tool fires during a Roark test call, send the invocation here instead of executing it: Roark answers with a simulated backend response that is valid JSON, shaped by the tool contract you pass, consistent with the test scenario, and consistent with earlier mocked responses in the same call. Real callers are never affected: the guard only diverts when the agent-config resolve response identified the session as a Roark simulation, and this endpoint independently re-validates the simulation before answering.

Failure contract for your wrapper: 404 means the simulation id is unknown to this project (treat the session as real). 409 means the simulation has already ended (stale session state: do NOT execute the real tool; return your static fallback). 5xx means generation failed (return your static fallback).

Identical retries (same tool, same arguments) within a few minutes return the stored response, so double-fired handlers stay consistent.

post/v1/simulation/tool-mock

Request

  • Base URL
    https://api.roark.ai
  • URL
    https://api.roark.ai/v1/simulation/tool-mock
  • Auth
    HTTP bearer

Request body

simulationJobIdstring uuid required

The simulation this session belongs to, from the agent-config resolve response (simulationJobId). Roark re-validates it against the live simulation before answering.

sessionIdstring

Your session or room identifier, echoed back in logs for correlation.

toolNamestring required

The tool the agent invoked.

toolDescriptionstring

The tool's contract: its description and, ideally, its parameter and return shape. The more contract you pass, the more faithful the simulated response.

argumentsobject

The arguments the agent called the tool with, verbatim.

Example request

{
  "toolName": "book_appointment",
  "toolDescription": "Books an appointment. Args: date (YYYY-MM-DD), time (HH:MM). Returns {confirmationId, status}.",
  "arguments": {
    "date": "2026-10-01",
    "time": "15:00"
  }
}

Response

The simulated tool response. Return result from your tool.

Changes