> 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/help-center/faq.md).

# FAQ

<details>

<summary>I get Unauthorized consumer / connect_error</summary>

Confirm the key is approved and enabled, and that you pass `auth: { key: 'zk_...' }` (not an HTTP header) on Socket.IO connect. Wait \~60s after approval for cache refresh.

</details>

<details>

<summary>I connect but receive no events</summary>

Your consume ACL must include each event name you subscribe to. If you set `query.mode`, only matching envelopes are delivered.

</details>

<details>

<summary>I never get replayFinished</summary>

Do not connect with `query: { mode: 'replay' }`. `replayFinished` uses the in-game mode (for example `4v4`), not `replay`.

</details>

<details>

<summary>HTTP returns 425</summary>

The replay is queued or running. Poll `GET /replays/{id}/status` or listen for progress / finished events on WebSocket.

</details>

<details>

<summary>replayRejected: unauthorized</summary>

`replayRequest` must be on the key’s **provide** ACL, not only consume.

</details>

<details>

<summary>ACL change did nothing</summary>

Zed caches keys for about 60 seconds. Retry after a minute.

</details>

<details>

<summary>MCPR download needs a key?</summary>

No. `GET` / `HEAD /replays/{id}/mcpr` are public. Other replay routes require `API-Key`.

</details>

## Still stuck?

Ask in the [Zumo Discord](https://discord.gg/t4HAw5wvDf) or see [Support](/help-center/support.md).
