Skip to content
OperadeDocs

Search documentation

Type to search documentation.

Documentation
Copy page
Open raw Markdown

Get a test invocation run

Return one run with its terminal result, transcript, tool evidence, criteria, model usage, latency, tokens, and cost.

Endpoint

GET/api/v1/workspaces/{workspace_id}/test-invocations/{invocation_id}/runs/{run_id}

Authentication

Operation classAuthenticationMinimum roleAPI key
customer-apiBearer API key or dashboard session cookie; dashboard mutations also require X-CX-Request: 1.memberAllowed

Parameters

NameInTypeRequiredDescription
workspace_idpathstringYes—
invocation_idpathstringYes—
run_idpathstringYes—

Request body

This operation has no request body.

Example

cURL
curl --request GET 'https://operade.ai/api/v1/workspaces/ws_demo/test-invocations/invo_demo/runs/testrun_demo' \
  --header 'Authorization: Bearer YOUR_API_KEY'

Responses

StatusDescriptionContent
4XXHandled client errorapplication/json: ErrorResponse
200Successful Responseapplication/json: RunDetail

4XX application/json response schema

Field pathTypeReferenceFormatNullableRequiredEnumDescription
$objectErrorResponse—NoYes——
errorobjectErrorItem—NoYes——
error.codestring——NoYes——
error.detailsobject——NoNo——
error.messagestring——NoYes——

200 application/json response schema

Field pathTypeReferenceFormatNullableRequiredEnumDescription
$objectRunDetail—NoYes——
allows_real_toolsboolean——NoYes——
completed_atstring or null—date-timeYesYes——
conversation_idstring or null——YesNo——
cost_usdnumber——NoYes——
eventsarray<PublicConversationEvent>——NoYes——
events[]objectPublicConversationEvent—NoYes——
events[].created_atstring—date-timeNoYes——
events[].payloadobject——NoYes—Sanitized public event payload. Private Agent snapshots, dynamic variables, tool snapshots, and internal Guardrail details are removed by the API.
events[].seqinteger——NoYes——
events[].typestring——NoYes——
idstring——NoYes——
input_tokensinteger——NoYes——
invocation_item_idstring——NoYes——
output_tokensinteger——NoYes——
repeat_indexinteger——NoYes——
resultobjectSimulationRunResult or NextReplyRunResult or ToolInvocationRunResult or RunFailureResult or PendingRunResult—NoYes——
result.conversation_idstring or null——YesNo——
result.evaluationsarray<TestEvaluation>——NoYes——
result.evaluations[]objectTestEvaluation—NoYes——
result.evaluations[].rationalestring——NoYes——
result.evaluations[].statusstring——NoYes"success", "failure"—
result.failure_codestring or null——YesNo"evaluator_error", "mock_not_matched", "quota_exceeded", "runtime_error", "tool_unavailable"—
result.evaluationobject or nullTestEvaluation—YesNo——
result.evaluation.rationalestring——NoYes——
result.evaluation.statusstring——NoYes"success", "failure"—
result.responsestring——NoYes——
result.callsarray<ToolCallEvidence>——NoYes——
result.calls[]objectToolCallEvidence—NoYes——
result.calls[].argumentsobject or null——YesYes——
result.calls[].arguments_rawstring or null——YesNo——
result.calls[].namestring——NoYes——
result.calls[].originstring——NoYes"llm", "workflow", "built_in", "transition"—
result.calls[].tool_idstring——NoYes——
result.calls[].tool_typestring——NoYes"system", "webhook", "google_sheets", "client", "workflow", "api_integration_webhook", "mcp", "code", "workflow_transition"—
result.parameter_resultsarray<ParameterEvaluation> or null——YesNo——
result.parameter_results[]objectParameterEvaluation—NoYes——
result.parameter_results[].errorstring or null——YesNo——
result.parameter_results[].matchedboolean——NoYes——
result.parameter_results[].reasonstring——NoYes——
result.passedboolean or null——YesNo——
started_atstring or null—date-timeYesYes——
statusstring——NoYes"pending", "running", "passed", "failed", "interrupted"—
transcriptarray<PublicTranscriptEntry>——NoYes——
transcript[]objectPublicTranscriptEntry—NoYes——
transcript[].rolestring——NoYes"user", "agent"—
transcript[].seqinteger——NoYes——
transcript[].textstring——NoYes——
updated_atstring—date-timeNoYes——

Response example

Response body JSON
{
  "id": "string",
  "invocation_item_id": "string",
  "repeat_index": 0,
  "status": "pending",
  "allows_real_tools": false,
  "result": {
    "evaluations": []
  },
  "input_tokens": 0,
  "output_tokens": 0,
  "cost_usd": 0,
  "started_at": "2026-01-01T00:00:00Z",
  "completed_at": "2026-01-01T00:00:00Z",
  "updated_at": "2026-01-01T00:00:00Z",
  "transcript": [],
  "events": []
}

Errors

Reviewed common and route-declared errors are summarized here; the list is not exhaustive. Start with the distributed error index to find each code's canonical domain page.

StatusCodeDescription
401unauthenticatedAuthentication is missing, invalid, or revoked.
403forbiddenThe authenticated caller does not have access to this operation.
404not_foundThe requested workspace resource was not found.
422validation_failedThe request did not pass field or business validation.
On this page
  1. Endpoint
  2. Authentication
  3. Parameters
  4. Request body
  5. Example
  6. Responses
  7. 4XX application/json response schema
  8. 200 application/json response schema
  9. Response example
  10. Errors
  11. Related operations