API Structure Documentation
Structure
/src/app/api/v1/
βββ definitions/
β βββ route.ts GET /api/v1/definitions
β βββ [definitionId]/
β βββ rounds/
β βββ route.ts GET /api/v1/definitions/{id}/rounds
βββ rounds/
β βββ route.ts GET /api/v1/rounds
β βββ metadata/
β β βββ route.ts GET /api/v1/rounds/metadata
β βββ [roundId]/
β βββ route.ts GET /api/v1/rounds/{id}
β βββ leaderboard/
β β βββ route.ts GET /api/v1/rounds/{id}/leaderboard
β βββ models/
β β βββ route.ts GET /api/v1/rounds/{id}/models
β βββ series/
β βββ route.ts GET /api/v1/rounds/{id}/series
β βββ [seriesId]/
β βββ data/
β β βββ route.ts GET /api/v1/rounds/{id}/series/{id}/data
β βββ forecasts/
β βββ route.ts GET /api/v1/rounds/{id}/series/{id}/forecasts
βββ models/
βββ rankings/
β βββ route.ts GET /api/v1/models/rankings
βββ ranking-filters/
β βββ route.ts GET /api/v1/models/ranking-filters
βββ [modelId]/
βββ route.ts GET /api/v1/models/{id}
βββ rankings/
β βββ route.ts GET /api/v1/models/{id}/rankings
βββ series-by-definition/
β βββ route.ts GET /api/v1/models/{id}/series-by-definition
βββ definitions/
βββ [definitionId]/
βββ series/
βββ [seriesId]/
βββ forecasts/
βββ route.ts GET /api/v1/models/{id}/definitions/{id}/series/{id}/forecasts
Service Layer
The service layer has been organized into three domain-specific files:
definitionService.ts
Handles challenge definition-related API calls:
getDefinitionRounds()- Get rounds for a specific definition
roundService.ts
Handles round-related API calls:
getChallenges()- List all rounds (previously called challenges)getRoundsMetadata()- Get filter metadatagetChallengeSeries()- Get series for a roundgetSeriesData()- Get time series datagetSeriesForecasts()- Get forecasts for a seriesgetRoundModels()- Get models participating in a round
modelService.ts
Handles model-related API calls:
getFilteredRankings()- Get model rankings with filtersgetRankingFilters()- Get available ranking filtersgetModelDetails()- Get model detailsgetModelRankings()- Get model ranking historygetModelSeriesByDefinition()- Get series grouped by definitiongetModelSeriesForecasts()- Get model forecasts across rounds
Authentication
All API routes forward the X-API-Key header to the backend API for authentication.