---
title: View a camera frame
description: Fetch a camera frame from an agent during an active remote-support session with argusctl view-camera.
---

# View a camera frame



## Goal

Pull a frame from a camera attached to a tenant's agent, during an active remote-support session, and save it to a local file.

Camera viewing is deliberately the most constrained capability in remote support: it is only ever an explicit, allowlisted, consent-gated, activation-gated, audited command. There is no background or covert camera access, and there is no standing camera channel; you get a frame because you asked for one inside a live session.

## Prerequisites

* Everything required to [activate a session](/docs/remote-support/remote-in): the full 3-factor operator gate (caller IP in `REMOTE_SUPPORT_OPERATOR_CIDRS`, the `X-Argus-Ops-Token` second factor, a PAT with the `remote_support` scope), `REMOTE_SUPPORT_ENABLED` on, an armed tenant with signed consent, and an enrolled, online agent.
* An **active session token** (`rst_...`) from `argusctl agent activate`. The token is shown once at activation.
* The camera ID. `agent_info` returns the agent's registered cameras; `argusctl agent telemetry --tenant <tenant>` shows last-known telemetry including cameras.

## Steps: argusctl

```bash
# 1. Activate a session (if you don't already have one)
argusctl agent activate agent_macpro_lobby_01 --tenant UTD_7ELEVEN_001 \
  --reason "verify camera 3 field of view"

# 2. Fetch a frame to a local file
argusctl agent view-camera agent_macpro_lobby_01 --tenant UTD_7ELEVEN_001 \
  --session rst_... --camera cam_3 --out frame.jpg
```

The `support view-camera` spelling hits the same endpoint:

```bash
argusctl support view-camera UTD_7ELEVEN_001 --session rst_... --camera cam_3 --out frame.jpg
```

Notes:

* `view-camera` is sugar over the generic session command `view_camera`. It writes the frame to the `--out` path and **never prints the image bytes** to stdout.
* Like every write, it supports `--dry-run` to preview the request without sending it; the ops token and session token are redacted in the preview.

## Steps: Operations Console

The console does not currently document a camera-view button; use the CLI path above.

## Verify

1. Open the output file (`frame.jpg`) and confirm it is a valid image of the expected camera.
2. The command is audited like every session command; the audit trail shows the command execution attributed to your operator identity.

## Troubleshooting

| Error                                   | Meaning                                                                                                                                        |
| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `session_not_found` / `session_expired` | Your session token is gone or past its expiry (default 30 minutes, hard cap 120). Re-activate and retry.                                       |
| `409 agent_offline` at activation       | The agent is not connected; you cannot reach its cameras. Bring the agent online out of band first.                                            |
| 403                                     | One of the three gate factors failed, or the session's bound tenant/agent does not match what you passed. Mismatches are rejected and audited. |


---

For a semantic overview of all documentation, see [/sitemap.md](/sitemap.md)

For an index of all available documentation, see [/llms.txt](/llms.txt)

For agent-facing discovery, including API and MCP surfaces, see [/agents.md](/agents.md)