API Reference
ARGUS is agent-native — built to be driven by code, not clicks. Mint an API key, submit scans as JSON, poll for results. Machine-readable OpenAPI at /openapi.json.
Base URL:
https://argus.thetempleofdoom.com · Auth: pass your key as X-API-Key: <key>. Keys are free; scans are settled in Bitcoin (sats). MCP access requires a paid subscription.Authentication
POST
/api/keysMint an API key. Identifies you so the watchman can tie scans to a caller. No cost.
json
POST /api/keys HTTP/1.1
Content-Type: application/json
{ "email": "[email protected]", "label": "my first agent" }| Field | Type | Notes |
|---|---|---|
email | string | required — where results are delivered |
label | string | optional — human name for this key |
response
200 OK
{ "api_key": "argus_9f3a...", "email": "[email protected]" }Launching scans
POST
/api/scanSubmit a scan programmatically. Returns a job id and a Bitcoin invoice. The scan fires the moment the invoice settles.
json
POST /api/scan HTTP/1.1
Content-Type: application/json
X-API-Key: argus_9f3a...
{
"kind": "web-vuln",
"target": "example.com",
"email": "[email protected]"
}| Field | Type | Notes |
|---|---|---|
kind | string | web-vuln · osint · ad-audit · creds · red-team · monitor |
target | string | domain, IP, username, or email |
email | string | required — result delivery |
username | string | optional — for ad-audit / creds |
password | string | optional — for ad-audit / creds |
domain | string | optional — AD domain |
response
200 OK
{
"job_id": "9f3a2b1c0d4e",
"status": "unpaid",
"sats": 4000,
"checkout": "https://btcpay.thetempleofdoom.com/i/...",
"report_url": "https://argus.thetempleofdoom.com/report/9f3a2b1c0d4e",
"poll": "/api/job/9f3a2b1c0d4e"
}Reading results
GET
/api/job/<job_id>Poll a job's status. The watchman works asynchronously — call this until
status is done or failed.bash
curl -s https://argus.thetempleofdoom.com/api/job/9f3a2b1c0d4e | jq .
response
200 OK
{ "status": "done", "report": "# Findings\n...", "raw": "{...tool output...}" }| status | meaning |
|---|---|
unpaid | invoice not yet settled |
running | tools are executing |
done | report ready |
failed | scan errored — report holds the reason |
GET
/api/jobs?key=<key>List your scans. Every job tied to a given API key.
bash
curl -s "https://argus.thetempleofdoom.com/api/jobs?key=argus_9f3a..." | jq .
MCP subscription (paid)
POST
/api/subscribeSubscribe for MCP access. Pay a weekly (or monthly) Bitcoin invoice; on settlement your key is authorized to drive the /mcp endpoint until expiry. No KYC.
json
POST /api/subscribe HTTP/1.1
Content-Type: application/json
{ "email": "[email protected]", "plan": "mcp-weekly" }| Field | Type | Notes |
|---|---|---|
email | string | required |
plan | string | mcp-weekly (20k sats/7d) · mcp-monthly (60k sats/30d) |
api_key | string | optional — omit to mint a new key |
response
200 OK
{
"api_key": "argus_9f3a...",
"plan": "mcp-weekly",
"sats": 20000,
"checkout": "https://btcpay.thetempleofdoom.com/i/..."
}POST
/mcpThe red-team MCP endpoint. A Model Context Protocol server over HTTP. Requires an active subscription (X-API-Key). Speaks JSON-RPC 2.0 —
initialize, tools/list, tools/call.json
POST /mcp HTTP/1.1
Content-Type: application/json
X-API-Key: argus_9f3a...
{ "jsonrpc": "2.0", "id": 1, "method": "initialize",
"params": { "protocolVersion": "2024-11-05", "capabilities": {},
"clientInfo": { "name": "my-agent", "version": "1.0" } } }json
POST /mcp HTTP/1.1
Content-Type: application/json
X-API-Key: argus_9f3a...
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list" }json
POST /mcp HTTP/1.1
Content-Type: application/json
X-API-Key: argus_9f3a...
{ "jsonrpc": "2.0", "id": 3, "method": "tools/call",
"params": { "name": "argus_scan",
"arguments": { "kind": "web-vuln", "target": "example.com", "email": "[email protected]" } } }| tool | purpose |
|---|---|
argus_arsenal | list every service, tool, and price |
argus_scan | launch a scan — returns job id + BTC invoice |
argus_status | poll a job's status / report / raw output |
argus_jobs | list jobs tied to your key |
Discovering the arsenal
GET
/api/toolsThe full armory. Every tool and service ARGUS can run, as JSON — for agents to introspect before choosing a scan.
bash
curl -s https://argus.thetempleofdoom.com/api/tools | jq .
GET
/openapi.jsonMachine-readable OpenAPI 3.0 spec of this entire surface. Feed it to any client generator.
POST
/webhook/btcpayInternal — BTCPay settlement webhook. Do not call directly; ARGUS uses it to fire scans and activate subscriptions on payment.