Files
osmedeus/docs/api/steps.md
T

3.7 KiB

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:

Parameter Type Description
workspace string Filter by workspace name
status string Filter by status (pending, running, completed, failed)
step_type string Filter by step type (bash, function, foreach, parallel-steps, remote-bash, http, llm)
run_id int Filter by run ID
offset int Pagination offset (default: 0)
limit int Maximum 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:

Status Description
pending Step is queued but not yet started
running Step is currently executing
completed Step finished successfully
failed Step failed with an error
skipped Step was skipped (pre_condition not met)

Step Types:

Type Description
bash Shell command execution
function Utility function execution
foreach Loop over input items
parallel-steps Execute steps in parallel
remote-bash Remote command execution (Docker/SSH)
http HTTP request step
llm LLM/AI step