---
title: "Get RemoteViewer Activity Feed for the tenant"
method: GET
path: "/v2/rv-activity-feed/"
tags: ["device_MultiOS Remote Viewer"]
---

# Get RemoteViewer Activity Feed for the tenant

`GET /v2/rv-activity-feed/`

Retrieves a paginated, filterable feed of Remote Viewer sessions across the tenant.

Each entry represents one Remote Viewer session, including the device it targeted, its current state, video quality, duration, and who initiated it. Supports filtering by state, video quality, device name, and the user who created the session.

**About Remote Viewer Activity Feed**

Remote Viewer sessions move through INITIATED, ACKNOWLEDGED, ACTIVE, and a terminal TERMINATED or FAILED state. This feed gives a tenant-wide, auditable view of who has remotely viewed which devices, how long each session lasted, and whether it completed successfully, spanning the multi-OS Remote Viewer feature rather than any single platform.

**Key Fields / Query Parameters**

states — filters by one or more session states, comma-separated

created_by — filters sessions by the user who initiated them

device_name — searches sessions by device name

ordering — orders results, defaults to -created_at (most recent first)

**Common Use Cases**

Auditing who accessed a given device through Remote Viewer and when

Reviewing failed or unusually long Remote Viewer sessions across the fleet

Investigating support activity on a specific device by filtering on device_name

**Best Practices**

Filter by states to separate completed sessions from ones that failed or never became active

Use created_by when auditing an individual support agent's Remote Viewer activity

**Workflow**

Call this endpoint with the filters relevant to your audit or investigation

Review session state and duration for each result

Use the session_id to correlate with support tickets or other internal records if needed

## Query parameters

- `limit` integer
- `offset` integer
- `states` 'INITIATED' | 'ACKNOWLEDGED' | 'ACTIVE' | 'TERMINATED' | 'FAILED' — List API supports comma separated states.
- `video_qualities` 'STANDARD' | 'DATA_SAVER' — To allow filtering sessions list by comma separated video qualities
- `reason` string — To allow searching sessions list by reason
- `created_by` string — To allow filtering sessions list by created by
- `device_name` string — To allow searching sessions list by device name
- `ordering` 'created_at' | 'updated_at' | 'device_name' | 'duration' | 'state' | 'reason' | 'video_quality' | 'created_by' — To allow ordering sessions list by created_at, updated_at, device_name, duration, state, reason, video_quality and created_by.
- `duration_lt` string, duration — Duration less than filter. The time duration (in ISO 8601 duration format) of only a valid elapsed session, i.e., sessions that have moved from ACTIVE state (where session start-time can be captured) to TERMINATED or FAILED state (where the session end-time can be captured).
- `duration_lte` string, duration — Duration less than or equal to filter. The time duration (in ISO 8601 duration format) of only a valid elapsed session, i.e., sessions that have moved from ACTIVE state (where session start-time can be captured) to TERMINATED or FAILED state (where the session end-time can be captured).
- `duration_gt` string, duration — Duration greater than filter. The time duration (in ISO 8601 duration format) of only a valid elapsed session, i.e., sessions that have moved from ACTIVE state (where session start-time can be captured) to TERMINATED or FAILED state (where the session end-time can be captured).
- `duration_gte` string, duration — Duration greater than or equal to filter. The time duration (in ISO 8601 duration format) of only a valid elapsed session, i.e., sessions that have moved from ACTIVE state (where session start-time can be captured) to TERMINATED or FAILED state (where the session end-time can be captured).
- `created_at_lt` string, date-time — Created at less than filter. Datetime format must be in "YY-MM-DDTHH:mm:ss.fffffffffZ".
- `created_at_gt` string, date-time — Created at greater than filter. Datetime format must be in "YY-MM-DDTHH:mm:ss.fffffffffZ".
- `created_at_lte` string, date-time — Created at less than or equal to filter. Datetime format must be in "YY-MM-DDTHH:mm:ss.fffffffffZ".
- `created_at_gte` string, date-time — Created at greater than or equal to filter. Datetime format must be in "YY-MM-DDTHH:mm:ss.fffffffffZ".
- `updated_at_lt` string, date-time — Updated at less than filter. Datetime format must be in "YY-MM-DDTHH:mm:ss.fffffffffZ".
- `updated_at_gt` string, date-time — Updated at greater than filter. Datetime format must be in "YY-MM-DDTHH:mm:ss.fffffffffZ".
- `updated_at_lte` string, date-time — Updated at less than or equal to filter. Datetime format must be in "YY-MM-DDTHH:mm:ss.fffffffffZ".
- `updated_at_gte` string, date-time — Updated at greater than or equal to filter. Datetime format must be in "YY-MM-DDTHH:mm:ss.fffffffffZ".

## Response `200`

Success

- object
  - `content` object
    - `count` integer
    - `previous` string
    - `next` string
    - `results` DeviceRemoteViewerSessionsListForTenantResponse[]
      - `session_id` string, uuid
      - `device_id` string, uuid
      - `state` 'INITIATED' | 'ACKNOWLEDGED' | 'ACTIVE' | 'TERMINATED' | 'FAILED'
      - `reason` string
      - `video_quality` 'STANDARD' | 'DATA_SAVER'
      - `duration` string, duration — Depicts the time duration (in ISO 8601 duration format) of only a valid elapsed session, i.e., sessions that have moved from ACTIVE state (where session start-time can be captured) to TERMINATED or FAILED state (where the session end-time can be captured).
      - `created_by` string
      - `updated_by` string
      - `created_at` string, date-time
      - `updated_at` string, date-time
      - `device_name` string — Name of the device.
      - `device_alias` string — Alias of the device (if any).
      - `device_state` 0 | 1 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 | 110 | 120 | 130 | 140 | 150 | 160 | 170 | 180 | 190 | 200 — The following are the device states and their descriptions: ``` * 0 = Device State is Unspecified * 1 = Online * 20 = Disabled (device has been factory reset or removed from the Esper Dashboard) * 30 = Beginning Provisioning * 40 = Configuring Google Play (still provisioning) * 50 = Applying Policies and Installing Applications (still provisioning) * 60 = Offline * 70 = Device is undergoing a Factory Reset (reset started from Dashboard) * 80 = Device Onboarding in Progress * 90 = Device Onboarding Failed * 100 = Device Onboarded in Esper * 110 = Android For Work Account added * 120 = Apps installed * 130 = Branding Processed * 140 = Permission Policy Processed * 150 = Device Policy Processed * 160 = Device Settings Processed * 170 = Security Policy Processed * 180 = Phone Policy Processed * 190 = Custom Settings Processed * 200 = Device is Registered ```

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `500` — Internal Server Error

---

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