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/keys
Mint 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" }
FieldTypeNotes
emailstringrequired — where results are delivered
labelstringoptional — human name for this key
response
200 OK
{ "api_key": "argus_9f3a...", "email": "[email protected]" }

Launching scans

POST/api/scan
Submit 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]"
}
FieldTypeNotes
kindstringweb-vuln · osint · ad-audit · creds · red-team · monitor
targetstringdomain, IP, username, or email
emailstringrequired — result delivery
usernamestringoptional — for ad-audit / creds
passwordstringoptional — for ad-audit / creds
domainstringoptional — 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...}" }
statusmeaning
unpaidinvoice not yet settled
runningtools are executing
donereport ready
failedscan 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/subscribe
Subscribe 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" }
FieldTypeNotes
emailstringrequired
planstringmcp-weekly (20k sats/7d) · mcp-monthly (60k sats/30d)
api_keystringoptional — 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/mcp
The 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]" } } }
toolpurpose
argus_arsenallist every service, tool, and price
argus_scanlaunch a scan — returns job id + BTC invoice
argus_statuspoll a job's status / report / raw output
argus_jobslist jobs tied to your key

Discovering the arsenal

GET/api/tools
The 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.json
Machine-readable OpenAPI 3.0 spec of this entire surface. Feed it to any client generator.
POST/webhook/btcpay
Internal — BTCPay settlement webhook. Do not call directly; ARGUS uses it to fire scans and activate subscriptions on payment.
{BG_JS}