---
title: "Get a session recording"
method: GET
path: "/phones/sessions/{session_id}/recording"
tags: ["phones"]
---

# Get a session recording

`GET /phones/sessions/{session_id}/recording`

Returns a short-lived URL for the session's screen recording, keyed on session_id — so it works for workflow runs and workflow-less interactive leases alike. Status is "pending" (no URL) when the recording hasn't finished uploading yet. Org-scoped: another org's session reads as not found.

## Path parameters

- `session_id` string, uuid, required — Phone session identifier

## Response `200`

OK

- PhoneSessionRecordingResponse — Session recording lookup result.
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `status` 'ready' | 'pending' | 'expired', required — 'ready' when a recording URL is returned, 'pending' while the recording is still being processed, or 'expired' when it is past the plan's recording retention window.
  - `url` string — Playback URL for the recording MP4, set only when status is 'ready'. The URL is time-limited.

## Other responses

- `default` — Error

## Changes

> 18 revisions in range; 5 could not be searched.

- **2026-07-23** `5a989777701c` — 1 breaking
  - for the `path` request parameter `session_id`, the type/format was changed from `string`/`` to `string`/`uuid`
- **2026-07-13** `84e4b1138a85` — 1 warning
  - added the new `expired` enum value to the `status` response property for the response status `200`

[Change history](https://skmtc.dev/axilioai/apis/axilio-api/changes/phones/sessions/:session_id/recording/get.md)

---

[API](https://skmtc.dev/axilioai/apis/axilio-api.md) · [All operations](https://skmtc.dev/axilioai/apis/axilio-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/axilioai/axilio-api/revisions/8a66f81813b3/schema)
