AgentsExecutions

Executions

An execution is the saved record of one run: an AI agent working through a task, or a workflow running from its trigger to its last node. Executions answer the two questions you have after anything automated happens: did it run, and did it work.

You find them under Executions in the Activity group of the Console sidebar. The page itself is titled Runs because it covers agents and workflows in one list.

Today, executions are read and managed in the Console by signed-in members and are not available through API keys. For runs you drive from your own code, log the x-syntic-request-id header of each API response instead. An API-key read path is being built; its design is in Executions API below.

What an execution records

FieldWhat it holds
StateWhere the run is now, or how it ended. See States.
WorkflowThe workflow or agent flow that ran. For a workflow run this is the workflow’s name.
SessionThe session the run belongs to, when it was triggered by a conversation.
StartedWhen the run began.
DurationHow long it took, once it has ended.
InputWhat the run was given. For a workflow run this includes the trigger type (for example manual) and the trigger payload.
OutputWhat the run produced, if anything.
ErrorThe error message, if the run failed.
CostFor workflow runs, the model cost of the run is kept with the record.

Traces

Every execution carries an ordered list of traces, one per step. A trace records:

Trace fieldMeaning
Step numberPosition in the run, starting at 0.
Step typeWhat kind of step it was, such as a model call, a tool call or an event.
LabelA short human-readable name for the step.
NodeFor workflow runs, the node in the workflow graph that produced the step.
Input / OutputWhat went into the step and what came out.
ErrorWhy the step failed, if it did.
Started / Ended / DurationTiming for that one step.

Read the traces top to bottom to follow the agent’s reasoning: which tool it chose, the arguments it sent, what came back and what it decided next. When a run fails, the last trace with an error usually tells you why.

States

The State filter on the Runs page offers these values:

StateMeaning
PendingQueued and not started yet.
RunningIn progress now. Only running rows can be terminated.
CompletedEnded normally.
FailedEnded with an error. Open it and read the Error tab and the last traces.
SuspendedPaused part-way and not currently running.
CancelledStopped before it finished.

Runs recorded by the agent runtime use a finer set of end states, which you may see on AI Agent runs:

ValueMeaning
in_progressStill running.
finishedCompleted normally.
errorStopped because of an error.
timeoutRan out of time.
stoppedStopped before completing.
terminatedEnded by an administrator.

Find a run

Choose the run type

At the top of the page pick Workflow runs (the default) or AI Agent runs.

Narrow the list

Use any of the filters, then select Apply:

  • State
  • Start date and End date
  • Workflow: matches part of the workflow name
  • Session ID: shown for AI Agent runs only; paste a session ID to see every run a conversation triggered

Reset clears them all. The applied filters appear as chips above the results.

Open a run

Results are listed newest first, 50 at a time; Load more fetches the next page. Select a row to open its detail panel on the right with Traces, Input, Output and, when present, Error.

Runs are scoped to the project you have selected. Switch project to see another project’s runs.

Stop or delete runs

These actions need the administrator or owner role, and none of them can be undone.

ActionWhereEffect
TerminateRow actions (hover a running row)Stops the run. An agent run ends as terminated.
DeleteRow actions (hover any row)Permanently removes the run and all its traces.
Delete matchingAbove the list, for AI Agent runsPermanently removes every run that matches the applied filters in the current project, not only the page you can see. The confirmation shows how many runs will go.

Delete matching is not offered for workflow runs. Delete those one at a time from the row actions.

If a bulk delete reports that nothing was deleted, your role in the organization is probably not high enough.

Debugging a failed run

  1. Start from the end. Open the Error tab, then the last few traces. Most failures are a tool that returned an error or a model step that ran out of room.
  2. Check the input. A surprising answer often comes from a surprising input. Compare the Input tab with what you expected the channel or trigger to send.
  3. Look at the tool calls. Check the arguments the agent sent. Wrong arguments usually mean the tool’s description or the agent’s instructions are unclear.
  4. Compare with a good run. Filter by the same workflow or session and open a run that worked.
  5. Watch it live. Reproduce the problem with the agent’s Live activity panel open (see Sessions) to see each step as it happens.
  6. Change one thing at a time. After editing instructions, skills or tools, run the same input again and compare the traces.

Executions API

