T3MP3ST API Reference

July 20, 2026 ยท View on GitHub

The API server is implemented in src/server.ts.

Default base URL:

http://127.0.0.1:3333

Start it with:

npm run server

The War Room UI is served from /ui/; / redirects there.

Security Model

The API is a local operator surface, not a multi-user internet service.

  • Default host: 127.0.0.1
  • Default port: 3333
  • Override port with T3MP3ST_PORT
  • Override bind host with T3MP3ST_HOST
  • State-changing requests are guarded against foreign browser origins
  • Loopback binds reject non-loopback Host headers to reduce DNS-rebinding risk
  • Active or networked tool use should have a scope/authorization receipt

Do not expose the server on a public interface without adding your own authentication and network controls.

Health And Runtime

MethodPathPurpose
GET/healthBasic server health
GET/api/healthAPI health alias
GET/api/preflightLocal preflight and readiness summary
GET/api/eventsServer-sent event stream
GET/api/mission-context/latestLatest mission context snapshot
GET/api/net/proxyCurrent outbound SOCKS5 proxy configuration, with credentials redacted
POST/api/net/proxySet or clear outbound SOCKS5 proxy URL
GET/api/net/ipCheck observed outbound IP path

Example:

curl http://127.0.0.1:3333/api/health

Arsenal And Approvals

MethodPathPurpose
GET/api/arsenal/catalogTool catalog and adapter metadata
GET/api/arsenal/statusInstalled/readiness status for arsenal tools
POST/api/arsenal/planPlan tool activation for a mission family
GET/api/arsenal/activationActivation guidance
GET/api/arsenal/approvalsArsenal approval state
GET/api/approvalsApproval requests
POST/api/approvals/requestCreate an approval request
POST/api/approvals/:id/approveApprove a request
POST/api/approvals/:id/rejectReject a request
POST/api/approvals/authorize-targetRecord target authorization
GET/api/toolsBuilt-in tool metadata
POST/api/tools/executeExecute a named tool
POST/api/tools/reconRun recon helper flow

Tool requests should be scoped to authorized targets. External binary availability comes from the local workstation, not from package installation alone.

Mission Planning And Execution

MethodPathPurpose
POST/api/mission/startStart a mission
POST/api/mission/stopStop the current mission
POST/api/mission/pausePause the current mission
POST/api/mission/resumeResume the current mission
GET/api/mission/statusCurrent mission status
GET/api/mission/reportCurrent mission report
GET/api/mission/:id/reportReport for a mission ID
GET/api/mission/findingsFindings for the active mission
POST/api/mission-draftsCreate a mission draft
GET/api/mission-draftsList mission drafts
GET/api/mission-drafts/:idRead a mission draft
PATCH/api/mission-drafts/:idUpdate a mission draft
DELETE/api/mission-drafts/:idDelete a mission draft
POST/api/mission-bundlesCreate a mission bundle
GET/api/mission-bundles/:missionIdRead mission bundle
POST/api/mission-gateEvaluate mission readiness gate

General Planner And Admiral

MethodPathPurpose
POST/api/general/planGenerate an Op General plan
GET/api/general/planRead current plan
POST/api/general/executeExecute plan steps
POST/api/general/autoPlan and execute automatically
GET/api/general/sitrepsRead sitrep history
POST/api/general/sitrepCreate a sitrep
POST/api/general/assessRun strategic assessment
POST/api/admiral/converseConverse with Op Admiral
POST/api/admiral/suggestRequest mission suggestions
POST/api/admiral/launchLaunch from Admiral flow

Evidence, Findings, And Retests

MethodPathPurpose
GET/api/evidenceList evidence
POST/api/evidenceAdd evidence
GET/api/evidence-graphEvidence graph
GET/api/findingsList findings
POST/api/findingsCreate finding
PATCH/api/findings/:idUpdate finding
POST/api/findings/:id/retestQueue or run retest
GET/api/retestsList retests
PATCH/api/retests/:idUpdate retest
GET/api/repro-packsList reproduction packs
POST/api/repro-packsCreate reproduction pack

Evidence and finding payloads must avoid raw secrets. Use redaction helpers in src/redact.ts and src/evidence/ when adding new paths.

