REST API Reference
The Osmedeus server provides a REST API for managing workflows, runs, and assets. Start the server with:Authentication
All endpoints require bearer token authentication:Endpoints Overview
| Category | Base Path | Description |
|---|---|---|
| Runs | /osm/api/runs | Manage workflow executions |
| Workflows | /osm/api/workflows | List and query workflows |
| Schedules | /osm/api/schedules | Manage scheduled triggers |
| Assets | /osm/api/assets | Query discovered assets |
| Vulnerabilities | /osm/api/vulnerabilities | Query vulnerabilities |
| Workspaces | /osm/api/workspaces | Manage workspaces |
| Functions | /osm/api/functions | Execute utility functions |
| Snapshots | /osm/api/snapshots | Export/import workspaces |
| LLM | /osm/api/llm | LLM chat/embeddings |
| Install | /osm/api/install | Binary management |
| Step Results | /osm/api/step-results | Query step execution results |
Runs
Create Run
Start a new workflow execution.List Runs
| Parameter | Description |
|---|---|
status | Filter by status (pending, running, completed, failed) |
workspace | Filter by workspace name |
limit | Maximum results (default: 50) |
offset | Pagination offset |
Get Run
Get Run Steps
Get Run Artifacts
Cancel Run
Workflows
List Workflows
| Parameter | Description |
|---|---|
kind | Filter by kind (module, flow, fragment) |
tags | Filter by tags (comma-separated) |
Get Workflow
Get Workflow Tags
Get all unique tags from indexed workflows.Refresh Workflow Index
Re-index all workflows from filesystem to database.| Parameter | Required | Description |
|---|---|---|
force | No | Force re-index all workflows regardless of checksum |
Schedules
List Schedules
Create Schedule
Get Schedule
Update Schedule
Delete Schedule
Enable/Disable Schedule
Trigger Schedule
Execute a scheduled workflow immediately.Assets
List Assets
| Parameter | Description |
|---|---|
workspace | Filter by workspace |
asset_type | Filter by type (subdomain, url, ip, etc.) |
status_code | Filter by HTTP status code |
limit | Maximum results (default: 100) |
offset | Pagination offset |
Get Asset
Asset Diff
Compare assets between two time points to identify changes.| Parameter | Required | Description |
|---|---|---|
workspace | Yes | Workspace name |
from | Yes | Start time (RFC3339 or Unix timestamp) |
to | No | End time (default: now) |
- RFC3339:
2025-01-15T10:00:00Z - Unix timestamp:
1705312800 - Date only:
2025-01-15 - DateTime:
2025-01-15 10:00:00
Vulnerabilities
List Vulnerabilities
| Parameter | Description |
|---|---|
workspace | Filter by workspace |
severity | Filter by severity (critical, high, medium, low, info) |
asset_value | Filter by asset |
limit | Maximum results (default: 100) |
offset | Pagination offset |
Get Vulnerability
Vulnerability Diff
Compare vulnerabilities between two time points.| Parameter | Required | Description |
|---|---|---|
workspace | Yes | Workspace name |
from | Yes | Start time (RFC3339 or Unix timestamp) |
to | No | End time (default: now) |
Workspaces
List Workspaces
Get Workspace
Delete Workspace
Functions
Execute Function
Execute a utility function.List Functions
Snapshots
List Snapshots
Export Snapshot
Import Snapshot
LLM
Chat Completions
OpenAI-compatible chat completions endpoint.Embeddings
Install
List Binary Registry
Check Binary Status
Install Binary
Event Logs
List Events
| Parameter | Description |
|---|---|
topic | Filter by event topic |
run_id | Filter by run ID |
from | Start time filter |
to | End time filter |
limit | Maximum results |
Step Results
List Step Results
Query step execution results with filtering and pagination.| Parameter | Description |
|---|---|
workspace | Filter by workspace name |
status | Filter by status (pending, running, completed, failed) |
step_type | Filter by step type (bash, function, etc.) |
run_id | Filter by run ID |
offset | Pagination offset (default: 0) |
limit | Maximum results (default: 20, max: 10000) |
Health
Health Check
Error Responses
All error responses follow this format:| Code | Description |
|---|---|
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Missing or invalid token |
| 404 | Not Found - Resource doesn’t exist |
| 500 | Internal Server Error - Server error |