---
title: "Execute Workflow"
method: POST
path: "/workflows/{workflow_id}/runs"
tags: ["Workflows"]
---

# Execute Workflow

`POST /workflows/{workflow_id}/runs`

Execute a workflow with the provided input data. Workflows can run in streaming or batch mode.

**Execution Modes:**
- **Streaming (`stream=true`)**: Real-time step-by-step execution updates via SSE
- **Non-Streaming (`stream=false`)**: Complete workflow execution with final result

**Workflow Execution Process:**
1. Input validation against workflow schema
2. Sequential or parallel step execution based on workflow design
3. Data flow between steps with transformation
4. Error handling and automatic retries where configured
5. Final result compilation and response

**Session Management:**
Workflows support session continuity for stateful execution across multiple runs.

## Path parameters

- `workflow_id` string, required

## Response `200`

Workflow executed successfully

- unknown

## Other responses

- `400` — Invalid input data or workflow configuration
- `401` — Unauthorized
- `404` — Workflow not found
- `422` — Validation Error
- `500` — Workflow execution error

---

[API](https://skmtc.net/agno/apis/agno-api-reference.md) · [All operations](https://skmtc.net/agno/apis/agno-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/agno/agno-api-reference/revisions/5f6149d395d0/schema)
