# Create a new stream
`POST https://octopus.livepush.io/streams`
Creates a new live stream for the authenticated user.
The stream is initialized with the provided category and name
and is assigned to a default processing zone.
- **Tag:** Streams
- **Operation ID:** `postStreams`
- **Authentication:** Bearer token required
- **Docs:** https://developers.livepush.io/streams/create-a-new-stream/

### Request body

`application/json` (required)

- `category` (string) **required** — Stream category
- `name` (string) **required** — Display name for the stream


```json
{
  "category": "simulcast",
  "name": "Luke Skywalker Apricot Fascinating"
}
```


### Example request

```bash
curl -X POST 'https://octopus.livepush.io/streams' \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "category": "simulcast",
    "name": "Luke Skywalker Apricot Fascinating"
  }'
```


### Responses


#### 201 — Stream created successfully

- `id` (string)
- `chatId` (string)
- `embedId` (string)
- `createdAt` (string<date-time>)
- `metadata` (object)
  - `name` (string)
  - `category` (string)
- `config` (object)
  - `pullUrlMaxRetry` (integer)
  - `recordingTier` (string)
- `destinations` (object[])
- `zone` (string) — Assigned processing zone ID
- `unsafeContent` (boolean)
- `hasValidated` (boolean)


```json
{
  "id": "st_xxxxxxxxxxxxx",
  "chatId": "mc_xxxxxxxxxxxx",
  "embedId": "em_xxxxxxxxxxxx",
  "createdAt": "2026-01-31T09:00:00.000Z",
  "metadata": {
    "name": "Luke Skywalker Apricot Fascinating",
    "category": "simulcast"
  },
  "config": {
    "pullUrlMaxRetry": 5,
    "recordingTier": "rise"
  },
  "destinations": [
    {}
  ],
  "zone": "zn_xxxxxxxxx",
  "unsafeContent": true,
  "hasValidated": true
}
```


#### 400 — Invalid request payload


#### 401 — Unauthorized

