--- # nuzlocke-tracker-bkhs title: API Endpoints Implementation status: completed type: task priority: normal created_at: 2026-02-04T15:46:59Z updated_at: 2026-02-05T13:47:57Z parent: nuzlocke-tracker-f5ob blocking: - nuzlocke-tracker-8fcj - nuzlocke-tracker-hy41 --- Implement the REST/GraphQL API endpoints for the tracker. ## Checklist - [x] Reference Data endpoints (read-only for tracker): - [x] GET /api/v1/games - List all games - [x] GET /api/v1/games/:id - Get game details with routes - [x] GET /api/v1/games/:id/routes - List routes for a game - [x] GET /api/v1/routes/:id/pokemon - List available Pokémon for a route - [x] GET /api/v1/pokemon/:id - Get Pokémon details - [x] Run Management endpoints: - [x] POST /api/v1/runs - Create new run - [x] GET /api/v1/runs - List all runs - [x] GET /api/v1/runs/:id - Get run details with encounters - [x] PATCH /api/v1/runs/:id - Update run (settings, status) - [x] DELETE /api/v1/runs/:id - Delete a run - [x] Encounter endpoints: - [x] POST /api/v1/runs/:id/encounters - Log new encounter - [x] PATCH /api/v1/encounters/:id - Update encounter (status, nickname) - [x] DELETE /api/v1/encounters/:id - Remove encounter - [x] Add request validation - [x] Add proper error responses ## Notes - Follow REST conventions - Return appropriate HTTP status codes - Include pagination for list endpoints if needed