API & endpoints

Endpoint reference

Every HTTP endpoint Actuant serves: the MCP transport, the OAuth flow, the public documents, and the dashboard routes that will reject an API key.

Last updated 2026-08-08

Base URL: https://www.actuant.dev. The apex redirects to www, and redirects are not followed by webhook senders or some HTTP clients — always use the www form in configuration.

MCP transport

MethodPathAuthNotes
POST/api/mcpBearerJSON-RPC 2.0. The whole API.
GET/api/mcpBearerServer-sent events for a resumed session.
OPTIONS/api/mcpNoneCORS preflight. Returns 204.

OAuth

MethodPathPurpose
GET/.well-known/oauth-authorization-serverRFC 8414 metadata — issuer and endpoints.
GET/.well-known/oauth-protected-resourceRFC 9728 — which authorization server guards this resource.
GET/.well-known/oauth-protected-resource/api/mcpThe same, scoped to the MCP resource.
POST/oauth/registerRFC 7591 dynamic client registration.
GET/oauth/authorizeConsent screen. Authorization code + PKCE S256.
POST/oauth/tokenExchange a code for an mca_ token.

Public — no auth

PathReturnsNotes
/llms.txttext/plainWhat Actuant is, for models. The file the audit checks other sites for.
/api/skills.mdtext/markdownThe agent skill: how to use Actuant while building. Cached 1h.
/agent-prompttext/plainA ready-to-paste brief for a coding agent.
/llms-full.txttext/plainEvery documentation page as one markdown document.
/api/status/active{ incidents: [] }Live incidents. Never throws — an error reads as no incidents.
/api/benchmark{ avg, count }Mean score across all completed scans.
/r/{slug}/badgeimage/svg+xmlScore badge for a shared report. 404 unless the report is public.

All four documents send access-control-allow-origin: *, so an agent or a browser can fetch them cross-origin.

These power the web app's polling. They authenticate with a Clerk session and return 401 to a bearer token. Listed so you stop looking for a way in.

PathEquivalent MCP tool
GET /api/scans/{id}get_scan
GET /api/audits/{id}get_audit
GET /api/patches/{id}— (watch the run in the dashboard)
GET /api/directory-runs/{id}— (watch the run in the dashboard)

Internal routes

/api/webhooks/stripe and /api/cron/* also exist. They verify a Stripe signature and a shared secret respectively, are not part of the public API, and are documented here only so nobody mistakes them for an integration point.