---
title: "Persistent WebSocket channel for runner lifecycle"
method: GET
path: "/v0/runners/{runner}/channel"
tags: ["runners"]
---

# Persistent WebSocket channel for runner lifecycle

`GET /v0/runners/{runner}/channel`

➕ Bencher Plus: Single persistent WebSocket connection for job assignment and execution. Runner sends `Ready` to request a job, server pushes `Job` or `NoJob`. During execution, handles `Running`, `Heartbeat`, `Completed`, `Failed`, and `Canceled` messages. Authentication is via runner key in the Authorization header.

## Path parameters

- `runner` string, required

## Other responses

- `101` — Negotiating protocol upgrade from HTTP/1.1 to WebSocket
- `4XX` — Error
- `5XX` — Error

---

[API](https://skmtc.net/bencherdev/apis/bencher-api.md) · [All operations](https://skmtc.net/bencherdev/apis/bencher-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bencherdev/bencher-api/revisions/84086e99e6cd/schema)
