---
title: "Create a stream"
method: POST
path: "/v1/streams"
tags: ["Streams"]
---

# Create a stream

`POST /v1/streams`

## Request

- Base URL: `https://api.sendora.se`
- URL: `https://api.sendora.se/v1/streams`
- Auth: HTTP bearer

Adds a stream to this server. A transactional or a broadcast stream is available to every account; an inbound stream receives mail at its own address, and a server has one at a time, and a test server none. Each sending stream has a suppression list of its own.

## Request body

- object
  - `kind` 'transactional' | 'broadcast' | 'inbound', required: transactional or broadcast for sending, open to every account; a server has one live inbound stream.
  - `name` string, required: 1 to 100 characters.

## Response `201`

A stream of this server.

- object: A stream of this server.
  - `streamId` string, uuid, required: What a send names as streamId.
  - `kind` 'transactional' | 'broadcast' | 'inbound', required: transactional for mail the recipient expects; broadcast for mail to many; inbound for mail the server receives.
  - `name` string, required: The name given at creation, unique within the server.
  - `isDefault` boolean, required: The stream a send without a streamId goes on; one per server, transactional.
  - `createdAt` string, date-time, required
  - `archivedAt` string, date-time, nullable, required: Set once archived; the stream then takes no new messages.
  - `pausedAt` string, date-time, nullable, required: Set while Sendora has paused the stream after complaints; it takes no messages until support has resumed it.
  - `inboundAddress` string, nullable, required: The address of an inbound stream, its id on inbound.sendora.se; mail sent there is received on the stream. Null on every other kind.
  - `contentRetentionDays` integer, nullable, required: How many days an inbound stream keeps received content, 1 to 30; null means the default of 30. Null on every other kind.

## Other responses

- `400`: The body, the query or a header does not match what the route takes.
- `401`: The key is missing, malformed or revoked.
- `403`: The key is of the other kind, or the account is closed or not yet approved, which an inbound stream needs.
- `409`: The server already has a stream with this name, or an inbound stream.
- `422`: A test server has no inbound stream; receive on a live server.

---

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