⚠️
Preview — this feature is being built; the design below is the spec. Everything above this heading describes the Console as it works today.

The Executions API gives API keys read access to the same run records the Console shows: AI agent runs with their traces, inputs, outputs, errors and cost. Use it to pull run history into your own monitoring, alert on failures, or attach a run’s traces to a support ticket automatically.

It covers AI agent runs. Workflow runs stay in the Console for now.

Endpoints

MethodPathPurpose
GET/v1/agents/executionsList runs, newest first, with filters.
GET/v1/agents/executions/{execution_id}One run, including its traces.
GET/v1/agents/executions/{execution_id}/tracesTraces only, paginated, for very long runs.
POST/v1/agents/executions/{execution_id}/terminateStop a run that is in_progress.
DELETE/v1/agents/executions/{execution_id}Delete a run and its traces.

Base URL https://app.syntic.ai/v1 (the paths above already include /v1). Authenticate with a private key and send syntic-beta: agents-2026-11-01 while in preview. Reads work with any key in the workspace. Terminate and delete follow the Console rule: the key’s creator must be an Administrator or Owner, otherwise 403 role_required.

List runs

GET /v1/agents/executions

Query parameterTypeNotes
statestringin_progress, finished, error, timeout, stopped or terminated. Repeat the parameter for several.
agent_idstringRuns of one agent.
session_idstringEvery run one session triggered.
started_after, started_beforeRFC 3339 timeTime window on the run’s start.
limitinteger1 to 100, default 25.
after_id, before_idstringCursor pagination.

The list returns run summaries without traces:

{
  "data": [
    {
      "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
    }
  ],
  "has_more": true,
  "first_id": "exec_01JC7N0Q8S2U4W6Y8A0C",
  "last_id": "exec_01JC7MZ7R1T3V5X7Z9B1"
}

Read one run

GET /v1/agents/executions/{execution_id} returns the summary fields plus input, output and traces. Each trace is one step:

FieldTypeMeaning
stepintegerPosition in the run, from 0.
step_typestringmodel_call, tool_call, approval, memory or event.
labelstringShort readable name, such as the tool name.
input, outputobjectWhat went into the step and what came out. Large values are cut at 32 KB with "truncated": true.
errorstring or nullWhy the step failed.
started_at, ended_at, duration_msTiming.
usageobject or nullTokens and cost, for model_call steps.

Runs with more than 200 traces return the first 200 and "traces_truncated": true; page through the rest with /traces?after_step=199.

# Every failed run in the last day
curl -sS -G https://app.syntic.ai/v1/agents/executions \
  -H "Authorization: Bearer $SYNTIC_API_KEY" \
  -H "syntic-beta: agents-2026-11-01" \
  --data-urlencode "state=error" \
  --data-urlencode "state=timeout" \
  --data-urlencode "started_after=2026-11-04T10:00:00Z"

Terminate and delete

  • POST /v1/agents/executions/{id}/terminate ends a run in in_progress with state terminated and returns the updated summary. On any other state: 409 execution_not_running.
  • DELETE /v1/agents/executions/{id} removes the run and its traces permanently and returns {"id": "...", "type": "agent_execution_deleted"}. Bulk deletion stays in the Console.

Both actions write an audit event with the key id as the actor.

Errors

Errors use the error envelope.

StatustypecodeWhen
400invalid_requestinvalid_filterUnknown state value or a malformed time.
403permissionrole_requiredTerminate or delete without Administrator or Owner.
404not_foundexecution_not_foundNo such run in this workspace.
409invalid_requestexecution_not_runningTerminate on a run that has already ended.
429rate_limitrate_limitedToo many requests.

Limits

LimitValue
Page sizeUp to 100 runs
Traces returned inline200 per run
Size of one trace’s input or output32 KB before truncation
Rate limit600 reads per minute per workspace

Reading executions is free.

Build notes for the platform team

  • This is the quick win from the roadmap: add an API-key auth path to the existing agent-executions function’s list, get, terminate and delete actions, scoped to the key’s workspace, and switch offset paging to cursors.
  • Map the Console’s workflow-run state names only in the Console; the API uses the agent-run states listed above.
  • Sessions: the conversations that trigger runs.
  • Tools & skills: what an agent may do during a run, and approvals.
  • Audit logs: who changed what in the organization.
Was this page helpful?