# Competitions

Browse competitions, check eligibility, read leaderboards, submit entries, and retrieve stored submission bodies.

## Competition API guides

Start with the guide for the competition you are automating. Each guide uses the real competition ID and links every supported operation to its concrete request and response examples.

- [Mathematics Distillation Challenge: Equational Theories - Stage 1](./competitions/mathematics-distillation-stage1.md)
- [Mathematics Distillation Challenge: Equational Theories - Stage 2](./competitions/mathematics-distillation-stage2.md)
- [Modular Arithmetic Challenge](./competitions/modular-arithmetic-challenge.md)
- [Inverse Galois Problem (IGP24)](./competitions/igp24.md)

## Competition API reference

Each operation has its own reference page. Submission operations expand the complete concrete DTO for every documented competition rather than showing only a generic union.

| Task | Endpoint | Scope |
| :--- | :--- | :--- |
| List competitions | [`GET /api/public/v1/competitions`](./competitions/api/list-competitions.md) | `competition.read` |
| Get competition detail | [`GET /api/public/v1/competitions/{competitionId}`](./competitions/api/get-competition.md) | `competition.read` |
| Get my participation | [`GET /api/public/v1/competitions/{competitionId}/me`](./competitions/api/get-my-participation.md) | `competition.read` |
| Get leaderboard | [`GET /api/public/v1/competitions/{competitionId}/leaderboard`](./competitions/api/get-leaderboard.md) | `competition.read` |
| Get my standing | [`GET /api/public/v1/competitions/{competitionId}/leaderboard/me`](./competitions/api/get-my-standing.md) | `competition.read` |
| Get IGP24 team placements | [`GET /api/public/v1/competitions/{competitionId}/leaderboard/teams/{teamId}/placements`](./competitions/api/get-team-placements.md) | `competition.read` |
| Search the IGP24 leaderboard | [`GET /api/public/v1/competitions/{competitionId}/leaderboard/search`](./competitions/api/search-leaderboard.md) | `competition.read` |
| Submit an entry | [`POST /api/public/v1/competitions/{competitionId}/submissions`](./competitions/api/submit.md) | `competition.write` |
| Get IGP24 batch status | [`GET /api/public/v1/competitions/{competitionId}/submissions/batch/{batchId}`](./competitions/api/get-submission-batch-status.md) | `competition.read` |
| List my submissions | [`GET /api/public/v1/competitions/{competitionId}/submissions/mine`](./competitions/api/list-my-submissions.md) | `competition.read` |
| Get my submission (legacy) | [`GET /api/public/v1/competitions/{competitionId}/submissions/me`](./competitions/api/get-my-submission-legacy.md) | `competition.read` |
| Get a submission by ID | [`GET /api/public/v1/competitions/{competitionId}/submissions/{submissionId}`](./competitions/api/get-submission.md) | `competition.read` |
| Download a submission body | [`GET /api/public/v1/competitions/{competitionId}/submissions/{submissionId}/download`](./competitions/api/download-submission.md) | `competition.read` |

The three IGP24-only operations above have complete standalone DTO references. IGP24 also exposes label-progress and remaining-pair operations documented in the [IGP24 guide](./competitions/igp24.md#endpoint-map).

## Submission behavior by competition

| Competition | Submission kind | Current-entry behavior | Concrete examples |
| :--- | :--- | :--- | :--- |
| Mathematics Distillation Stage 1 | `cheatsheet` | Zero or one current cheatsheet. | [Submit](./competitions/api/submit.md#mathematics-distillation-stage-1) · [Read](./competitions/api/list-my-submissions.md#mathematics-distillation-stage-1) |
| Mathematics Distillation Stage 2 | `solver-participation` | One current entry per track. | [Submit](./competitions/api/submit.md#mathematics-distillation-stage-2) · [Read](./competitions/api/list-my-submissions.md#mathematics-distillation-stage-2) |
| Modular Arithmetic Challenge | `model-reference` | Up to `submissionSpec.limits.maxEntries` occupied slots, currently three. | [Submit](./competitions/api/submit.md#modular-arithmetic-challenge) · [Read](./competitions/api/list-my-submissions.md#modular-arithmetic-challenge) |
| IGP24 | `igp24-polynomial` | Cursor-paginated submission history. | [Submit](./competitions/api/submit.md#inverse-galois-problem-igp24) · [Read](./competitions/api/list-my-submissions.md#inverse-galois-problem-igp24) |

The named union definitions remain in [Submission kinds and DTOs](../reference/submission-kinds.md). The operation pages above include full JSON envelopes and competition-specific examples so callers do not need to assemble an example from several pages.

## List competitions

Moved to [List competitions](./competitions/api/list-competitions.md).

## Get competition detail

Moved to [Get competition detail](./competitions/api/get-competition.md).

## My participation

Moved to [Get my competition participation](./competitions/api/get-my-participation.md).

## Leaderboard

Moved to [Get competition leaderboard](./competitions/api/get-leaderboard.md).

## My leaderboard standing

Moved to [Get my leaderboard standing](./competitions/api/get-my-standing.md).

## Submit

Moved to [Submit a competition entry](./competitions/api/submit.md).

## Get my submissions

Moved to [List my submissions](./competitions/api/list-my-submissions.md).

## Get my submission (legacy)

Moved to [Get my submission (legacy)](./competitions/api/get-my-submission-legacy.md).

## Get a submission by ID

Moved to [Get a submission by ID](./competitions/api/get-submission.md).

## Download the stored text body

Moved to [Download a submission body](./competitions/api/download-submission.md).

## Errors

Each operation page lists its endpoint-specific errors. See [Errors](../errors.md) for the shared error envelope and stable code catalog.
