Skip to main content

Step Results

List Step Results

Get a paginated list of step execution results with optional filtering. List all step results:
curl http://localhost:8002/osm/api/step-results \
  -H "Authorization: Bearer $TOKEN"
With pagination:
curl "http://localhost:8002/osm/api/step-results?offset=0&limit=50" \
  -H "Authorization: Bearer $TOKEN"
Filter by workspace:
curl "http://localhost:8002/osm/api/step-results?workspace=example_com" \
  -H "Authorization: Bearer $TOKEN"
Filter by status:
curl "http://localhost:8002/osm/api/step-results?status=completed" \
  -H "Authorization: Bearer $TOKEN"
Filter by step type:
curl "http://localhost:8002/osm/api/step-results?step_type=bash" \
  -H "Authorization: Bearer $TOKEN"
Filter by run ID:
curl "http://localhost:8002/osm/api/step-results?run_id=123" \
  -H "Authorization: Bearer $TOKEN"
Multiple filters:
curl "http://localhost:8002/osm/api/step-results?workspace=example_com&status=completed&limit=100" \
  -H "Authorization: Bearer $TOKEN"
Query Parameters:
ParameterTypeDescription
workspacestringFilter by workspace name
statusstringFilter by status (pending, running, completed, failed)
step_typestringFilter by step type (bash, function, foreach, parallel-steps, remote-bash, http, llm)
run_idintFilter by run ID
offsetintPagination offset (default: 0)
limitintMaximum records to return (default: 20, max: 10000)
Response:
{
  "data": [
    {
      "id": 1,
      "run_id": 123,
      "step_name": "run-subfinder",
      "step_type": "bash",
      "status": "completed",
      "command": "subfinder -d example.com -o {{Output}}/subdomains.txt",
      "output": "Found 150 subdomains",
      "error": "",
      "started_at": "2025-01-15T10:00:00Z",
      "completed_at": "2025-01-15T10:01:30Z",
      "duration_ms": 90000,
      "created_at": "2025-01-15T10:00:00Z",
      "updated_at": "2025-01-15T10:01:30Z"
    },
    {
      "id": 2,
      "run_id": 123,
      "step_name": "run-httpx",
      "step_type": "bash",
      "status": "completed",
      "command": "httpx -l {{Output}}/subdomains.txt -o {{Output}}/httpx.txt",
      "output": "Probed 150 hosts, 120 alive",
      "error": "",
      "started_at": "2025-01-15T10:01:30Z",
      "completed_at": "2025-01-15T10:03:00Z",
      "duration_ms": 90000,
      "created_at": "2025-01-15T10:01:30Z",
      "updated_at": "2025-01-15T10:03:00Z"
    },
    {
      "id": 3,
      "run_id": 124,
      "step_name": "process-results",
      "step_type": "function",
      "status": "completed",
      "command": "",
      "output": "true",
      "error": "",
      "started_at": "2025-01-15T11:00:00Z",
      "completed_at": "2025-01-15T11:00:01Z",
      "duration_ms": 1000,
      "created_at": "2025-01-15T11:00:00Z",
      "updated_at": "2025-01-15T11:00:01Z"
    }
  ],
  "pagination": {
    "total": 250,
    "offset": 0,
    "limit": 20
  }
}
Step Status Values:
StatusDescription
pendingStep is queued but not yet started
runningStep is currently executing
completedStep finished successfully
failedStep failed with an error
skippedStep was skipped (pre_condition not met)
Step Types:
TypeDescription
bashShell command execution
functionUtility function execution
foreachLoop over input items
parallel-stepsExecute steps in parallel
remote-bashRemote command execution (Docker/SSH)
httpHTTP request step
llmLLM/AI step