Account
GET /v1/me
Cost · Free (control-plane endpoint) — charges no credits, but like every authenticated endpoint it requires an available balance: at
0credits the gateway returns402 out_of_creditsbefore any per-endpoint cost decision.
{ "data": { "id": "...", "email": "you@company.com", "plan_id": "monthly", "current_period_start": "2026-05-01T00:00:00.000Z", "status": "active", "plan": { "id": "monthly", "credits_per_cycle": 1000, "rate_limit_per_minute": 200 }, "credits": { "balance": 842, "granted_this_cycle": 1000 } }, "request_id": "..."}data.email is omitted for keys issued to AI connectors (OAuth), and may be
omitted briefly if the key’s origin can’t be verified. Don’t rely on it being
present.
There is no usage: { this_period, remaining } object on /v1/me. Your
remaining-quota signal is data.credits.balance (credits left this cycle);
data.credits.granted_this_cycle is what the cycle started with, and
data.plan.credits_per_cycle / data.plan.rate_limit_per_minute describe the
plan’s caps.
GET /v1/usage
Cost · Free (control-plane endpoint) — charges no credits, but like every authenticated endpoint it requires an available balance: at
0credits the gateway returns402 out_of_creditsbefore any per-endpoint cost decision.
| Query | Type | Notes |
|---|---|---|
since |
ISO timestamp | created_at >= since |
limit |
int | default 100, max 1000 |
{ "data": [ { "id": 91234, "endpoint": "/v1/properties/by-url", "actor": "detail", "units": 1, "status_code": 200, "created_at": "..." } ], "request_id": "..."}Credit balance
Programmatically, read your remaining balance from GET /v1/me →
data.credits.balance. The dashboard reads the same live balance via the
Supabase RPC credit_balance(p_account_id); you can also read your account row
- recent ledger via supabase-js (signed in with your dashboard user JWT, not
your API key). When balance hits zero the worker returns
402 out_of_credits, that’s the signal to top up.
Billing actions
Subscription and top-up purchases are dashboard-only flows. Sign in at https://zillapi.com/app/billing to:
- See current plan + balance + recent ledger
- Switch plans (Stripe Checkout)
- Buy top-up packs (paid plans only)
- Manage payment method / cancel (Stripe Customer Portal)