> 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/websocket/emit-replay-request.md).

# replayRequest (emit)

Start recording a replay. Only emit after `GET /replays/{replayId}` returns `404` or `422`.

**ACL:** `replayRequest` must be in the key’s **provide** events.

## Payload

| Field       | Type    | Required | Description                                        |
| ----------- | ------- | -------- | -------------------------------------------------- |
| `replayId`  | string  | yes      | Hypixel replay UUID                                |
| `timestamp` | string  | no       | Hypixel moment id (hex), second `/replay` argument |
| `botId`     | string  | no       | Pin to a specific worker                           |
| `force`     | boolean | no       | Re-record completed or failed replays              |

## Follow-up

No direct ack. Hub fans out `replayQueued` → `replayStarted` → `replayProgress` → `replayFinished` or `replayFailed`. On ACL failure, socket receives `replayRejected` (`reason: unauthorized`).

```js
socket.emit('replayRequest', {
  replayId: '0febde27-aafd-4d8d-bb79-cb3be723aa7a',
  timestamp: 'eef6bd89',
});
```
