---
title: "Get the live view"
method: GET
path: "/sessions/{sid}/viewer"
tags: ["Phone"]
---

# Get the live view

`GET /sessions/{sid}/viewer`

## Request

- Base URL: `https://api.phone-harness.com`
- URL: `https://api.phone-harness.com/sessions/{sid}/viewer`
- Auth: one of:
  - HTTP bearer
  - none

Mint an opaque, expiring view-only viewer URL for a ready session: the same live video as the owner viewer, without input. This is what a watch link opens. The session owner may call it with a bearer credential; a watch link's holder passes its view grant as the token query parameter. Treat the URL as a secret and never log it. Embedding is restricted to the Phone Harness dashboard origin. Reconnection does not extend the phone deadline.

## Path parameters

- `sid` string, required

## Query parameters

- `token` string

## Response `200`

View-only viewer capability; private, no-store.

- OwnerViewer
  - `url` string, uri, required: Opaque sensitive viewer capability. Current embedding is restricted to the configured Phone Harness dashboard origin.
  - `expires_at` number, required: Viewer expiry; no later than the session expiry. Unix time in seconds.

## Other responses

- `401`: Bad or missing bearer credential.
- `403`: Account access denied or rental access unavailable.
- `404`: No live session visible to the caller, or the session's provider has no live viewer.
- `409`: Session is not ready, is closing, or the requested action conflicts with current state.
- `500`: Unexpected service error.

---

[API](https://skmtc.dev/phone-harness/apis/phone-harness-api.md) - [All operations](https://skmtc.dev/phone-harness/apis/phone-harness-api/llms.txt) - [OpenAPI document](https://skmtc.dev/phone-harness/apis/phone-harness-api/revisions/5af8941102e5?raw)
