Servers
More ways to use this page
Rename a server
PATCH/v1/
TypeScript account
Python account
Key ak_… an account key
The id, the keys, the mode and everything the server holds stay. The new name must be free within the account. A body that names a mode is refused: a server is live or test from its creation.
Parameters
idin pathstring (uuid)requiredThe server id.
Request body
namestring (at least 1, at most 100 characters)required1 to 100 characters.
{
"name": "Ekonomi"
}Responses
200A server of the account: an isolation boundary with its own keys, streams, log, suppressions and webhooks.
serverIdstring (uuid)requiredThe id every server key, stream and message of the server refers to.
namestring (at least 1, at most 100 characters)requiredThe name given at creation, unique within the account.
mode"live" | "test"requiredlive delivers; test goes through everything but delivery, so nothing reaches a recipient. Fixed when the server is created.
createdAtstring (date-time)required
Example
{
"serverId": "7c1e4d2a-0b9f-4a3e-8d6c-5e2f1a9b8c70",
"name": "Ekonomi",
"mode": "live",
"createdAt": "2026-09-20T12:00:00.000Z"
}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. |
mode_ | 400 | A server’s mode is fixed when it is created; create a new server for the other mode. |
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 server of this account. |
server_ | 409 | The account already has a server with that name. |
server_ | 409 | This server sends Sendora’s own sign-in mail and cannot be renamed or removed. |
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"
}
]
}