There’s one credit balance per account, shared across every surface — the
Slack app, the REST API, and the MCP server all debit from
and top up the same pool. A pack bought from Slack works for a
curl
call, and vice versa.Checking your balance
GET /v1/usage is free (no credits charged) and returns your current
balance:
Reading credits on every response
Every billed endpoint’s response envelope includes:credits_charged— what this specific call cost. Usually equal to the endpoint’s listed price below, but can be0in a few cases (see “Charging on misses” below).credits_remaining— your balance immediately after this call.
credits_charged field at all — nothing was debited. If
your balance is too low for the call’s price, you get a 402 before any
vendor is ever called — see
Errors & Rate Limits.
Per-endpoint pricing
Prices below are current as of this writing, pulled directly from Horizon’s pricing table.GET /v1/usage doesn’t return per-endpoint prices
today — this page is the source of truth; check back here (or ask support)
if you suspect a price has changed.
Charging on misses
Most endpoints charge their full listed price even when the result is a clean “nothing found” — the vendor call still happened and cost Gravity real money either way, so it’s still a completed, billable lookup. The one exception isPOST /v1/person/email: its 25-credit price is
calibrated against a high hit rate for genuine finds, so it’s charged only
on success. A miss refunds the reservation in full and returns
credits_charged: 0.
Cached results
A response with"cached": true means the answer was served from Gravity’s
cache instead of calling the vendor again — you’re still charged the normal
price for it, since a cache hit still means the data was verified and
delivered to you (it just cost Gravity $0 in vendor spend that time).