| 401 | Missing or invalid Authorization header. Expected: Bearer <token> | All authenticated endpoints. |
| 401 | Token has expired | The session token has expired. |
| 401 | Invalid token | The session token failed verification. |
| 401 | Invalid or revoked API key | The sk_… token is unknown or revoked. |
| 403 | Token missing org_id — make sure you have an active organization selected | Dashboard session has no active org. |
| 403 | API key management requires a dashboard session. API keys cannot revoke API keys. | Revoke API key when called with sk_… auth. |
| 403 | This endpoint requires a dashboard session. API keys are not permitted. | Create API key, List API keys when called with sk_… auth. |
| 403 | Admin role required | Update org settings, Rotate webhook secret when the caller is a non-admin. |
| 403 | This endpoint requires an admin dashboard session. API keys cannot access admin endpoints. | Update org settings, Rotate webhook secret when called with sk_… auth. |
| 422 | Invalid callback URL: <reason> | Update org settings when default_callback_url fails the safety check. <reason> varies: disallowed scheme, missing host, DNS-resolution failure, or a private/internal/reserved address. |
| 404 | Scan not found | Get scan. |
| 404 | Batch not found | Get batch. |
| 404 | Org settings not found | Org settings endpoints. |
| 404 | API key not found or already revoked | Revoke API key. |
| 400 | No fields to update | Update org settings. |
| 400 | Invalid recommendation values: [...] | List org scans. |
| 429 | Structured object — see Rate limits. | Create scan, Create batch when the org’s daily_scan_limit is exhausted. |