Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions api-reference/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -1071,6 +1071,32 @@
"security": [{ "bearerAuth": [] }],
"responses": { "200": { "description": "OK" } }
}
},
"/api/user/check-username": {
"get": {
"tags": ["User", "Auth and onboarding"],
"summary": "Check username availability",
"description": "Returns whether a given username (handle) is available. Case-insensitive check.",
"parameters": [
{ "name": "username", "in": "query", "required": true, "schema": { "type": "string" }, "description": "The username to check." }
],
"security": [],
"responses": {
"200": { "description": "{ success, data: { available } }" },
"400": { "description": "Username is required" }
}
}
},
"/api/v1/product_entitlement_mapping": {
"get": {
"tags": ["Products", "Commerce and purchases"],
"summary": "Product entitlement mapping",
"description": "Returns the mapping of RevenueCat product IDs to entitlements and D-Sports Cash tiers. Used by the mobile app and RevenueCat integration.",
"security": [],
"responses": {
"200": { "description": "{ success, data: { mappings } }" }
}
}
}
},
"components": {
Expand Down
2 changes: 1 addition & 1 deletion repositories/d-sports-api.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "d-sports-api"
description: "PWA and backend for the D-Sports fan engagement platform. Next.js, Prisma, Clerk, RevenueCat, Thirdweb."

Check warning on line 3 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L3

Did you really mean 'Prisma'?

Check warning on line 3 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L3

Did you really mean 'Thirdweb'?
icon: "server"
---

Expand All @@ -16,10 +16,10 @@
| Category | Technology |
| ---------- | ----------------------------- |
| Framework | Next.js 16, React 19 |
| Database | PostgreSQL, Prisma 6.8 |
| Database | PostgreSQL (Supabase), Prisma 6.8 |

Check warning on line 19 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L19

Did you really mean 'Supabase'?

Check warning on line 19 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L19

Did you really mean 'Prisma'?
| Auth | Clerk 6.x |
| Styling | Tailwind CSS 4, Radix UI, shadcn/ui |
| Web3 | Thirdweb, Viem, Wagmi |

Check warning on line 22 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L22

Did you really mean 'Thirdweb'?

Check warning on line 22 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L22

Did you really mean 'Viem'?

Check warning on line 22 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L22

Did you really mean 'Wagmi'?
| Payments | RevenueCat (purchases-js) |
| State | TanStack Query, TanStack Store |
| Secrets | HashiCorp Vault (optional) |
Expand All @@ -28,10 +28,10 @@
## Features

- **Locker room** — Social feed, posts, comments, likes, following
- **Gamification** — Quests, points, achievements, leaderboards, Frontline Pass

Check warning on line 31 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L31

Did you really mean 'Gamification'?

Check warning on line 31 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L31

Did you really mean 'leaderboards'?
- **Digital collectibles** — NFT-style collectibles, rarity tiers, pack opening, inventory
- **Shop** — Product catalog, cart, RevenueCat purchases
- **Wallet** — Web3 wallet, token balances, Thirdweb integration

Check warning on line 34 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L34

Did you really mean 'Thirdweb'?
- **Interactive games** — Trivia, wheel spin
- **Team manager dashboard** — Collectible creation, bulk upload, packs, analytics, revenue
- **Admin** — Impersonation, roles (SuperAdmin, Admin, TeamManager), user management
Expand All @@ -49,13 +49,13 @@

This app is the primary API surface for the D-Sports platform. The [API reference](/api-reference/introduction) in these docs covers endpoints and usage; detailed OpenAPI or API specs live in the repo.

## Season 0.5 leaderboard infrastructure

Check warning on line 52 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L52

Did you really mean 'leaderboard'?

- Points events are now scoped in `PointsHistory` by both leaderboard and season.

Check warning on line 54 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L54

Did you really mean 'leaderboard'?
- Season reset/wipe behavior is unchanged.
- Legacy Season 0 rows with null scoping are intentionally preserved for backward compatibility.

### Leaderboard scoring behavior

Check warning on line 58 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L58

Did you really mean 'Leaderboard'?

- Team boards now compute totals from `PointsHistory` rows filtered by both active `seasonId` and the team `leaderboardId`.
- The global board computes totals from `PointsHistory` rows filtered by active `seasonId` only (cross-board season aggregate).
Expand All @@ -67,25 +67,25 @@

- `GET /api/leaderboard?leaderboardId=<id>` resolves and scores a specific board.
- `GET /api/leaderboard?teamId=<teamId>` resolves (or creates) that team board, then scores it.
- `GET /api/leaderboard` (no params) returns global leaderboard scoring for the active season.

Check warning on line 70 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L70

Did you really mean 'leaderboard'?
- This release does not introduce season reset/archiving behavior changes, and does not remove `LeaderboardEntry.points` yet (planned Season 2 cleanup).

## Gamification deep dives!

Check warning on line 73 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L73

Did you really mean 'Gamification'?

Comprehensive non-admin gamification docs now live in dedicated sections with subsections:

Check warning on line 75 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L75

Did you really mean 'gamification'?

<CardGroup cols={2}>
<Card title="Gamification docs hub" icon="trophy" href="/repositories/d-sports-api/gamification/index">
Start here for architecture and behavior docs across quests, points, leaderboards, rewards, and achievements.

Check warning on line 79 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L79

Did you really mean 'leaderboards'?
</Card>
<Card title="Backend coverage status" icon="clipboard-list" href="/repositories/d-sports-api/gamification/coverage-status">
See exactly what is documented vs missing across all non-admin backend feature domains, not only gamification.

Check warning on line 82 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L82

Did you really mean 'gamification'?
</Card>
</CardGroup>

## Backend domain deep dives

Each non-admin backend domain now has dedicated folderized docs with architecture and behavior subsections.

Check warning on line 88 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L88

Did you really mean 'folderized'?

<CardGroup cols={2}>
<Card title="Auth and onboarding" icon="shield-check" href="/repositories/d-sports-api/auth-onboarding/index">
Expand All @@ -107,7 +107,7 @@
User-facing report intake and moderation model lifecycle.
</Card>
<Card title="Platform and infrastructure" icon="server" href="/repositories/d-sports-api/platform-infra/index">
Streams, sync routes, backfills, and non-admin operational patterns.

Check warning on line 110 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L110

Did you really mean 'backfills'?
</Card>
<Card title="Backend coverage status" icon="clipboard-list" href="/repositories/d-sports-api/gamification/coverage-status">
Track what is documented, partial, or not yet documented across all non-admin backend domains.
Expand All @@ -115,5 +115,5 @@
</CardGroup>

<Card title="Ecosystem overview" icon="map" href="/repositories/ecosystem-overview">
See how d-sports-api fits with the site, native app, and Mic'd Up.

Check warning on line 118 in repositories/d-sports-api.mdx

View check run for this annotation

Mintlify / Mintlify Validation (chronoscyberchronicles) - vale-spellcheck

repositories/d-sports-api.mdx#L118

Did you really mean 'Mic'd'?
</Card>