> ## Documentation Index
> Fetch the complete documentation index at: https://developers.reintersect.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Development relay

> The WebSocket that carries deliveries to reintersect dev.

> Reintersect apps are in developer preview. Names and limits can still change before general
> release.

`reintersect dev` connects to:

```text theme={null}
wss://api.reintersect.com/v0/apps/dev/relay
authorization: Bearer <member API key>
```

The relay accepts only member API keys. Frames are JSON text:

| Direction | Frame | Meaning |
| - | - | - |
| CLI to Reintersect | `{ "kind": "hello", "devInstallId", "appVersionHash" }` | First frame, within 10 seconds: which development install and manifest the CLI serves. |
| Reintersect to CLI | `{ "kind": "ready" }` | Deliveries may follow. |
| Reintersect to CLI | `{ "kind": "delivery", "deliveryId", "request": { "method": "POST", "path", "headers", "body" } }` | A signed delivery to replay to the local app. |
| CLI to Reintersect | `{ "kind": "response", "deliveryId", "status", "headers", "body" }` | The local app's answer. |
| Both | `{ "kind": "ping" }`, `{ "kind": "pong" }` | Heartbeats every 15 seconds; 45 seconds of silence closes the socket. |

Frames are at most 4 MB and bodies at most 1 MB. One connection serves a development install; a new
one replaces the old.

| Close code | Meaning |
| - | - |
| 4000 | Protocol error. |
| 4001 | No `hello` in time. |
| 4002 | The development install wasn't found. |
| 4003 | The manifest changed; sync and reconnect. |
| 4004 | A frame was too large. |
| 4005 | Heartbeat timeout. |
| 4006 | Another session took over. |
| 4007 | The relay is unavailable. |

When no relay is connected, deliveries to the development install fail fast and members see that the
development server is offline.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.