Skip to main content

Admin Endpoints (require admin role)

Users

GET    /api/v1/admin/users            — List all users for this university
POST   /api/v1/admin/users/invite     — Create user + send invite email
PUT    /api/v1/admin/users/{id}       — Update role, tier, sport limitations
DELETE /api/v1/admin/users/{id}       — Soft-deactivate (cannot remove self)

Reporting Periods

GET    /api/v1/admin/periods          — List with deal counts + verification rates
POST   /api/v1/admin/periods          — Create new period (academic_year, start/end dates, deadline)

Sports

GET    /api/v1/admin/sports           — List all sports
POST   /api/v1/admin/sports           — Add a new sport

Peer Groups

GET    /api/v1/admin/peer-groups      — Current peer group with conference names
PUT    /api/v1/admin/peer-groups      — Update peer group name + conference IDs

Reference Data Endpoints (require auth, any role)

These populate dropdowns across the frontend:
GET /api/v1/ref/sports                — All sports [{id, name}]
GET /api/v1/ref/positions?sport_id=   — Positions filtered by sport [{id, name, abbreviation, sport_id}]
GET /api/v1/ref/brands                — All brands [{id, name, industry_category}]
GET /api/v1/ref/conferences           — All conferences [{id, name, division}]
GET /api/v1/ref/periods               — Reporting periods for user's university [{id, academic_year, status}]

Other

GET /api/v1/health                    — Returns {"status": "ok"} (no auth)
GET /api/v1/search?q=                 — Unified search across athletes + deals