Inspect Credits & Billing
Synapse Inspect uses a credit system to meter full inspect runs. Quick Check is always free.
Credit Costs
| Run Type | Cost | What's Included |
|---|---|---|
| Quick Check (Stages 1--3) | 0 credits | Static analysis, external resources, spam scoring |
| Full Inspect (Stages 1--5) | 1 credit | All of the above + vendor rendering + visual diff |
| Cache hit (same template, no changes) | 0 credits | Re-uses results from a prior run within the cache TTL |
A "unique run" is defined by the combination of template_id and body_hash (SHA-256 of the rendered HTML). If the template hasn't changed since the last inspect, the cached result is returned at no cost.
Monthly Credit Grants
Credits are granted on the 1st of each month at 00:00 UTC. Unused credits do not roll over.
| Plan | Monthly Credits |
|---|---|
| Free | 5 |
| Starter | 25 |
| Growth | 100 |
| Enterprise | Unlimited |
What Happens When Credits Run Out
| Plan | Behavior |
|---|---|
| Free | Full Inspect is blocked. Quick Check still works. |
| Starter | Full Inspect is blocked. Quick Check still works. |
| Growth | Overage is allowed. Each additional credit is billed at $0.50 at the end of the billing period. |
| Enterprise | Unlimited credits. No overage. |
When blocked, the API returns HTTP 403 with code: "quota_exhausted" and a link to the billing settings page.
Checking Your Balance
bash
curl https://synapse-api.pyrx.tech/v1/inspect/credits \
-H "X-WORKSPACE-ID: <workspace-id>" \
-H "X-API-KEY: <api-key>"
Response:
json
{
"balance": 18,
"monthly_grant": 25,
"plan": "starter",
"recent_entries": [
{
"id": "uuid",
"delta": -1,
"balance_after": 18,
"reason": "inspect_run",
"created_at": "2026-05-06T10:00:00Z"
}
]
}
Credit Ledger
Every credit grant and consumption is recorded in a ledger. Each entry has:
| Field | Description |
|---|---|
delta | Positive for grants, negative for consumption |
balance_after | Running balance after this entry |
reason | Why the credit was granted or consumed (e.g., monthly_grant:2026-05, inspect_run) |
job_id | The inspect job that consumed the credit (null for grants) |
The ledger is returned by GET /v1/inspect/credits (most recent 20 entries).