# SAIR Competition Public API > Reference for SAIR competition automation, Playground workflows, submissions, API keys, scopes, and contributor tools. This plain-text map is for AI agents, answer engines, and crawlers. Prefer the Markdown mirror or full-text bundle when you need source-like content without executing JavaScript. ## Machine-readable entry points - [Human documentation](https://docs.sair.foundation/docs/) - [Full text bundle](https://docs.sair.foundation/llms-full.txt) - [Machine-readable catalog](https://docs.sair.foundation/api-catalog.json) - [Markdown mirror root](https://docs.sair.foundation/docs-md/README.md) - [Sitemap](https://docs.sair.foundation/sitemap.xml) ## Getting started - [SAIR Competition Public API](https://docs.sair.foundation/docs/) — Markdown: [/docs-md/README.md](https://docs.sair.foundation/docs-md/README.md) Use the SAIR Competition Public API for competition automation: CLIs, scripts, CI pipelines, and training jobs. - [Authentication](https://docs.sair.foundation/docs/authentication/) — Markdown: [/docs-md/authentication.md](https://docs.sair.foundation/docs-md/authentication.md) Every documented API key call authenticates with a personal API key. There is no application-level credential and no anonymous access for these endpoints. - [Quick start](https://docs.sair.foundation/docs/guides/quick-start/) — Markdown: [/docs-md/guides/quick-start.md](https://docs.sair.foundation/docs-md/guides/quick-start.md) From an API key to a first submission, using only curl. ## Conventions - [Request & response](https://docs.sair.foundation/docs/conventions/) — Markdown: [/docs-md/conventions.md](https://docs.sair.foundation/docs-md/conventions.md) These conventions apply to every documented API key endpoint under /api/public/v1. - [Pagination](https://docs.sair.foundation/docs/pagination/) — Markdown: [/docs-md/pagination.md](https://docs.sair.foundation/docs-md/pagination.md) Every list endpoint is cursor-paginated. - [Rate limiting](https://docs.sair.foundation/docs/rate-limiting/) — Markdown: [/docs-md/rate-limiting.md](https://docs.sair.foundation/docs-md/rate-limiting.md) Several buckets protect the service. They are advertised by response headers so clients can pace themselves before hitting the limit. - [Errors](https://docs.sair.foundation/docs/errors/) — Markdown: [/docs-md/errors.md](https://docs.sair.foundation/docs-md/errors.md) All errors use the envelope from Conventions. error.code is stable; error.message may change. ## Endpoints - [Account](https://docs.sair.foundation/docs/endpoints/account/) — Markdown: [/docs-md/endpoints/account.md](https://docs.sair.foundation/docs-md/endpoints/account.md) Introspect the API key used for the request. - [Competitions](https://docs.sair.foundation/docs/endpoints/competitions/) — Markdown: [/docs-md/endpoints/competitions.md](https://docs.sair.foundation/docs-md/endpoints/competitions.md) Browse competitions, check eligibility, read leaderboards, submit entries, and retrieve stored submission bodies. - [Mathematics Distillation Challenge: Equational Theories - Stage 1](https://docs.sair.foundation/docs/endpoints/competitions/mathematics-distillation-stage1/) — Markdown: [/docs-md/endpoints/competitions/mathematics-distillation-stage1.md](https://docs.sair.foundation/docs-md/endpoints/competitions/mathematics-distillation-stage1.md) Competition ID: mathematics-distillation-challenge-equational-theories-stage1 - [Mathematics Distillation Challenge: Equational Theories - Stage 2](https://docs.sair.foundation/docs/endpoints/competitions/mathematics-distillation-stage2/) — Markdown: [/docs-md/endpoints/competitions/mathematics-distillation-stage2.md](https://docs.sair.foundation/docs-md/endpoints/competitions/mathematics-distillation-stage2.md) Competition ID: mathematics-distillation-challenge-equational-theories-stage2 - [Modular Arithmetic Challenge](https://docs.sair.foundation/docs/endpoints/competitions/modular-arithmetic-challenge/) — Markdown: [/docs-md/endpoints/competitions/modular-arithmetic-challenge.md](https://docs.sair.foundation/docs-md/endpoints/competitions/modular-arithmetic-challenge.md) Competition ID: modular-arithmetic-challenge - [Inverse Galois Problem (IGP24)](https://docs.sair.foundation/docs/endpoints/competitions/igp24/) — Markdown: [/docs-md/endpoints/competitions/igp24.md](https://docs.sair.foundation/docs-md/endpoints/competitions/igp24.md) Competition ID: igp24 - [Playground](https://docs.sair.foundation/docs/endpoints/playground/) — Markdown: [/docs-md/endpoints/playground.md](https://docs.sair.foundation/docs-md/endpoints/playground.md) Use Playground endpoints to discover available models and problem sets and to run practice evaluations for a competition, before sending a formal entry through POST /api/public/... - [Mathematics Distillation Stage 1 Playground](https://docs.sair.foundation/docs/endpoints/playground/mathematics-distillation-stage1/) — Markdown: [/docs-md/endpoints/playground/mathematics-distillation-stage1.md](https://docs.sair.foundation/docs-md/endpoints/playground/mathematics-distillation-stage1.md) Competition ID: mathematics-distillation-challenge-equational-theories-stage1 - [Mathematics Distillation Stage 2 Playground](https://docs.sair.foundation/docs/endpoints/playground/mathematics-distillation-stage2/) — Markdown: [/docs-md/endpoints/playground/mathematics-distillation-stage2.md](https://docs.sair.foundation/docs-md/endpoints/playground/mathematics-distillation-stage2.md) Competition ID: mathematics-distillation-challenge-equational-theories-stage2 - [Modular Arithmetic Challenge Playground](https://docs.sair.foundation/docs/endpoints/playground/modular-arithmetic-challenge/) — Markdown: [/docs-md/endpoints/playground/modular-arithmetic-challenge.md](https://docs.sair.foundation/docs-md/endpoints/playground/modular-arithmetic-challenge.md) Competition ID: modular-arithmetic-challenge - [Contributor Network](https://docs.sair.foundation/docs/endpoints/contributor-network/) — Markdown: [/docs-md/endpoints/contributor-network.md](https://docs.sair.foundation/docs-md/endpoints/contributor-network.md) Browse, publish, favorite, comment on, and view lineage for shared cheatsheets, Lean 4 solver templates, and model references. Benchmark data is available for platform-benchmark... - [List competitions](https://docs.sair.foundation/docs/endpoints/competitions/api/list-competitions/) — Markdown: [/docs-md/endpoints/competitions/api/list-competitions.md](https://docs.sair.foundation/docs-md/endpoints/competitions/api/list-competitions.md) Scope: competition.read. - [Get competition detail](https://docs.sair.foundation/docs/endpoints/competitions/api/get-competition/) — Markdown: [/docs-md/endpoints/competitions/api/get-competition.md](https://docs.sair.foundation/docs-md/endpoints/competitions/api/get-competition.md) Scope: competition.read. - [Get my competition participation](https://docs.sair.foundation/docs/endpoints/competitions/api/get-my-participation/) — Markdown: [/docs-md/endpoints/competitions/api/get-my-participation.md](https://docs.sair.foundation/docs-md/endpoints/competitions/api/get-my-participation.md) Scope: competition.read. - [Get competition leaderboard](https://docs.sair.foundation/docs/endpoints/competitions/api/get-leaderboard/) — Markdown: [/docs-md/endpoints/competitions/api/get-leaderboard.md](https://docs.sair.foundation/docs-md/endpoints/competitions/api/get-leaderboard.md) Scope: competition.read. - [Get my leaderboard standing](https://docs.sair.foundation/docs/endpoints/competitions/api/get-my-standing/) — Markdown: [/docs-md/endpoints/competitions/api/get-my-standing.md](https://docs.sair.foundation/docs-md/endpoints/competitions/api/get-my-standing.md) Scope: competition.read. - [Get IGP24 team placements](https://docs.sair.foundation/docs/endpoints/competitions/api/get-team-placements/) — Markdown: [/docs-md/endpoints/competitions/api/get-team-placements.md](https://docs.sair.foundation/docs-md/endpoints/competitions/api/get-team-placements.md) Scope: competition.read. - [Search the IGP24 leaderboard](https://docs.sair.foundation/docs/endpoints/competitions/api/search-leaderboard/) — Markdown: [/docs-md/endpoints/competitions/api/search-leaderboard.md](https://docs.sair.foundation/docs-md/endpoints/competitions/api/search-leaderboard.md) Scope: competition.read. - [Submit a competition entry](https://docs.sair.foundation/docs/endpoints/competitions/api/submit/) — Markdown: [/docs-md/endpoints/competitions/api/submit.md](https://docs.sair.foundation/docs-md/endpoints/competitions/api/submit.md) Scope: competition.write. - [Get IGP24 submission batch status](https://docs.sair.foundation/docs/endpoints/competitions/api/get-submission-batch-status/) — Markdown: [/docs-md/endpoints/competitions/api/get-submission-batch-status.md](https://docs.sair.foundation/docs-md/endpoints/competitions/api/get-submission-batch-status.md) Scope: competition.read. - [List my submissions](https://docs.sair.foundation/docs/endpoints/competitions/api/list-my-submissions/) — Markdown: [/docs-md/endpoints/competitions/api/list-my-submissions.md](https://docs.sair.foundation/docs-md/endpoints/competitions/api/list-my-submissions.md) Scope: competition.read. - [Get my submission (legacy)](https://docs.sair.foundation/docs/endpoints/competitions/api/get-my-submission-legacy/) — Markdown: [/docs-md/endpoints/competitions/api/get-my-submission-legacy.md](https://docs.sair.foundation/docs-md/endpoints/competitions/api/get-my-submission-legacy.md) Scope: competition.read. - [Get a submission by ID](https://docs.sair.foundation/docs/endpoints/competitions/api/get-submission/) — Markdown: [/docs-md/endpoints/competitions/api/get-submission.md](https://docs.sair.foundation/docs-md/endpoints/competitions/api/get-submission.md) Scope: competition.read. - [Download a submission body](https://docs.sair.foundation/docs/endpoints/competitions/api/download-submission/) — Markdown: [/docs-md/endpoints/competitions/api/download-submission.md](https://docs.sair.foundation/docs-md/endpoints/competitions/api/download-submission.md) Scope: competition.read. - [Cheatsheets](https://docs.sair.foundation/docs/endpoints/cheatsheets/) — Markdown: [/docs-md/endpoints/cheatsheets.md](https://docs.sair.foundation/docs-md/endpoints/cheatsheets.md) Manage your private Playground cheatsheet library. A cheatsheet can be referenced from a Playground run (configurations[].cheatsheet) and submitted to a cheatsheet-kind competit... - [Solver templates & Lean problems](https://docs.sair.foundation/docs/endpoints/solver-templates/) — Markdown: [/docs-md/endpoints/solver-templates.md](https://docs.sair.foundation/docs-md/endpoints/solver-templates.md) Manage your private Playground Lean 4 solver snippets and custom problems for solver-participation competitions. Solver templates can be copied into a Playground run and submitt... ## Reference - [Submission spec](https://docs.sair.foundation/docs/reference/submission-spec/) — Markdown: [/docs-md/reference/submission-spec.md](https://docs.sair.foundation/docs-md/reference/submission-spec.md) Every competition declares one submissionSpec in its detail response. It is the only source of truth for how to construct a submission for that competition — fields, validation,... - [Submission kinds and DTOs](https://docs.sair.foundation/docs/reference/submission-kinds/) — Markdown: [/docs-md/reference/submission-kinds.md](https://docs.sair.foundation/docs-md/reference/submission-kinds.md) A competition's submissionSpec.kind selects the DTOs used by the submission endpoints: ## Examples - [Python examples](https://docs.sair.foundation/examples/python/README.md): runnable flows for quick start, submissions, Playground practice, and Contributor Network usage. - [Python client](https://docs.sair.foundation/examples/python/sair/client.py): minimal copy-and-adapt API client. - [TypeScript examples](https://docs.sair.foundation/examples/typescript/README.md): plain fetch client and runnable scripts for the same public API flows. - [TypeScript client](https://docs.sair.foundation/examples/typescript/src/client.ts): minimal copy-and-adapt API client.