Skip to content

REST API

All endpoints require JWT authentication via Supabase Auth (GitHub OAuth) unless noted otherwise.

Base URL: https://api.eiryx.com/api

Authentication

Include the Supabase JWT token in the Authorization header:

Authorization: Bearer <supabase_access_token>

Tasks

MethodEndpointDescription
POST/tasksCreate a new bugfix or feature task
GET/tasksList tasks (paginated, filterable by status)
GET/tasks/:idTask detail with telemetry data
GET/tasks/:id/eventsSSE stream for real-time telemetry
POST/tasks/estimatePre-task confidence score and cost estimate
POST/tasks/analyze-difficultyAI difficulty analysis and model recommendation

Scans

MethodEndpointDescription
POST/scansStart a security scan
GET/scansList scans
GET/scans/:idScan detail with findings
GET/scans/:id/reportDownload PDF report
POST/scans/publicFree scan (no auth, rate limited 3/day/IP)

Repository Profiles

MethodEndpointDescription
GET/repos/:repo_url/profileGet repo profile (stack, commands, accuracy)
PATCH/repos/:repo_url/profileUpdate custom commands
POST/repos/:repo_url/prescanRun pre-scan for stack detection
POST/repos/:repo_url/generate-ymlGenerate .ai-agent.yml
GET/repos/:repo_url/statsRepo statistics (success rate, scan count)

Integrations

MethodEndpointDescription
POST/integrationsCreate webhook integration
GET/integrationsList integrations
DELETE/integrations/:idDelete integration

Webhooks

MethodEndpointDescription
POST/webhooks/ingest/:typeReceive webhook (token auth, no JWT)

Metrics

MethodEndpointDescription
GET/metrics/dashboardDashboard KPIs with period comparison
GET/metrics/exportExport metrics as PDF

Settings

MethodEndpointDescription
GET/settings/keysList configured API key providers
POST/settings/keysAdd API key (encrypted)
DELETE/settings/keys/:providerDelete API key
GET/settings/available-modelsModels available for user’s keys

Rate Limits

  • Authenticated endpoints: rate limited per user (varies by endpoint)
  • Unauthenticated (/scans/public): 3/day per IP
  • Global fallback: 100/minute per IP

Rate limit exceeded returns 429 Too Many Requests with Retry-After header.

Health

MethodEndpointAuthDescription
GET/healthNoneService health check