Supraforge REST API
Programmatic access to scans, findings, and autonomous repairs. Agency plan required. Generate keys in Account → API keys.
Authentication
Send your key as a bearer token on every request:
curl https://supraforge.one/api/public/v1/sites \
-H "Authorization: Bearer sf_live_XXXXXXXXXXXXXXXXXXXXXXXX"Base URL
https://supraforge.one/api/public/v1All responses are JSON. CORS is enabled. Rate limits follow your plan caps.
Endpoints
GET
/sitesList every site in your account.
curl https://supraforge.one/api/public/v1/sites -H "Authorization: Bearer sf_live_..."POST
/sitesAdd one or many sites. Each new site automatically enters hourly auto-pilot.
curl -X POST https://supraforge.one/api/public/v1/sites \
-H "Authorization: Bearer sf_live_..." \
-H "Content-Type: application/json" \
-d '{ "sites": [
{ "url": "client1.com", "name": "Client One" },
{ "url": "client2.com" }
] }'POST
/sites/:siteId/scanTrigger a full SEO scan immediately. Returns the scan summary.
curl -X POST https://supraforge.one/api/public/v1/sites/SITE_ID/scan \
-H "Authorization: Bearer sf_live_..."GET
/sites/:siteId/findingsList open findings. Use ?status=fixed or ?limit=200.
curl "https://supraforge.one/api/public/v1/sites/SITE_ID/findings?limit=50" \
-H "Authorization: Bearer sf_live_..."POST
/sites/:siteId/repair-allBulk-apply AI fixes to all eligible open findings (max 100 per call). Generates missing AI fixes first unless generateMissing: false.
curl -X POST https://supraforge.one/api/public/v1/sites/SITE_ID/repair-all \
-H "Authorization: Bearer sf_live_..." \
-H "Content-Type: application/json" \
-d '{ "max": 50 }'GET
/sites/:siteId/reportsList the last 24 monthly reports for a site.
curl https://supraforge.one/api/public/v1/sites/SITE_ID/reports \
-H "Authorization: Bearer sf_live_..."Errors
All errors return { "error": "..." } with appropriate HTTP status:
- 401 — missing, malformed, or revoked key
- 402 — plan limit reached
- 403 — Agency plan required
- 404 — site not found or not yours
- 500 — upstream failure