Gwajee API
API Documentation
A read-only REST API for your organization's Gwajee data — question sets, game history, and results. All responses are JSON.
Enterprise feature
API access is included with the Enterprise plan. Create and manage API keys from your School settings → API Access. Each request is scoped strictly to the key's own organization.
Authentication
Send your API key as a Bearer token in the Authorization header on every request. Keys look like gwa_live_… and are shown only once at creation. The base URL is https://gwajee.com/api/v1.
curl https://gwajee.com/api/v1/games \ -H "Authorization: Bearer gwa_live_YOUR_KEY_HERE"
Missing, invalid, or revoked keys return 401. Keys on a non-Enterprise plan return 403. Requests are rate-limited; exceeding the limit returns 429.
Endpoints
/api/v1/question-setsList your organization's question sets, newest first, with the number of questions in each.
Query parameters
limitMax rows to return. 1–100, default 50.offsetNumber of rows to skip (for paging). Default 0.Example request
curl "https://gwajee.com/api/v1/question-sets?limit=2" \ -H "Authorization: Bearer gwa_live_YOUR_KEY_HERE"
Example response
{
"data": [
{
"name": "Cardiovascular System — NCLEX",
"subject": "Nursing — Cardiovascular",
"description": "",
"item_count": 86,
"created_at": "2026-06-13T18:20:11.000Z"
},
{
"name": "Chapter 8 — Care of Patients with Cancer",
"subject": "Nursing",
"description": "",
"item_count": 360,
"created_at": "2026-06-12T15:02:44.000Z"
}
],
"limit": 2,
"offset": 0,
"total": 2
}/api/v1/gamesList your organization's hosted games, newest first.
Query parameters
limitMax rows to return. 1–100, default 50.offsetNumber of rows to skip (for paging). Default 0.Example request
curl "https://gwajee.com/api/v1/games?limit=2" \ -H "Authorization: Bearer gwa_live_YOUR_KEY_HERE"
Example response
{
"data": [
{
"code": "BRAIN482",
"name": "Cardiac Quiz — Period 3",
"question_count": 10,
"player_count": 24,
"played_at": "2026-06-14T14:05:00.000Z"
},
{
"code": "HEART91",
"name": "Hematology Review",
"question_count": 12,
"player_count": 19,
"played_at": "2026-06-11T09:40:00.000Z"
}
],
"limit": 2,
"offset": 0,
"total": 2
}/api/v1/games/{code}/resultsFinal scoreboard for a single game, best score per player, highest first. The game code must belong to your organization, otherwise the endpoint returns 404.
Example request
curl "https://gwajee.com/api/v1/games/BRAIN482/results" \ -H "Authorization: Bearer gwa_live_YOUR_KEY_HERE"
Example response
{
"code": "BRAIN482",
"results": [
{ "username": "ava_rn", "avatar": "🧠", "score": 940 },
{ "username": "marcus", "avatar": "🔥", "score": 870 },
{ "username": "priya_b", "avatar": "⚡", "score": 815 }
]
}Gwajee by Nayora Vital · Read-only API · All access scoped to your organization.