Files

5.5 KiB

Event Logs

List Event Logs

Get a paginated list of event logs with optional filtering.

List all event logs:

curl http://localhost:8002/osm/api/event-logs \
  -H "Authorization: Bearer $TOKEN"

With pagination:

curl "http://localhost:8002/osm/api/event-logs?offset=0&limit=50" \
  -H "Authorization: Bearer $TOKEN"

Filter by workspace:

curl "http://localhost:8002/osm/api/event-logs?workspace=example.com" \
  -H "Authorization: Bearer $TOKEN"

Filter by topic:

curl "http://localhost:8002/osm/api/event-logs?topic=run.completed" \
  -H "Authorization: Bearer $TOKEN"

Filter by run ID:

curl "http://localhost:8002/osm/api/event-logs?run_id=abc12345" \
  -H "Authorization: Bearer $TOKEN"

Multiple filters:

curl "http://localhost:8002/osm/api/event-logs?workspace=example.com&processed=false&limit=100" \
  -H "Authorization: Bearer $TOKEN"

Query Parameters:

Parameter Type Description
topic string Filter by event topic (e.g., "run.started", "run.completed")
name string Filter by event name
source string Filter by event source (e.g., "executor", "scheduler", "api")
workspace string Filter by workspace name
run_id string Filter by run ID
workflow_name string Filter by workflow name
processed bool Filter by processed status ("true" or "false")
offset int Pagination offset (default: 0)
limit int Maximum records to return (default: 20, max: 10000)

Response:

{
  "data": [
    {
      "id": 1,
      "topic": "run.completed",
      "event_id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "subdomain-enum-completed",
      "source": "executor",
      "data_type": "scan",
      "data": "{\"scan_id\":\"abc12345\",\"target\":\"example.com\",\"duration_ms\":3600000,\"assets_found\":150,\"steps_completed\":10}",
      "workspace": "example.com",
      "run_id": "abc12345",
      "workflow_name": "subdomain-enum",
      "processed": true,
      "processed_at": "2025-01-15T10:30:00Z",
      "error": "",
      "created_at": "2025-01-15T09:30:00Z"
    },
    {
      "id": 2,
      "topic": "run.started",
      "event_id": "660e8400-e29b-41d4-a716-446655440001",
      "name": "port-scan-started",
      "source": "api",
      "data_type": "scan",
      "data": "{\"scan_id\":\"def67890\",\"target\":\"test.com\",\"params\":{\"ports\":\"top-1000\"}}",
      "workspace": "test.com",
      "run_id": "def67890",
      "workflow_name": "port-scan",
      "processed": true,
      "processed_at": "2025-01-15T11:00:00Z",
      "error": "",
      "created_at": "2025-01-15T11:00:00Z"
    },
    {
      "id": 3,
      "topic": "asset.discovered",
      "event_id": "770e8400-e29b-41d4-a716-446655440002",
      "name": "httpx-asset-found",
      "source": "executor",
      "data_type": "asset",
      "data": "{\"url\":\"https://api.example.com\",\"status_code\":200,\"title\":\"API Documentation\",\"tech\":[\"nginx\",\"nodejs\"]}",
      "workspace": "example.com",
      "run_id": "abc12345",
      "workflow_name": "subdomain-enum",
      "processed": true,
      "processed_at": "2025-01-15T10:15:00Z",
      "error": "",
      "created_at": "2025-01-15T10:15:00Z"
    },
    {
      "id": 4,
      "topic": "schedule.triggered",
      "event_id": "880e8400-e29b-41d4-a716-446655440003",
      "name": "daily-scan-triggered",
      "source": "scheduler",
      "data_type": "schedule",
      "data": "{\"schedule_id\":\"sch_1234567890\",\"trigger_type\":\"cron\",\"schedule\":\"0 2 * * *\"}",
      "workspace": "example.com",
      "run_id": "ghi11111",
      "workflow_name": "subdomain-enum",
      "processed": true,
      "processed_at": "2025-01-16T02:00:00Z",
      "error": "",
      "created_at": "2025-01-16T02:00:00Z"
    },
    {
      "id": 5,
      "topic": "run.failed",
      "event_id": "990e8400-e29b-41d4-a716-446655440004",
      "name": "nuclei-scan-failed",
      "source": "executor",
      "data_type": "scan",
      "data": "{\"scan_id\":\"jkl22222\",\"target\":\"unreachable.com\",\"error\":\"connection timeout\"}",
      "workspace": "unreachable.com",
      "run_id": "jkl22222",
      "workflow_name": "nuclei-scan",
      "processed": false,
      "processed_at": null,
      "error": "connection timeout after 5 retries",
      "created_at": "2025-01-15T14:00:00Z"
    },
    {
      "id": 6,
      "topic": "step.completed",
      "event_id": "aae8400-e29b-41d4-a716-446655440005",
      "name": "run-subfinder-completed",
      "source": "executor",
      "data_type": "step",
      "data": "{\"step_name\":\"run-subfinder\",\"duration_ms\":45000,\"output_lines\":150}",
      "workspace": "example.com",
      "run_id": "abc12345",
      "workflow_name": "subdomain-enum",
      "processed": true,
      "processed_at": "2025-01-15T10:01:45Z",
      "error": "",
      "created_at": "2025-01-15T10:01:45Z"
    }
  ],
  "pagination": {
    "total": 150,
    "offset": 0,
    "limit": 20
  }
}

Available Event Topics:

Topic Description
run.started Workflow execution started
run.completed Workflow execution completed successfully
run.failed Workflow execution failed
asset.discovered New asset discovered during scan
asset.updated Existing asset information updated
webhook.received External webhook received
schedule.triggered Scheduled workflow triggered
step.completed Individual step completed
step.failed Individual step failed