curl -X GET "https://api.danubeai.com/v1/workflows/wf_abc123"
from danube import DanubeClient
with DanubeClient(api_key="dk_...") as client:
workflow = client.workflows.get("wf_abc123")
for step in workflow.steps:
print(f"Step {step.step_number}: {step.tool_name}")
{
"id": "wf_abc123",
"name": "Email Summary Pipeline",
"description": "Fetches emails, summarizes, and posts to Slack",
"steps": [
{
"step_number": 1,
"tool_id": "tool_001",
"tool_name": "Gmail - List Emails",
"description": "Fetch recent emails",
"input_mapping": {
"limit": "{{inputs.email_count}}"
}
},
{
"step_number": 2,
"tool_id": "tool_002",
"tool_name": "OpenAI - Summarize",
"description": "Summarize email content",
"input_mapping": {
"text": "{{steps.1.result.emails}}"
}
},
{
"step_number": 3,
"tool_id": "tool_003",
"tool_name": "Slack - Send Message",
"description": "Post summary to Slack",
"input_mapping": {
"channel": "{{inputs.slack_channel}}",
"message": "{{steps.2.result.summary}}"
}
}
],
"owner_id": "user_123",
"visibility": "public",
"tags": ["email", "slack", "automation"],
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-01-20T14:00:00Z"
}
Workflows
Get Workflow
Get workflow details including steps and configuration
GET
/
v1
/
workflows
/
{workflow_id}
curl -X GET "https://api.danubeai.com/v1/workflows/wf_abc123"
from danube import DanubeClient
with DanubeClient(api_key="dk_...") as client:
workflow = client.workflows.get("wf_abc123")
for step in workflow.steps:
print(f"Step {step.step_number}: {step.tool_name}")
{
"id": "wf_abc123",
"name": "Email Summary Pipeline",
"description": "Fetches emails, summarizes, and posts to Slack",
"steps": [
{
"step_number": 1,
"tool_id": "tool_001",
"tool_name": "Gmail - List Emails",
"description": "Fetch recent emails",
"input_mapping": {
"limit": "{{inputs.email_count}}"
}
},
{
"step_number": 2,
"tool_id": "tool_002",
"tool_name": "OpenAI - Summarize",
"description": "Summarize email content",
"input_mapping": {
"text": "{{steps.1.result.emails}}"
}
},
{
"step_number": 3,
"tool_id": "tool_003",
"tool_name": "Slack - Send Message",
"description": "Post summary to Slack",
"input_mapping": {
"channel": "{{inputs.slack_channel}}",
"message": "{{steps.2.result.summary}}"
}
}
],
"owner_id": "user_123",
"visibility": "public",
"tags": ["email", "slack", "automation"],
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-01-20T14:00:00Z"
}
Overview
Retrieves a workflow by ID with full details including all steps and their input mappings. Public workflows are accessible to anyone; private workflows require ownership.Path Parameters
The workflow UUID
Response
Unique workflow identifier
Workflow name (max 128 characters)
Workflow description
Ordered list of workflow steps
Show Step object
Show Step object
Position in the execution sequence (starting from 1)
UUID of the Danube tool to execute
Human-readable tool name
What this step does
Maps tool parameters to values. Supports template syntax:
{{inputs.field}}— reference workflow inputs{{steps.N.result.field}}— reference output from step N
Creator’s user ID
private or publicTags for categorization
ISO 8601 creation timestamp
ISO 8601 last update timestamp
Example
curl -X GET "https://api.danubeai.com/v1/workflows/wf_abc123"
from danube import DanubeClient
with DanubeClient(api_key="dk_...") as client:
workflow = client.workflows.get("wf_abc123")
for step in workflow.steps:
print(f"Step {step.step_number}: {step.tool_name}")
{
"id": "wf_abc123",
"name": "Email Summary Pipeline",
"description": "Fetches emails, summarizes, and posts to Slack",
"steps": [
{
"step_number": 1,
"tool_id": "tool_001",
"tool_name": "Gmail - List Emails",
"description": "Fetch recent emails",
"input_mapping": {
"limit": "{{inputs.email_count}}"
}
},
{
"step_number": 2,
"tool_id": "tool_002",
"tool_name": "OpenAI - Summarize",
"description": "Summarize email content",
"input_mapping": {
"text": "{{steps.1.result.emails}}"
}
},
{
"step_number": 3,
"tool_id": "tool_003",
"tool_name": "Slack - Send Message",
"description": "Post summary to Slack",
"input_mapping": {
"channel": "{{inputs.slack_channel}}",
"message": "{{steps.2.result.summary}}"
}
}
],
"owner_id": "user_123",
"visibility": "public",
"tags": ["email", "slack", "automation"],
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-01-20T14:00:00Z"
}
⌘I
