AI
Explanations, fixes, the draft pull request, deep scans and what each task costs.
| Method | Path | Needs | Returns |
|---|---|---|---|
| POST | /findings/:id/explain | finding.update | { mode: AI, explanation, cached } or { mode: UNAVAILABLE, reason } |
| POST | /findings/:id/fix | finding.update | a plan for the change, written against the file |
| POST | /findings/:id/fix/pull-request | finding.update | the file rewritten and opened as a draft pull request |
| POST | /sites/:siteId/deep-scan | scan.start | the AI source pass over the repository |
| POST | /sites/:siteId/deep-review | scan.start | the whole application judged on the premium tier |
| GET | /sites/:siteId/fix-recommended | finding.read | findings grouped by root cause, with free guidance |
| GET | /billing/ai-task-costs | organization.read | what each task costs on your plan |
| Task | Credits |
|---|---|
| Classify a signal | Free |
| Explain a finding | 8 |
| Authorization analysis | 14 |
| Ask about a route | 9 |
| Write llms.txt | 11 |
| Fix with AI | 16 |
| Fix as a draft pull request | 58 |
| Verify a change | 22 |
| Critical escalation | 47 |
| Deep review | 80 |
Every task is estimated and reserved before it runs and settled at its actual cost; a failed call is refunded. The model is chosen on the server, a result is cached and never charged twice, and a finding you dismissed never spends a credit again. Nothing here runs without a request.
Something here wrong, missing or out of date? Tell us and we will fix the page.