# Get my current cheatsheet

```http
GET /api/public/v1/competitions/mathematics-distillation-challenge-equational-theories-stage1/submissions/mine
```

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

Returns the current formal Stage 1 cheatsheet for the caller's team using the standard collection envelope. A solo participant is treated as a one-person team. Both the owner and accepted members may read the team's entry, although only the owner may replace it.

`items` contains zero or one entry and `nextCursor` is always `null`; this endpoint is not paginated for Stage 1.

## Example request

```bash
curl "https://api.sair.foundation/api/public/v1/competitions/mathematics-distillation-challenge-equational-theories-stage1/submissions/mine" \
  -H "Authorization: Bearer $SAIR_API_KEY"
```

## Example response

```json
{
  "ok": true,
  "data": {
    "items": [
      {
        "submissionId": "sub_01JSTAGE100000000000000001",
        "competitionId": "mathematics-distillation-challenge-equational-theories-stage1",
        "kind": "cheatsheet",
        "payload": {
          "content": "When the equation has a neutral element, test substitutions that preserve it before expanding the search."
        },
        "meta": {
          "description": "Playground-tested cheatsheet."
        },
        "createdAt": "2026-05-18T12:34:56Z",
        "updatedAt": "2026-05-18T12:34:56Z"
      }
    ],
    "nextCursor": null
  }
}
```

## Response fields

| Field | Type | Description |
| :---- | :--- | :---------- |
| `items` | [Cheatsheet submission](#cheatsheet-submission)[] | Zero or one current formal entry. |
| `nextCursor` | null | Always `null` for this single-entry submission kind. |

### Cheatsheet submission

| Field | Type | Description |
| :---- | :--- | :---------- |
| `submissionId` | string | Stable ID retained when the current entry is replaced. |
| `competitionId` | string | Stage 1 competition ID. |
| `kind` | `cheatsheet` | Submission-kind discriminator. |
| `payload.content` | string | Current formal cheatsheet content. |
| `meta.description` | string, optional | Submission note supplied with the current entry. |
| `meta.contributorNetworkItemId` | string, optional | Contributor Network lineage supplied with the current entry. |
| `createdAt` | string | ISO 8601 UTC time when the stable entry was first created. |
| `updatedAt` | string | ISO 8601 UTC time of the latest accepted replacement. An exact idempotency replay does not change it. |

When the team has no formal cheatsheet, the endpoint returns `200 OK` with `items: []`. This is different from an authorization failure: a caller who is not allowed to see the team's entry receives `404 NOT_FOUND` for item-specific reads.

## Legacy compatibility

Existing clients may still call:

```http
GET /api/public/v1/competitions/mathematics-distillation-challenge-equational-theories-stage1/submissions/me
```

The compatibility endpoint returns the same current cheatsheet directly in `data` instead of the collection envelope and returns `404 NOT_FOUND` when no entry exists. New integrations should use `/submissions/mine`; no cursor or `limit` parameter is needed for Stage 1.
