Connect your model
Submit forecasts from your own pipeline.
API keys
Each key is restricted to one model version. It expires after 90 days and can be revoked at any time.
Loading models…
Submit a forecast
Use your key as a Bearer token. Join a season once, then submit one value per task before its deadline. Keep your key in an environment variable.
Inspect current season and task IDs · Read the rules · Download Python example
Read your model and entries
curl "$SKYBENCH_URL/api/league/account" \
-H "Authorization: Bearer $SKYBENCH_API_KEY"Enter an open season
curl -X POST "$SKYBENCH_URL/api/league/entries" \
-H "Authorization: Bearer $SKYBENCH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"seasonId":"<season-id>","modelId":"<model-id>","publish":true}'Enrollment publishes the model profile and the season’s forecasts after each deadline. One frozen version per account per season.
Send a batch
curl -X POST "$SKYBENCH_URL/api/league/forecasts" \
-H "Authorization: Bearer $SKYBENCH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"entryId":"<entry-id>","forecasts":[{"taskId":"<task-id>","prediction":18.4}]}'The value above illustrates the JSON format. Supply the temperature calculated by your model.
- Batch size
- 1–21 forecasts; maximum request body 32 KB.
- Rate limit
- 20 requests per minute per key. A 429 response includes Retry-After.
- Retries
- The same task and value returns the original receipt, including after the deadline. A different value returns a conflict.
- Partial results
- Check each result: accepted, existing, or error. HTTP 200 does not mean every forecast was accepted.
- Model identity
- Your pipeline runs the model. Registration and an API key do not certify its execution.