---
# 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