--- title: "Osmedeus API Documentation" description: "RESTful API reference for managing security automation workflows" --- # Osmedeus API Documentation ## Overview The Osmedeus API provides a RESTful interface for managing security automation workflows, runs, and distributed task execution. **Base URL:** `http://localhost:8002` **Default Port:** `8002` ## Authentication Most API endpoints require authentication. Two methods are supported: 1. **JWT Token**: Obtain a token via the login endpoint, then include it in requests using the `Authorization: Bearer ` header. 2. **API Key**: Use a static API key via the `x-osm-api-key` header. Configure in `~/osmedeus-base/osm-settings.yaml` under `server.auth_api_key`. See [Authentication](authentication.mdx) for details. ## API Reference | Category | Description | |----------|-------------| | [Public Endpoints](public.mdx) | Server info, health checks, Swagger docs | | [Authentication](authentication.mdx) | Login, logout, and JWT token management | | [Workflows](workflows.mdx) | List, view, and refresh workflows | | [Runs](runs.mdx) | Create and manage workflow executions | | [File Uploads](uploads.mdx) | Upload target files and workflows | | [Snapshots](snapshots.mdx) | Export and import workspace snapshots | | [Workspaces](workspaces.mdx) | List and manage workspaces | | [Artifacts](artifacts.mdx) | List and download output artifacts | | [Assets](assets.mdx) | View discovered assets | | [Vulnerabilities](vulnerabilities.mdx) | View and manage vulnerabilities | | [Event Logs](event-logs.mdx) | View execution event logs | | [Step Results](steps.mdx) | Query step execution results | | [Functions](functions.mdx) | Execute and list utility functions | | [System Statistics](system.mdx) | Get aggregated system stats | | [Settings](settings.mdx) | Manage server configuration | | [Database](database.mdx) | Database management and cleanup | | [Installation](install.mdx) | Install binaries and workflows | | [Schedules](schedules.mdx) | Manage scheduled workflows | | [Event Receiver](event-receiver.mdx) | Event-triggered workflows | | [Distributed Mode](distributed.mdx) | Worker and task management | | [LLM API](llm.mdx) | Large Language Model API | | [Reference](reference.mdx) | Error codes, pagination, cron expressions, step types | ## Quick Start ```bash # Get server info (no auth required) curl http://localhost:8002/server-info # Login and get token export TOKEN=$(curl -s -X POST http://localhost:8002/osm/api/login \ -H "Content-Type: application/json" \ -d '{"username": "osmedeus", "password": "admin"}' | jq -r '.token') # List workflows curl http://localhost:8002/osm/api/workflows \ -H "Authorization: Bearer $TOKEN" # Start a scan curl -X POST http://localhost:8002/osm/api/runs \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"flow": "subdomain-enum", "target": "example.com"}' ```