Data Exports
Four exports, as CSV or JSON. Each one counts toward your server's monthly export allowance, the same count shown beside Export in the dashboard. Past the allowance the route answers 402 with detail.code: "limit_reached".
Download your data as JSON or CSV. Great for spreadsheets, external dashboards, or just keeping a backup. Add ?format=csv for CSV or ?format=json for JSON (default).
/ api/ guilds/ {guild_id}/ packs/ {pack_key}/ export/ builds?format=csvExport all builds as a flat CSV. One row per item, with columns for build name, activity, category, item name, aliases, target count, and weight.
Response
build_name,activity,category,item_name,aliases,target,weight
Frontline Tank,raids,Weapons,Shield,"shield",1,1.0
Frontline Tank,raids,Perks,Iron Resolve,"iron resolve;resolve",1,1.0
...Example
curl -H "Cookie: session=$GC_SESSION" \
https://api.gearcheck.gg/api/guilds/987654321/packs/main/export/builds?format=csv \
-o builds.csv/ api/ guilds/ {guild_id}/ packs/ {pack_key}/ export/ analytics?format=csvExport analytics data as CSV.
Response
total_checks,total_verified,verification_rate
247,189,76.5Example
curl -H "Cookie: session=$GC_SESSION" \
https://api.gearcheck.gg/api/guilds/987654321/packs/main/export/analytics?format=csv \
-o analytics.csv/ api/ guilds/ {guild_id}/ verifications/ export.csvExport all completed gearchecks. One row per check, with thread ID, build name, score, status, and completion time.
Response
thread_id,build_name,score,status,completion_time
100000000001,Frontline Tank,87.5,verified,2026-03-28T14:30:00
100000000002,Tank v3,72.0,unverified,2026-03-28T15:45:00
...Example
curl -H "Cookie: session=$GC_SESSION" \
https://api.gearcheck.gg/api/guilds/987654321/verifications/export.csv \
-o checks.csv/ api/ guilds/ {guild_id}/ data-inventory/ export.csvExport the guild data inventory, including data families, counts, export paths, and known gaps. Useful for staff audits and ownership reviews.
Response
family,key,label,value
verification_sessions,total,Verification sessions,247
content,builds,Builds,32
...Example
curl -H "Cookie: session=$GC_SESSION" \
https://api.gearcheck.gg/api/guilds/987654321/data-inventory/export.csv \
-o data-inventory.csvAuthentication
Sign in on the dashboard with Discord. Scripts send that session as a Bearer token; the browser sends it as the session cookie.
Scripts and API clients
Authorization: Bearer <your session token>Browser and dashboard requests
Cookie: session=<your session token>There is no supported way to get this token yet: it is your own dashboard session, and it expires. For data, use the dashboard's CSV and JSON exports.
Access is permission-gated per guild. Managers, moderators, assistants, and analytics viewers may see different data depending on the permission set configured for the server.
Builds
Read your build specs and test them against sample text.
/ api/ guilds/ {guild_id}/ packs/ {pack_key}/ buildsList all builds for a pack, grouped by activity.
Response
{
"builds": [
{
"key": "frontline_tank_v1",
"display_name": "Frontline Tank",
"activity": "raids",
"category_count": 5,
"build_url": "",
"thresholds": { "verified": 85, "tentative": 80, "borderline": 75 }
}
],
"total": 32
}Example
curl -H "Cookie: session=$GC_SESSION" \
https://api.gearcheck.gg/api/guilds/987654321/packs/main/buildsA build made in the dashboard can return an empty "thresholds"; it scores with the defaults on Scoring.
/ api/ guilds/ {guild_id}/ packs/ {pack_key}/ builds/ {build_key}Get full build details including all categories and items.
Response
{
"key": "frontline_tank_v1",
"display_name": "Frontline Tank",
"activity": "raids",
"thresholds": { "verified": 85, "tentative": 80, "borderline": 75 },
"categories": [
{
"key": "weapons",
"name": "Weapons",
"icon": "",
"weight": 1.0,
"items": [
{
"name": "Shield",
"aliases": ["shield"],
"exclude": [],
"target": 1
}
]
}
]
}Example
curl -H "Cookie: session=$GC_SESSION" \
https://api.gearcheck.gg/api/guilds/987654321/packs/main/builds/frontline_tank_v1/ api/ guilds/ {guild_id}/ packs/ {pack_key}/ builds/ {build_key}/ testTest an OCR-style build against sample text. Useful for validating aliases or investigating OCR output. Structured evidence import/testing is handled by the dashboard build editor.
Request Body
{
"text": "shield iron resolve refreshing move"
}Response
{
"score": 72.5,
"status": "unverified",
"categories": [
{
"name": "Weapons",
"items": [
{ "name": "Shield", "status": "match", "count": 1 }
]
},
{
"name": "Perks",
"items": [
{ "name": "Iron Resolve", "status": "match", "count": 1 },
{ "name": "Refreshing", "status": "miss", "count": 0 }
]
}
]
}Example
curl -X POST -H "Cookie: session=$GC_SESSION" \
-H "Content-Type: application/json" \
-d '{"text": "shield iron resolve refreshing move"}' \
https://api.gearcheck.gg/api/guilds/987654321/packs/main/builds/frontline_tank_v1/testAnalytics
Server-level gearcheck stats.
/ api/ guilds/ {guild_id}/ analyticsGet GearCheck analytics for your server, including gear check trends, evidence source coverage, pack summaries, and top builds.
Response
{
"total_checks": 247,
"total_verified": 189,
"verification_rate": 76.5,
"tier": "subscriber"
}Example
curl -H "Cookie: session=$GC_SESSION" \
https://api.gearcheck.gg/api/guilds/987654321/analyticsThe API reports this plan as "subscriber".
Rate Limits
Requests are limited per signed-in user each minute. Past the limit you get 429 Too Many Requests with a Retry-After header: wait that many seconds, then try again.
Rate Limits
HTTP/1.1 429 Too Many Requests
Retry-After: 41
{"detail": "Too many requests"}Errors
All errors return a JSON body with a detail field explaining what went wrong.
| Code | Meaning | When |
|---|---|---|
| 401 | Unauthorized | Missing or expired token |
| 402 | Payment Required | Over the Free plan's limit, or the route needs Pro. |
| 403 | Forbidden | You don't have admin access to this server |
| 404 | Not Found | Build, category, or item doesn't exist |
| 429 | Too Many Requests | Rate limit exceeded |