Skip to main content
GET
/
executions
/
{executionID}
Get execution details
curl --request GET \
  --url https://workflows.eachlabs.run/api/v1/executions/{executionID} \
  --header 'X-API-Key: <api-key>'
{
  "execution_id": "69ae8c7b-7500-4a45-b7c0-348b8cc2665b",
  "workflow_id": "50741f40-8621-4d46-8a91-dff4d873be98",
  "status": "completed",
  "bulk_id": "550e8400-e29b-41d4-a716-446655440000",
  "started_at": "2025-12-04T11:48:10Z",
  "completed_at": "2025-12-04T11:50:53Z",
  "inputs": {
    "story": "tell an epic story of a rat graduating from law"
  },
  "step_outputs": {
    "step1": {
      "step_id": "step1",
      "status": "completed",
      "started_at": "2025-12-04T11:48:10Z",
      "completed_at": "2025-12-04T11:48:39Z",
      "output": "Once upon a time...",
      "primary": "Once upon a time...",
      "metadata": {
        "model": "openai-chatgpt-5",
        "version": "0.0.1",
        "params": {
          "system_prompt": "You are a helpful assistant",
          "user_prompt": "tell an epic story of a rat graduating from law",
          "max_output_tokens": 512
        }
      }
    },
    "step2": {
      "step_id": "step2",
      "status": "completed",
      "started_at": "2025-12-04T11:48:39Z",
      "completed_at": "2025-12-04T11:50:53Z",
      "output": [
        "https://storage.googleapis.com/uploads/image1.png",
        "https://storage.googleapis.com/uploads/image2.png"
      ],
      "primary": "https://storage.googleapis.com/uploads/image1.png",
      "metadata": {
        "model": "nano-banana-pro",
        "version": "0.0.1",
        "params": {
          "prompt": "Generate images based on the story",
          "num_images": 2,
          "aspect_ratio": "16:9",
          "resolution": "1K",
          "output_format": "png"
        }
      }
    }
  },
  "output": [
    "https://storage.googleapis.com/uploads/image1.png",
    "https://storage.googleapis.com/uploads/image2.png"
  ],
  "error": "ExecutionFailed",
  "error_cause": "Step 'generate_image' failed: Model timeout after 30s"
}

Documentation Index

Fetch the complete documentation index at: https://docs.eachlabs.ai/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

X-API-Key
string
header
required

API key for authentication

Path Parameters

executionID
string
required

Execution identifier

Example:

"exec_xyz789"

Response

Execution details

Execution details returned by both GET /executions/{id} and webhook notifications.

Webhook Notifications

When you provide a webhook_url when triggering a workflow, this same structure will be POSTed to your webhook URL when the execution completes.

execution_id
string
required

Unique execution identifier (UUID format)

Example:

"69ae8c7b-7500-4a45-b7c0-348b8cc2665b"

workflow_id
string
required

Workflow identifier (UUID format)

Example:

"50741f40-8621-4d46-8a91-dff4d873be98"

status
enum<string>
required

Current execution status:

  • running - Workflow is currently executing
  • completed - Workflow finished successfully
  • failed - Workflow encountered an error
  • cancelled - Workflow was cancelled by user
Available options:
running,
completed,
failed,
cancelled
Example:

"completed"

bulk_id
string<uuid>

Bulk operation identifier (only present for executions triggered via bulk-trigger endpoint).

All executions from the same bulk operation share this ID, allowing you to:

  • Query all executions from a bulk operation together
  • Track batch progress
  • Correlate webhook notifications from related executions
Example:

"550e8400-e29b-41d4-a716-446655440000"

started_at
string<date-time>

RFC3339 timestamp when the execution started

Example:

"2025-12-04T11:48:10Z"

completed_at
string<date-time>

RFC3339 timestamp when the execution completed (omitted for running executions)

Example:

"2025-12-04T11:50:53Z"

inputs
object

Input parameters provided when triggering the workflow

Example:
{
  "story": "tell an epic story of a rat graduating from law"
}
step_outputs
object

Complete outputs from all workflow steps. Each key is a step ID (e.g., "step1", "step2"), and the value is a StepOutput object containing detailed information about that step's execution.

Example:
{
  "step1": {
    "step_id": "step1",
    "status": "completed",
    "started_at": "2025-12-04T11:48:10Z",
    "completed_at": "2025-12-04T11:48:39Z",
    "output": "Once upon a time...",
    "primary": "Once upon a time...",
    "metadata": {
      "model": "openai-chatgpt-5",
      "version": "0.0.1",
      "params": {
        "system_prompt": "You are a helpful assistant",
        "user_prompt": "tell an epic story of a rat graduating from law",
        "max_output_tokens": 512
      }
    }
  },
  "step2": {
    "step_id": "step2",
    "status": "completed",
    "started_at": "2025-12-04T11:48:39Z",
    "completed_at": "2025-12-04T11:50:53Z",
    "output": [
      "https://storage.googleapis.com/uploads/image1.png",
      "https://storage.googleapis.com/uploads/image2.png"
    ],
    "primary": "https://storage.googleapis.com/uploads/image1.png",
    "metadata": {
      "model": "nano-banana-pro",
      "version": "0.0.1",
      "params": {
        "prompt": "Generate images based on the story",
        "num_images": 2,
        "aspect_ratio": "16:9",
        "resolution": "1K",
        "output_format": "png"
      }
    }
  }
}
output

Output from the last completed step in the workflow. This provides quick access to the final result without navigating step_outputs.

Important: This field is only populated when the workflow status is completed.

  • For running workflows: null (even if some steps have completed)
  • For failed workflows: null
  • For cancelled workflows: null
  • For completed workflows: contains output from the chronologically last step

The last step is determined by the latest completed_at timestamp. The value is extracted from the step's output field, or primary field as fallback.

The type varies based on the workflow's final step:

  • Text generation steps return a string
  • Image generation steps return an array of URLs
  • Structured data steps return an object
Example:
[
  "https://storage.googleapis.com/uploads/image1.png",
  "https://storage.googleapis.com/uploads/image2.png"
]
error
string

High-level error message (only present if status is "failed")

Example:

"ExecutionFailed"

error_cause
string

Detailed error cause with context (only present if status is "failed")

Example:

"Step 'generate_image' failed: Model timeout after 30s"

Last modified on May 28, 2026