GET · /api/v1/credits

Read your balance.

Lightweight read. Use it to render "you have N credits left" in your own UI, or to gate expensive calls before you make them.

Request

GET /api/v1/credits HTTP/1.1
Host: getvivix.com
Authorization: Bearer vvx_live_…

Response

HTTP/1.1 200 OK
{
  "balance":            12847,
  "tier":               "pro",
  "cycle_resets_at":    "2026-06-09T00:00:00Z",
  "rate_limit": {
    "per_minute":     240,
    "max_concurrent": 5
  },
  "spent_this_cycle":   2153,
  "granted_this_cycle": 15000,
  "request_id":         "req_9f2a1c8b3d0e"
}

cycle_resets_at is nullif we can't resolve an active billing cycle for the key. spent_this_cycle and granted_this_cycle are summed over the current cycle window (or the trailing 30 days, if no cycle end is on file).

Cheap call — feel free to hit it on every page load if you're building a dashboard. It's a couple of lightweight Postgres reads with no provider round-trip, and it doesn't count against your per-minute rate limit.

Errors

Common errors — see the full error reference:

  • 401 AUTH_MISSING — no Authorization header sent
  • 401 KEY_INVALID — bad, unrecognized, or malformed key
  • 403 TIER_LOCKED — Pro, Pro Plus, or Ultimate only (Free/Standard get 403 here)

Where to next