# List competitions

```http
GET /api/public/v1/competitions
```

**Scope**: `competition.read`.

Returns active and closed competitions visible through the Public API. Draft competitions are not returned. The endpoint is cursor-paginated.

## Query parameters

| Parameter | Type | Required | Default | Description |
| :--- | :--- | :---: | :--- | :--- |
| `cursor` | string | No | — | Opaque cursor from the previous `nextCursor`. |
| `limit` | integer | No | `25` | Page size from `1` through `100`. |

## Response fields

```ts
type ListCompetitionsResponse = {
  ok: true;
  data: {
    items: CompetitionSummary[];
    nextCursor: string | null;
  };
};

type CompetitionSummary = {
  id: string;
  title: string;
  submissionKind: "acc-solutions" | "cheatsheet" | "igp24-polynomial" | "lean-kernel-package" | "model-reference" | "solver-participation";
  capabilities: {
    playground: boolean;
    contributorNetwork: boolean;
    leaderboard: boolean;
  };
  leaderboardTeamDetailsEnabled: boolean;
};
```

## Example request

```bash
curl "https://api.sair.foundation/api/public/v1/competitions?limit=25" \
  -H "Authorization: Bearer $SAIR_API_KEY"
```

## Complete example response

```json
{
  "ok": true,
  "data": {
    "items": [
      {
        "id": "igp24",
        "title": "Inverse Galois Problem (IGP24)",
        "submissionKind": "igp24-polynomial",
        "capabilities": {
          "playground": false,
          "contributorNetwork": false,
          "leaderboard": true
        },
        "leaderboardTeamDetailsEnabled": true
      },
      {
        "id": "mathematics-distillation-challenge-equational-theories-stage1",
        "title": "Mathematics Distillation Challenge: Equational Theories - Stage 1",
        "submissionKind": "cheatsheet",
        "capabilities": {
          "playground": true,
          "contributorNetwork": true,
          "leaderboard": false
        },
        "leaderboardTeamDetailsEnabled": false
      },
      {
        "id": "mathematics-distillation-challenge-equational-theories-stage2",
        "title": "Mathematics Distillation Challenge: Equational Theories - Stage 2",
        "submissionKind": "solver-participation",
        "capabilities": {
          "playground": true,
          "contributorNetwork": true,
          "leaderboard": false
        },
        "leaderboardTeamDetailsEnabled": false
      },
      {
        "id": "modular-arithmetic-challenge",
        "title": "Modular Arithmetic Challenge",
        "submissionKind": "model-reference",
        "capabilities": {
          "playground": true,
          "contributorNetwork": true,
          "leaderboard": false
        },
        "leaderboardTeamDetailsEnabled": false
      }
    ],
    "nextCursor": null
  }
}
```

`capabilities.leaderboard` reflects publication state. `leaderboardTeamDetailsEnabled` independently indicates whether leaderboard responses can include the [`teamDetails` projection](../competitions.md#leaderboard-team-details-and-privacy).

## Errors

See [Errors](../../errors.md) for authentication, scope, cursor, and rate-limit errors.
