Streams
More ways to use this page
Update a stream
PATCH/v1/
TypeScript sendora
Python sendora
Key sk_… a server key
The id stays. A new name must be free within the server. contentRetentionDays applies to an inbound stream only and sets how long received content is kept.
Parameters
idin pathstring (uuid)requiredThe stream id.
Request body
namestring (at least 1, at most 100 characters)1 to 100 characters.
contentRetentionDaysinteger (1 to 30) or nullDays an inbound stream keeps received content, 1 to 30; null for the default of 30.
{
"name": "Driftinformation"
}Responses
200A stream of this server.
streamIdstring (uuid)requiredWhat a send names as streamId.
kind"transactional" | "broadcast" | "inbound"requiredtransactional for mail the recipient expects; broadcast for mail to many; inbound for mail the server receives.
namestring (at least 1, at most 100 characters)requiredThe name given at creation, unique within the server.
isDefaultbooleanrequiredThe stream a send without a streamId goes on; one per server, transactional.
createdAtstring (date-time)requiredarchivedAtstring (date-time) or nullrequiredSet once archived; the stream then takes no new messages.
pausedAtstring (date-time) or nullrequiredSet while Sendora has paused the stream after complaints; it takes no messages until support has resumed it.
inboundAddressstring or nullrequiredThe address of an inbound stream, its id on inbound.sendora.se; mail sent there is received on the stream. Null on every other kind.
contentRetentionDaysinteger (1 to 30) or nullrequiredHow many days an inbound stream keeps received content, 1 to 30; null means the default of 30. Null on every other kind.
Example
{
"streamId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"kind": "transactional",
"name": "Driftinformation",
"isDefault": false,
"createdAt": "2026-09-16T12:00:00.000Z",
"archivedAt": null,
"pausedAt": null,
"inboundAddress": null,
"contentRetentionDays": null
}Errors
Every error answers error, the code, and message, a sentence for a person. A code that adds fields is shown in full below the table.
| Code | Status | Meaning |
|---|---|---|
invalid_ | 400 | The body, the query or a header does not match what the route takes. |
unauthorized | 401 | The key is missing, malformed or revoked. |
wrong_ | 403 | The key is of the other kind: a server key (sk_) where an account key (ak_) is needed, or the reverse. The message names the kind the operation takes. |
not_ | 404 | No such stream of this server. |
stream_ | 409 | The server already has a stream with this name, archived or not. |
invalid_request
issuesarray of objectOne entry per invalid field; absent when a header is wrong.
pathstringrequiredThe field, dotted, such as to.0.email; empty when the whole body is wrong.
messagestringrequired
Example
{
"error": "invalid_request",
"message": "The request is invalid: to.0: Invalid email address",
"issues": [
{
"path": "to.0",
"message": "Invalid email address"
}
]
}stream_exists
streamIdstring (uuid)requiredThe stream that already carries the name.
Example
{
"error": "stream_exists",
"message": "This server already has a stream with that name.",
"streamId": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
}