Description: Retrieves details about each step executed in a specific workflow run. A step is defined as a node within the workflow. A run is a single execution of a workflow.
Request Syntax:
GET workflows/{workflow_id}/runs/{run_id}/steps
Authentication: Bearer <Your API key>
You can get the {run_id} of an executed workflow from the output of an Execute Workflow API call.
This example includes the output for a workflow which took in a prompt, generated a response with a model node and then emailed the response.
[
{
"id": "b2acc986-af06-418a-bf71-c730d5ghaf0b",
"user_id": "2*****************1",
"organization_id": "2*****************7",
"node_id": "model",
"status": "completed",
"start_time": "2025-03-13T02:41:15.144470Z",
"end_time": "2025-03-13T02:41:17.382162Z",
"elapsed_time": 2,
"error": null,
"outputs": {
"id": "chatcmpl-a9fd051615c7405e8d299c797ee16223",
"object": "chat.completion",
"created": 1741833676,
"model": "virtuoso-medium",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"reasoning_content": null,
"content": "Why was the weather forecast sad?\n\nBecause it had a lot of problems and was feeling a little \"forecast-ticular.\" \n\n(Note: \"Forecast-ticular\" is a play on words, combining \"forecast\" and \"particular.\")",
"tool_calls": []
},
"logprobs": null,
"finish_reason": "stop",
"stop_reason": null
}
],
"usage": {
"prompt_tokens": 36,
"total_tokens": 84,
"completion_tokens": 48,
"prompt_tokens_details": null
},
"prompt_logprobs": null,
"confidence_info": {
"error": "No logprobs available - model/provider may not support confidence calculation",
"confidence_score": null,
"mean_entropy": null,
"total_entropy": null
}
},
"inputs": {
"model": "virtuoso-medium",
"stream": false,
"max_tokens": 8192,
"temperature": 0.7,
"top_p": 1,
"top_k": 50,
"repetition_penalty": 0,
"messages": [
{
"role": "user",
"content": "Tell me a joke about the weather"
}
],
"run_id": "5b69669f-975a-49af-a33a-61ff9ae5a20f",
"input_data": {
"prompt": "Tell me a joke about the weather"
}
},
"step_metadata": null,
"tokens": 0
},
{
"id": "ad6edfea-bf1c-4639-9d9f-b53c9ad60bgg",
"user_id": "2*****************1",
"organization_id": "2*****************7",
"node_id": "slack_integration",
"status": "completed",
"start_time": "2025-03-13T02:41:17.403879Z",
"end_time": "2025-03-13T02:41:19.179523Z",
"elapsed_time": 1,
"error": null,
"outputs": {
"result": {
"data": {
"ok": true,
"channel": "C0257V9FS09",
"ts": "1741833679.099979",
"warning": "missing_charset",
"response_metadata": {
"warnings": [
"missing_charset"
]
}
},
"error": null,
"successfull": true,
"successful": true
}
},
"inputs": {
"app_name": "slack",
"action": "SLACK_SHARE_A_ME_MESSAGE_IN_A_CHANNEL",
"entity_id": "a***********m",
"workspace_type": "local",
"input_mapping": {
"channel": "orchestra-demo",
"text": "Why was the weather forecast sad?\n\nBecause it had a lot of problems and was feeling a little \"forecast-ticular.\" \n\n(Note: \"Forecast-ticular\" is a play on words, combining \"forecast\" and \"particular.\")"
},
"tool_config": {
"tool_type": "slack"
},
"run_id": "5b69669f-975a-49af-a33a-61ff9ae5a20f",
"input_data": {
"prompt": "Tell me a joke about the weather",
"model": "Why was the weather forecast sad?\n\nBecause it had a lot of problems and was feeling a little \"forecast-ticular.\" \n\n(Note: \"Forecast-ticular\" is a play on words, combining \"forecast\" and \"particular.\")"
}
},
"step_metadata": null,
"tokens": 0
}
]
Response Syntax Variables
For each node in the workflow, there will be the following output:
id: ID associated with the specific step in the workflow
User id: ID associated with the user who executed the workflow
Organization id: ID of the organization where the workflow is stored
Node id: ID for the specific node which is executed during this step
Status: status of the workflow step
Start time: date-time when the step began execution
End time: date-time when the step finished execution
Elapsed time: Amount of seconds the step took to complete
Error: Any errors which occurred during step execution
Outputs: The output of the step
Output data will vary based on the specific node which is executed
Inputs: The input to the step
Input data will vary based on the specific node which is executed
Step Metadata: Metadata associated with the specific step