API reference
Public, read-focused API for OneMoreDay. Every request is scoped to the authenticated user; the API never returns another user's data or platform content libraries. The mobile app is the source of truth for writes; this surface is designed for reading your own progress (profile/HP, goals, workouts, territory, badges, challenges, summaries). Per-user API keys and a hosted MCP server are rolling out — see https://onemoreday.fit/developers.
Base URL: https://onemoreday-api.onrender.com/api
Auth: Authorization: Bearer <token> (Supabase session JWT). Per-user API keys are planned.
Machine contract: /openapi.json
This reference is generated from the same OpenAPI document served at
/openapi.json. Every endpoint is scoped to the authenticated user and never returns other users' data.
Example request
curl -H "Authorization: Bearer $OMD_TOKEN" \
https://onemoreday-api.onrender.com/api/auth/me
health
| Method | Path | Summary | Auth |
|---|
GET | /healthz | Health check | Public |
auth
| Method | Path | Summary | Auth |
|---|
GET | /auth/me | Get the current user's profile | Bearer |
POST | /auth/login | Log in with email and password | Public |
profile
| Method | Path | Summary | Auth |
|---|
GET | /profile/weekly-summary | Get the current user's weekly summary | Bearer |
goals
| Method | Path | Summary | Auth |
|---|
GET | /goals | List the current user's goals | Bearer |
GET | /goals/{id} | Get a single goal by id | Bearer |
GET | /goals/xp-history | Get the current user's XP history from goal completions | Bearer |
game
| Method | Path | Summary | Auth |
|---|
GET | /game/state | Get the current avatar game state (HP, level, coins, etc.) | Bearer |
territory
| Method | Path | Summary | Auth |
|---|
GET | /territory/me | Get the current user's captured territory as GeoJSON | Bearer |
GET | /territory/map | Get territories within a bounding box as GeoJSON | Bearer |
GET | /territory/leaderboard | Get the territory leaderboard with the caller's rank | Bearer |
GET | /territory/stats | Get the current user's territory statistics | Bearer |
GET | /territory/runs/history | Get the current user's paginated run history | Bearer |
badges
| Method | Path | Summary | Auth |
|---|
GET | /badges/me | Get the current user's earned badges | Bearer |
GET | /badges/all | Get all available badges | Bearer |
waitlist
| Method | Path | Summary | Auth |
|---|
POST | /waitlist | Join the waitlist | Public |