---
title: "Get execution"
method: GET
path: "/agents/v2/executions/{executionId}"
tags: ["Execution"]
---

# Get execution

`GET /agents/v2/executions/{executionId}`

## Request

- Base URL: `https://odyssey.asteroid.ai`
- URL: `https://odyssey.asteroid.ai/agents/v2/executions/{executionId}`
- Auth: API key in header `X-Api-Key`

Get a single execution by ID with all details

## Path parameters

- `executionId` string, uuid, required

## Response `200`

The request has succeeded.

- AgentsExecutionListItem: Represents a single execution in a list view
  - `agentId` string, uuid, required
  - `agentName` string, required: Deprecated: use workflowName. The workflow display name
  - `agentProfileId` string, uuid
  - `agentProfileName` string: Deprecated: use profileName. The name of the agent profile used for this execution (if any)
  - `browserLiveViewUrl` string: Deprecated: Use 'liveViewUrl' instead.
  - `browserRecordingUrl` string: Deprecated: Use 'recordingUrl' instead.
  - `comments` AgentsExecutionComment[], required
    - `content` string, required
    - `createdAt` string, date-time, required
    - `executionId` string, uuid, required
    - `id` string, uuid, required
    - `public` boolean, required
    - `updatedAt` string, date-time
    - `userId` string, uuid, required
  - `createdAt` string, date-time, required
  - `customEnvironmentId` string, uuid
  - `duration` number, double: Execution duration in seconds (only present for terminal executions)
  - `executionOptions` AgentsAgentExecutionOptions: Per-execution runtime options.
    - `softTimeoutMins` integer: Soft timeout in minutes. When the execution has been running longer than this value, a message is injected on every subsequent step urging the agent to wrap up and produce output. Must be greater than 0 and less than the agent's hard timeout (max_timeout_mins).
    - `variantKey` string: Identifies which variant this execution is for, scoping its shared files and scripts to a per-variant subdirectory under each node's shared folder. It does not change which workflow or version runs. Normalised to a filesystem-safe slug by the server. Requires the workflow to have `variant_mode` enabled, and a variant-mode workflow requires it on every execution.
  - `executionResult` AgentsExecutionExecutionResult: Execution result containing outcome, reasoning, and result data
    - `createdAt` string, date-time, required
    - `executionId` string, uuid, required
    - `id` string, uuid, required
    - `outcome` string, required: Outcome of the execution (success or failure)
    - `reasoning` string, required
    - `result` unknown, required
  - `hasBeenRerun` boolean, required
  - `humanLabels` AgentsExecutionHumanLabel[], required
    - `color` string, required: Hex color code for the label (e.g., #FF5733)
    - `createdAt` string, date-time, required
    - `id` string, uuid, required
    - `name` string, required
    - `organizationId` string, uuid, required
  - `id` string, uuid, required
  - `inputs` object
  - `liveViewUrl` string: Live view URL for debugging (if an environment is active and execution is running)
  - `metadata` object
  - `organizationId` string, uuid, required
  - `parentExecutionId` string, uuid
  - `platformUrl` string: Deep link to this execution in the Asteroid platform UI
  - `profileId` string, uuid
  - `profileName` string
  - `purgedAt` string, date-time: When the retention purge removed this execution's data. Inputs, activities, files and recordings are gone; the row is a tombstone.
  - `recordingUrl` string: Recording URL for playback (if an environment was used and execution is terminal)
  - `scriptFailures` AgentsExecutionScriptFailure[]: Script failures recorded for this execution (omitted when none occurred)
    - `actionId` string: Identifier correlating this failure to its activity event
    - `error` string
    - `failedLine` integer: 1-based line number where the script failed, if known
    - `nodeId` string
    - `nodeName` string
    - `occurredAt` string, date-time, required
    - `scriptFilepath` string: Relative path of the script file that failed
    - `step` integer: Execution step (iteration) at which the failure occurred
  - `startedAt` string, date-time: When the execution actually started running; absent while queued. createdAt means "enqueued at" for executions that waited in the queue.
  - `status` 'queued' | 'starting' | 'running' | 'paused' | 'awaiting_confirmation' | 'completed' | 'cancelled' | 'failed' | 'paused_by_agent', required
  - `terminalAt` string, date-time
  - `triggerContext` union: Discriminated union of trigger contexts (discriminated by source)
    - object: API-triggered execution context
      - `actor` CommonActor: Who did something: a person, an API key or one of Asteroid's services. Absent on a record made before actors were stored, on one a system job made, and when the caller may not see who it was.
        - `client` 'web' | 'cli' | 'mcp' | 'astro' | 'sdk': The program a caller used
        - `id` string, required: The person's id, the key's id, or the service's name
        - `kind` 'person' | 'api_key' | 'service', required: The kind of caller that did something
      - `apiKey` AgentsExecutionAPIKeyRef: API key reference used for authentication
        - `id` string, uuid, required
        - `name` string, required
      - `runner` AgentsExecutionTriggerRunner, required: Runner information - who triggered the execution
        - `email` string, required
        - `isAdmin` boolean: Whether the user is an admin (may be hidden for privacy)
        - `userId` string, uuid, required
      - `source` 'api', required
    - object: UI-triggered execution context
      - `actor` CommonActor: Who did something: a person, an API key or one of Asteroid's services. Absent on a record made before actors were stored, on one a system job made, and when the caller may not see who it was.
        - `client` 'web' | 'cli' | 'mcp' | 'astro' | 'sdk': The program a caller used
        - `id` string, required: The person's id, the key's id, or the service's name
        - `kind` 'person' | 'api_key' | 'service', required: The kind of caller that did something
      - `runner` AgentsExecutionTriggerRunner, required: Runner information - who triggered the execution
        - `email` string, required
        - `isAdmin` boolean: Whether the user is an admin (may be hidden for privacy)
        - `userId` string, uuid, required
      - `source` 'ui', required
    - object: Schedule-triggered execution context
      - `schedule` AgentsExecutionScheduleRef, required: Schedule reference for schedule-triggered executions
        - `cronExpression` string, required: Cron expression of the schedule
        - `id` string, uuid, required
      - `source` 'schedule', required
    - object: Warmup-triggered execution context: launched by a warm pool's replenisher
      - `source` 'warmup', required
      - `warmPoolId` string, uuid, required
  - `workflowId` string, uuid, required
  - `workflowName` string, required
  - `workflowVersion` integer: Version number of workflowVersionId. Absent when the version no longer exists.
  - `workflowVersionId` string, uuid, required
  - `workflowVersionPublished` boolean: Whether workflowVersionId is currently published. Absent when the version no longer exists.

## Other responses

- `400`: The server could not understand the request due to invalid syntax.
- `401`: Access is unauthorized.
- `403`: Access is forbidden.
- `404`: The server cannot find the requested resource.
- `500`: Server error

---

[API](https://skmtc.dev/asteroid/apis/agent-service.md) - [All operations](https://skmtc.dev/asteroid/apis/agent-service/llms.txt) - [OpenAPI document](https://skmtc.dev/asteroid/apis/agent-service/revisions/ccc134d1d510?raw)
