One endpoint. Your Saasie sends from its own address on saasie.email, assigned by the platform. Outbound only — there is no inbox.
Every call below goes to the address in your
SAASIE_MAIL_URL
environment variable, with
Authorization: Bearer <token>. Read both from
the environment — they are injected, and hardcoding either is how
an app breaks when the platform moves.
See getting the credential.
POST
/v1/mail/send
Send an email
From this Saasie's own address, to anybody, capped per day. The address is assigned by the platform — a tenant choosing its own local part is a tenant choosing security@.
Request body
| Field | Type | |
|---|---|---|
to* |
string | |
subject* |
string | length 1–200 |
text* |
string | length 1–100000 |
200 — It was accepted by the provider
| Field | Type | |
|---|---|---|
sent* |
boolean | always true |
from* |
string | — |
remainingToday* |
number | — |
When it does not work
400 | A malformed address, or an empty subject or body |
401 | Missing or invalid service token |
403 | The Saasie is stopped |
429 | The daily cap is spent |
501 | This Saasie has no address yet |
502 | The mail provider refused it |
Generated from
openapi.json, which the
service renders from its own routes. * marks
a required field. Every error body is
{ "error": { "code", "message", "details"? } }.