# Download a submission

```http
GET /api/public/v1/competitions/mathematics-distillation-challenge-equational-theories-stage1/submissions/{submissionId}/download
```

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

Downloads the current formal cheatsheet content for the caller's team. The team owner and accepted members may download it.

This endpoint returns a file response rather than the standard JSON success envelope.

## Path parameters

| Parameter | Type | Required | Description |
| :--- | :--- | :---: | :--- |
| `submissionId` | string | Yes | Opaque ID returned when the cheatsheet is submitted. |

## Example request

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

## Response

```http
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment; filename="stage1-sub_01JSTAGE100000000000000001-cheatsheet.txt"
```

The response body is the exact UTF-8 content of the current entry:

```text
When the equation has a neutral element, test substitutions that preserve it before expanding the search.
```

Because Stage 1 replaces its formal entry in place, the same `submissionId` downloads the latest accepted content after a replacement; it does not address a historical revision.

Returns `404 NOT_FOUND` when the ID does not exist, belongs to another competition, or is not visible to the caller's current team. Error responses use the standard JSON error envelope even though the successful response is plain text. See [Errors](../../../errors.md).
