---
title: "Latency probe for a live viewer: pulls the notification shade for 600 ms and returns the gateway clock (control key, at most once per 5 s per device)"
method: POST
path: "/devices/{name}/stream/probe"
tags: ["Screen and input"]
---

# Latency probe for a live viewer: pulls the notification shade for 600 ms and returns the gateway clock (control key, at most once per 5 s per device)

`POST /devices/{name}/stream/probe`

## Request

- Base URL: `https://api.clousd.com/v1`
- URL: `https://api.clousd.com/v1/devices/{name}/stream/probe`
- Auth: HTTP bearer

The viewer looks for the first frame whose top changes after t0_ms, computes glass-to-glass milliseconds and reports it back with POST …/stream {viewer, g2g_ms}. Needs a live stream session.

## Request body

- object
  - `viewer` string: Viewer id, as reported in stream stats

## Response `200`

Gateway clock around the flash

- object
  - `ok` boolean
  - `recv_ms` integer: Request received (gateway clock, ms)
  - `t0_ms` integer: Shade started moving
  - `now_ms` integer: Response sent
  - `exec_ms` integer: How long the shade command took

## Other responses

- `403`: Error
- `409`: No live stream session to measure
- `429`: A probe ran less than 5 s ago on this device

---

[API](https://skmtc.dev/clousd/apis/clousd-api.md) · [All operations](https://skmtc.dev/clousd/apis/clousd-api/llms.txt) · [OpenAPI document](https://skmtc.dev/clousd/apis/clousd-api/revisions/0291ffd26ae3?raw)
