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

# Get the owner viewer

`GET /sessions/{sid}/owner-viewer`

## Request

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

Mint an opaque, expiring interactive viewer URL for a ready, owned session. Treat it as a secret and never log it. Current embedding is restricted to the configured Phone Harness dashboard origin; arbitrary third-party embedding is not a supported integration. Reconnection does not extend the phone deadline. Watch grants cannot call this endpoint.

## Path parameters

- `sid` string, required

## Response `200`

Owner 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.
- `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)
