Endpoint credits
An endpoint credit is one call to an endpoint your plan does not include. Every new account starts with 50 one-time credits that reach any endpoint up to Studio, so you can try the calls a paid plan is for before you decide.
- Welcome grant
50credits
Given once, when you sign up. It does not renew.
- Once
- Given
- Never
- Renews
- Studio
- Up to
- 62
- Endpoints
- From the team
On request
Staff can add credits to an account, for a plan or a list of endpoints.
- Plan or list
- Scope
- Optional
- Ends
- Any time
- Withdrawn
- On request
- Enterprise
- Spending one
1credit per call
Spends one, and is served as that plan.
- Full fields
- Response
- Header
- Marked
- Never
- Cached
- Still apply
- Limits
- When it fails
Given back
An error, or a 304, does not use a credit.
- Refunded
- Error
- Refunded
- 304
- One balance
- API keys
- Account
- Held by
Given once, not every month
The welcome grant is a trial, not a smaller plan. It does not come back on the first of the month.
- The grant is made when the account is created, and it is the only one an account receives on its own. Accounts that were already on the free plan when credits launched received it too.
- When the credits are spent, a call to an endpoint above your plan returns
403 PLAN_REQUIRED, as it would without them. To keep using those endpoints, move to a plan that includes them: see Rate limits and plans. - The team can give an account more credits, for a named list of endpoints or for everything up to a plan, and can set an end date. Ask through support if you have a use in mind.
- A grant can be withdrawn. Calls it already paid for stay spent.
62 endpoints in 10 sections
✓ included in the plan reachable with a credit
| # | Endpoint | Explorer | Builder | Studio | Enterprise | |
|---|---|---|---|---|---|---|
| Firearms | ||||||
| 001 | GET | /v1/firearms/searchSearch Firearms | ✓ | ✓ | ✓ | |
| 002 | GET | /v1/firearms/resolveResolve a Name | ✓ | ✓ | ✓ | |
| 003 | POST | /v1/firearms/resolveResolve Many Names | ✓ | ✓ | ||
| 004 | GET | /v1/firearms/compareCompare Firearms | ✓ | ✓ | ✓ | |
| 005 | GET | /v1/firearms/{id}Get Firearm | ✓ | ✓ | ✓ | |
| 006 | GET | /v1/firearms/{id}/images/{imageId}Get image asset | ✓ | ✓ | ✓ | |
| 007 | GET | /v1/firearms/{id}/media/{selector}One asset | ✓ | ✓ | ✓ | |
| 008 | GET | /v1/firearms/{id}/schematicsGet Schematics | ✓ | ✓ | ||
| 009 | GET | /v1/firearms/{id}/silhouetteSilhouette SVG | ✓ | ✓ | ✓ | |
| 010 | GET | /v1/firearms/{id}/modelGet 3D model | ✓ | ✓ | ✓ | |
| 011 | GET | /v1/firearms/{id}/game-profileGame Profile | ✓ | ✓ | ✓ | |
| 012 | GET | /v1/firearms/{id}/dimensionsDimensions | ✓ | ✓ | ✓ | |
| 013 | GET | /v1/firearms/{id}/family-treeGet Family Tree | ✓ | ✓ | ✓ | |
| 014 | GET | /v1/firearms/{id}/adoption-mapAdoption Map | ✓ | ✓ | ||
| 015 | GET | /v1/firearms/topTop Firearms | ✓ | ✓ | ✓ | |
| 016 | GET | /v1/firearms/head-to-headHead to Head | ✓ | ✓ | ✓ | |
| 017 | GET | /v1/firearms/game-metaFind by Archetype | ✓ | ✓ | ✓ | |
| 018 | GET | /v1/firearms/by-featureBy Feature | ✓ | ✓ | ✓ | |
| 019 | GET | /v1/firearms/by-materialBy Material | ✓ | ✓ | ✓ | |
| 020 | GET | /v1/firearms/by-designerBy Designer | ✓ | ✓ | ✓ | |
| 021 | GET | /v1/firearms/by-conflictBy Conflict | ✓ | ✓ | ||
| 022 | GET | /v1/firearms/power-ratingPower Rating | ✓ | ✓ | ✓ | |
| 023 | GET | /v1/firearms/timelineTimeline | ✓ | ✓ | ✓ | |
| 024 | GET | /v1/firearms/load-carriageCompare the cost of marching with each firearm | ✓ | ✓ | ✓ | |
| 025 | GET | /v1/firearms/recoilCompare the free recoil of each firearm | ✓ | ✓ | ✓ | |
| 026 | GET | /v1/firearms/point-blankCompare the point-blank and supersonic range of each firearm | ✓ | ✓ | ✓ | |
| 027 | GET | /v1/firearms/ammo-loadCompare how much ammunition each firearm carries per kilogram | ✓ | ✓ | ✓ | |
| Compatibility | ||||||
| 028 | GET | /v1/firearms/{id}/interfacesGet a firearm's mount interfaces | ✓ | ✓ | ||
| 029 | GET | /v1/firearms/{id}/attachmentsList attachments that fit a firearm | ✓ | ✓ | ||
| 030 | GET | /v1/attachments/{id}/firearmsList firearms an attachment fits | ✓ | ✓ | ||
| 031 | GET | /v1/interfaces/{id}/firearmsList firearms exposing a standard | ✓ | ✓ | ||
| 032 | GET | /v1/platformsList platforms | ✓ | ✓ | ||
| 033 | GET | /v1/platforms/{id}Get a platform | ✓ | ✓ | ||
| Manufacturers | ||||||
| 034 | GET | /v1/manufacturers/{id}/timelineManufacturer Timeline | ✓ | ✓ | ||
| 035 | GET | /v1/manufacturers/{id}/statsManufacturer Stats | ✓ | ✓ | ✓ | |
| Calibers | ||||||
| 036 | GET | /v1/calibers/compareCompare Calibers | ✓ | ✓ | ✓ | |
| 037 | GET | /v1/calibers/ballisticsBallistics Calculator | ✓ | ✓ | ✓ | |
| 038 | GET | /v1/calibers/{id}/parent-chainParent Cartridge Chain | ✓ | ✓ | ✓ | |
| 039 | GET | /v1/calibers/{id}/familyCaliber Family Tree | ✓ | ✓ | ✓ | |
| Ammunition | ||||||
| 040 | GET | /v1/firearms/{id}/calculateCalculate Firearm Ballistics | ✓ | ✓ | ✓ | |
| 041 | GET | /v1/firearms/{id}/loadLoad Firearm | ✓ | ✓ | ✓ | |
| 042 | GET | /v1/calibers/{id}/ammunitionAmmunition by Caliber | ✓ | ✓ | ✓ | |
| 043 | GET | /v1/ammunitionList Ammunition | ✓ | ✓ | ✓ | |
| 044 | GET | /v1/ammunition/{id}Get Ammunition | ✓ | ✓ | ✓ | |
| 045 | GET | /v1/ammunition/{id}/ballisticsAmmunition Ballistics | ✓ | ✓ | ✓ | |
| Game Stats Snapshots | ||||||
| 046 | GET | /v1/firearms/{id}/game-statsGet Game Stats (Live) | ✓ | ✓ | ✓ | |
| 047 | GET | /v1/game-stats/versionsList Snapshot Versions | ✓ | ✓ | ✓ | |
| 048 | GET | /v1/game-stats/versions/{version}/firearmsList Firearms in Version | ✓ | ✓ | ✓ | |
| 049 | GET | /v1/game-stats/versions/{version}/firearms/{id}Get Firearm in Version | ✓ | ✓ | ✓ | |
| Statistics & Analytics | ||||||
| 050 | GET | /v1/stats/by-eraStats by Era | ✓ | ✓ | ||
| 051 | GET | /v1/stats/materialsMaterial Breakdown | ✓ | ✓ | ||
| 052 | GET | /v1/stats/adoption/by-countryAdoption by Country | ✓ | ✓ | ||
| 053 | GET | /v1/stats/adoption/by-typeAdoption by Type | ✓ | ✓ | ||
| 054 | GET | /v1/stats/feature-frequencyFeature Frequency | ✓ | ✓ | ✓ | |
| 055 | GET | /v1/stats/caliber-popularity-by-eraCaliber Popularity by Era | ✓ | ✓ | ||
| Game Balance | ||||||
| 056 | GET | /v1/game/balance-reportBalance Report | ✓ | ✓ | ||
| 057 | GET | /v1/game/tier-listTier List | ✓ | ✓ | ✓ | |
| 058 | GET | /v1/game/matchupsMatchups | ✓ | ✓ | ✓ | |
| 059 | GET | /v1/game/role-rosterRole Roster | ✓ | ✓ | ✓ | |
| 060 | GET | /v1/game/stat-distributionStat Distribution | ✓ | ✓ | ||
| Countries | ||||||
| 061 | GET | /v1/countries/{code}/arsenalCountry Arsenal | ✓ | ✓ | ✓ | |
| Conflicts | ||||||
| 062 | GET | /v1/conflictsList Conflicts | ✓ | ✓ | ✓ | |
9 endpoints sit above Studio and are not covered. The endpoint access table shows every endpoint and which plans include it.
What happens when you spend one
Nothing about the request changes. Call the endpoint as you would on a plan that includes it.
You call the endpoint
Send the request exactly as you would on a plan that includes the endpoint.
The gate checks your plan
If your plan includes the endpoint, nothing is spent. If it does not and the account holds a credit that covers it, one credit is spent and the call goes through.
It is served as that plan
A detail call returns the full record, not the free plan's summary, with that plan's page depth. The response carries
X-Endpoint-Credit: spentand is never stored in a shared cache.Your limits still apply
Credits widen which endpoints you can reach, not how much you can send. The call counts against your per-minute limit and daily cap like any other.
A failure is given back
If the call fails, or answers
304 Not Modifiedto anIf-None-Match, the credit is returned.With none left, it is refused
The call returns PLAN_REQUIRED, as it would without credits.
HTTP/2 200X-Endpoint-Credit: spentX-Daily-Limit: 50X-Daily-Remaining: 41Cache-Control: private, no-storeHTTP/2 403{ "success": false, "error": { "code": "FORBIDDEN", "reason": "PLAN_REQUIRED", "message": "This endpoint requires 'builder' tier or above. Your tier: 'explorer'" }}Checking your balance
Your balance is on the Usage page of your account whenever the account has credits. The same figures are in GET /v1/me/usage, under endpointCredits.
| Field | Meaning |
|---|---|
endpointCredits.remaining | Calls left across every credit that can still be spent. |
credits[].source | welcome for the one-time grant every account receives, staff for a credit the team gave you. |
credits[].operations / maxTier | The operations a credit covers, or the highest plan it reaches when it covers everything up to a plan. |
credits[].callsGranted | Calls the credit was given. |
credits[].callsUsed | Calls spent so far. |
credits[].callsRemaining | Calls left on it. Zero once it is spent, expired or withdrawn. |
credits[].status | active, spent, expired or revoked. |
credits[].expiresAt | When it lapses, or null when it does not. |
A credit call still counts against the limits in Rate limits and plans.