---
title: "Current snapshot of the rentable executors (WebSocket address)"
method: GET
path: "/executors/ws"
tags: ["General APIs with JWT"]
---

# Current snapshot of the rentable executors (WebSocket address)

`GET /executors/ws`

Returns the same `snapshot` frame a WebSocket client receives first, for a caller that wants the set once and does not want to hold a connection.

The same address serves a WebSocket at `wss://lium.io/api/executors/ws`. Connect to it to stay current: the socket opens with this snapshot and then sends `upsert`, `delete` and `heartbeat` frames. OpenAPI cannot describe a WebSocket, which is why it is named here.

No authentication. `503` means the publisher has not completed its first read yet — retry.

## Response `200`

Successful Response

- ExecutorSnapshotResponse — The complete rentable set, identical to the first frame of a WebSocket connection.
  - `type` 'snapshot', required
  - `schema_version` integer, required — Protocol version of the envelope. The current version is 1.
  - `seq` integer, required — Sequence number of the last published frame. It orders frames within one WebSocket connection and carries no meaning across connections or replicas.
  - `ts` number, required — Server publish time of this snapshot, as Unix seconds.
  - `executors` object[], required — Every executor that is rentable right now, as an availability projection. The example below carries the complete card: the field set is fixed, and a value is `null` rather than absent when it is unknown.

## Other responses

- `503` — The publisher has no state yet

---

[API](https://skmtc.dev/lium/apis/lium-backend-api.md) · [All operations](https://skmtc.dev/lium/apis/lium-backend-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/lium/lium-backend-api/revisions/57db0a9348db/schema)
