> For the complete documentation index, see [llms.txt](https://zumo.fusion.ac/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://zumo.fusion.ac/api-reference/http/get-replay.md).

# GET /replays/{replayId}

Returns completed replay data. **Call this before requesting a new recording.**

**Authentication:** `API-Key` required

## Request

| Field      | Location | Type   | Required | Description         |
| ---------- | -------- | ------ | -------- | ------------------- |
| `replayId` | path     | string | yes      | Hypixel replay UUID |
| `API-Key`  | header   | string | yes      | Consumer key `zk_*` |

## Response

| Status | Description                   |
| ------ | ----------------------------- |
| `200`  | Recording completed           |
| `400`  | Invalid UUID                  |
| `401`  | Missing or invalid API key    |
| `404`  | No record for this id         |
| `425`  | Queued or running — not ready |
| `422`  | Previous recording failed     |

### `200` body

| Field                                     | Type          | Description                                      |
| ----------------------------------------- | ------------- | ------------------------------------------------ |
| `replayId`                                | string        | Lowercase UUID                                   |
| `status`                                  | `"completed"` | Always `completed` on 200                        |
| `requestId`                               | string?       | Job correlation id                               |
| `botId`                                   | string?       | Worker that recorded                             |
| `server`                                  | string?       | Hypixel server from scoreboard                   |
| `game`                                    | string?       | Game name                                        |
| `mode`                                    | string?       | Game mode (e.g. `"4v4"`)                         |
| `map`                                     | string?       | Map name                                         |
| `date`                                    | string?       | Date from scoreboard                             |
| `durationMs`                              | number?       | Replay length                                    |
| `result`                                  | object        | Full scrape — teams, bookmarks, messages, winner |
| `mcpr`                                    | object?       | `{ bucket, key, sizeBytes, etag? }`              |
| `createdAt` / `updatedAt` / `completedAt` | string        | ISO 8601                                         |

### Error body

| Field      | Type    | Description                                                              |
| ---------- | ------- | ------------------------------------------------------------------------ |
| `error`    | string  | `invalid_id` \| `unauthorized` \| `not_found` \| `not_ready` \| `failed` |
| `replayId` | string? | Normalized id                                                            |
| `message`  | string? | Detail                                                                   |

## Example

```bash
curl -s -H "API-Key: zk_your_key" \
  "https://zed.fusion.ac/replays/0febde27-aafd-4d8d-bb79-cb3be723aa7a"
```
