Get an execution

⚠️
Preview — this feature is being built; the design below is the spec.
GET https://app.syntic.ai/v1/agents/executions/{execution_id}

Return one run with its input, output and up to 200 traces (one per step: model calls, tool calls, approvals, memory reads and writes). Longer runs set traces_truncated: true; page through the rest with List execution traces.

For how this fits into a full workflow, see Executions.

Headers

HeaderRequiredValue
AuthorizationYesBearer <key>: a private inference key (sk_live_...). See Authentication.
syntic-betaYes, while in previewagents-2026-11-01. Without it the call fails with 400 beta_required. See Versioning.

Path parameters

ParameterTypeDescription
execution_idstringThe run id, starting with exec_.

Response

200 OK, Content-Type: application/json

{
  "id": "exec_01JC7N0Q8S2U4W6Y8A0C",
  "type": "agent_execution",
  "agent_id": "agt_01JC4R8W6Q2N9X3T5V7Y",
  "agent_name": "refund-desk",
  "agent_version": 4,
  "session_id": "sesn_01JC7M2K4P6R8T0V2X4Z",
  "state": "error",
  "started_at": "2026-11-05T10:00:01Z",
  "ended_at": "2026-11-05T10:00:19Z",
  "duration_ms": 18234,
  "error": "Tool lookup_order returned an error: order not found",
  "usage": {
    "input_tokens": 9120,
    "cached_input_tokens": 6400,
    "output_tokens": 412,
    "cost_usd": "0.0294"
  },
  "trace_count": 7,
  "input": {
    "message": "Please refund order 88123."
  },
  "output": null,
  "traces": [
    {
      "step": 2,
      "step_type": "tool_call",
      "label": "lookup_order",
      "input": {
        "order_id": "88123"
      },
      "output": {
        "error": "order not found"
      },
      "error": "order not found",
      "started_at": "2026-11-05T10:00:05Z",
      "ended_at": "2026-11-05T10:00:06Z",
      "duration_ms": 412,
      "usage": null
    }
  ],
  "traces_truncated": false
}
FieldTypeDescription
traces[].stepintegerPosition from 0.
traces[].step_typestringmodel_call, tool_call, approval, memory or event.
traces[].inputobjectWhat went in; values over 32 KB are cut and marked truncated.
traces[].outputobjectWhat came out.
traces[].usageobject or nullTokens and cost on model_call steps.

Examples

curl -sS https://app.syntic.ai/v1/agents/executions/exec_01JC7N0Q8S2U4W6Y8A0C \
  -H "Authorization: Bearer $SYNTIC_API_KEY" \
  -H "syntic-beta: agents-2026-11-01"

Errors

Errors use the error envelope and carry a request_id. Codes specific to this operation:

StatustypecodeWhen
400invalid_request_errorbeta_requiredThe syntic-beta header is missing.
404not_found_errorexecution_not_foundNo run with that id in this workspace.
401authentication_errorinvalid_api_keyThe key is missing, unknown, revoked or expired.
429rate_limit_errorrate_limitedToo many requests; wait for Retry-After. See Rate-limit headers.
Was this page helpful?