---
title: "Get a session"
method: GET
path: "/session-storage/v2/sessions/{id}"
tags: ["Sessions v2"]
---

# Get a session

`GET /session-storage/v2/sessions/{id}`

## Request

- Base URL: `https://api.palabra.ai`
- URL: `https://api.palabra.ai/session-storage/v2/sessions/{id}`
- Auth: API key in header `Authorization`

Returns one session including its `token`, so a server that stored only the `id` can
recover the token.
A session that belongs to another account is reported as not found.

## Parameters

- `#/components/parameters/V2SessionId` (unresolved $ref)

## Response `200`

Session.

- V2SessionResponse
  - `ok` true, required
  - `data` V2Session, required
    - `id` string, required: Session identifier. Use it to inspect, revoke and report on the session.
    - `token` string: Credential the end user connects with. Returned by `POST /v2/sessions` and `GET /v2/sessions/{id}` only.
    - `intent` 's2s' | 'stt' | 'tts', required: Product the session token is valid for: - `s2s`: speech-to-speech translation - `stt`: speech-to-text - `tts`: text-to-speech A token presented to a different product is refused.
    - `connection_type` 'ws' | 'webrtc', required: Transport the end user will connect with. `webrtc` is available for `s2s` only. A token issued for one transport cannot be used with the other.
    - `single_use` boolean, required: `true` if the token opens only one stream in its lifetime.
    - `client_reference_id` string: Your identifier from the create request.
    - `status` 'pending' | 'active' | 'idle' | 'used' | 'expired' | 'revoked', required: - `pending`: issued, no stream opened yet, connect window still open - `active`: at least one stream is running - `idle`: reusable token that has been used before, no stream running, connect window still open - `used`: single-use token whose stream has finished; cannot be used again - `expired`: connect window has passed and no stream is running - `revoked`: revoked by you
    - `created_at` string, date-time, required: When the session was created.
    - `connect_by` string, date-time, required: Moment after which the token can no longer open a new stream.
    - `max_session_duration_seconds` integer: Duration cap applied to each stream, if one was set.
    - `first_connected_at` string, date-time, nullable: When the first stream was opened with this token, or `null` if none yet.
    - `active_stream_count` integer, required: Number of streams running with this token.
    - `webrtc` V2WebRtcDetails: Present for `connection_type: webrtc` only.
      - `url` string, required: WebRTC endpoint the publisher and listeners connect to.
      - `room_name` string, required: Room the session runs in.
      - `subscriber_keys` string[]: Listener tokens, one per requested subscriber. Returned on creation only.

## Other responses

- `401` (unresolved $ref)
- `404` (unresolved $ref)
- `500` (unresolved $ref)

## Changes

- **2026-11-03** `d4a64c9469d4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/palabra/apis/palabra-api/changes/session-storage/v2/sessions/:id/get.md)

---

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