---
title: "Create streaming session"
method: POST
path: "/session-storage/session"
tags: ["Sessions API"]
---

# Create streaming session

`POST /session-storage/session`

Creates a streaming session and returns a JWT access token together with the connection URLs.

A session runs over one of two fully independent channels — choose one; you publish audio, receive translated audio, and manage translation entirely over it:
- webrtc_url — the WebRTC Speech-to-Speech Translation API
- ws_url — the WS Speech-to-Speech Translation API

The returned token carries scoped permissions that define what the session can do.

### References
- [Translation management WebSocket API](https://docs.palabra.ai/docs/streaming_api/management)
- [Streaming session](https://docs.palabra.ai/docs/streaming_api/session)

## Request body

- object
  - `data` CreateSessionRequestV2
    - `intent` 'api' | 'broadcaster' | 'desktop' | 'event' | 'agora' | 'captions' | 'bot_conversational' | 'bot_presentation' — Intent of the session. Used for analytics and debugging purposes.
    - `aggregation_id` string — A client-chosen identifier shared across multiple sessions that should appear as one group in the billing usage view. Leave unset for ungrouped sessions.

## Response `201`

Session created successfully.

- object
  - `ok` boolean, required
  - `data` Data, required — unresolved $ref

## Other responses

- `default` — Default Response

---

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