Hypotheses And Work Orders

MethodPathPurpose
GET/api/hypothesesList hypotheses
POST/api/hypothesesCreate hypothesis
PATCH/api/hypotheses/:idUpdate hypothesis
POST/api/hypotheses/:id/promotePromote hypothesis
POST/api/hypotheses/:id/decomposeDecompose into work orders
POST/api/hypotheses/:id/work-ordersWork-order decomposition alias
GET/api/work-ordersList work orders
POST/api/work-ordersCreate work order
PATCH/api/work-orders/:idUpdate work order
POST/api/work-orders/:id/completeComplete work order

Resources And Operator Context

MethodPathPurpose
GET/api/workflow-presetsWorkflow presets
GET/api/resource-packsResource packs
GET/api/resource-packs/:idResource pack details
POST/api/resource-packs/searchSearch resource packs
GET/api/agent-prompt-packsAgent prompt packs
GET/api/agent-prompt-packs/:idPrompt pack details
GET/api/operator-runbooksOperator runbooks
GET/api/operator-runbooks/:familyRunbook for a family
GET/api/forefront-radarForefront pressure lanes
GET/api/forefront-radar/:idForefront lane details
GET/api/agent-context/:familyCombined agent context
GET/api/operator-doctrineOperator doctrine
GET/api/ai-redteam/playbookAI red-team playbook

LLMs, Local Agents, And Operators

MethodPathPurpose
GET/api/llm/statusLLM status
POST/api/llm/chatSend a chat request
POST/api/llm/localTest or use a local OpenAI-compatible model endpoint
POST/api/modelsResolve model list
GET/api/codex/statusCodex local status
POST/api/codex/probeProbe Codex integration
GET/api/agents/local/detectDetect local coding agents
POST/api/agents/local/connectConnect local agent
POST/api/agents/local/pingPing local agent
POST/api/agents/local/dispatchDispatch to local agent
POST/api/agents/local/disconnectDisconnect local agent
GET/api/agents/local/statusLocal agent status
GET/api/operators/promptsOperator prompt overrides
POST/api/operators/promptSet operator prompt override
POST/api/operators/prompt/resetReset operator prompt override
POST/api/operators/spawnSpawn operator
POST/api/operators/terminateTerminate operator
GET/api/operators/listList operators
POST/api/operators/:id/taskAssign operator task

White-Box And Attack Graph

MethodPathPurpose
POST/api/whitebox/analyzeAnalyze a local repository path
POST/api/attack-graphBuild or update attack graph
POST/api/attack-graph/ingestIngest graph material

Repository paths are contained by resolver logic before analysis. Keep that containment intact when extending white-box features.

Learning And Improvement

MethodPathPurpose
GET/api/watch-loop/statusWatch Loop status
POST/api/watch-loop/runRun Watch Loop pulse
POST/api/self-heal/runRun self-heal flow
GET/api/pressure-pathsPressure path list
POST/api/pressure-pathsCreate pressure path
POST/api/pressure-paths/canaryCanary pressure path
POST/api/pressure-paths/duelDuel pressure path
POST/api/pressure-paths/mutateMutate pressure path
POST/api/pressure-paths/chainsChain pressure paths
POST/api/route-previewPreview route
GET/api/routes/:routeId/scorecardsRoute scorecards
POST/api/improvement/proposalsCreate improvement proposal
GET/api/improvement/proposalsList improvement proposals
POST/api/promotion/evaluateEvaluate promotion
GET/api/learning/statusLearning status
POST/api/learning/run-reviewRun learning review
GET/api/memory/capsuleMemory capsule
GET/api/memory/proposalsList memory proposals
POST/api/memory/proposalsCreate memory proposal
POST/api/memory/proposals/:id/acceptAccept memory proposal
POST/api/memory/proposals/:id/rejectReject memory proposal
GET/api/selfimprove/ledgerSelf-improvement ledger

Bounty Helpers

MethodPathPurpose
GET/api/bounty/platformsSupported bounty platforms
GET/api/bounty/programs/:platformPrograms for a platform
GET/api/bounty/credentialsCredential readiness
POST/api/bounty/formatFormat a report
POST/api/bounty/submitSubmit through configured platform integration