Skip to main content

Admin API: Mail

Operations on mail in the Odudu admin API, one section each. Every request carries a bearer token; the index says which audience it needs and how a refusal is shaped.

GET /admin/tenants/{tenant}/mail​

Requires the "manage-tenant" capability.

The tenant’s outgoing mail, most recent first: queued, retrying, sent, or failed once every attempt is spent, with its attempts and the relay’s last error. Never the body, which carries a sign-in link. The recipient is masked, wherever it appears, unless the caller also holds view-users.

Path parameters​

NameTypeRequiredDetails
tenantstringyesThe tenant being administered, addressed by name.

Query parameters​

NameTypeRequiredDetails
cursorstringnoThe next value of the previous page, to continue after it.
limitintegernoHow many items to return. A value over 200 is treated as 200; the default is 50. Constraints: at least 1.
statusstringnoConstraints: one of queued, retrying, sent, failed.

Responses​

200 OK​

Body: application/json

FieldTypeRequiredDetails
itemsarray of objectyesThe entries of this answer.
items[]objectyes
items[].idstringyesThe message’s identifier, a UUID.
items[].tostringyesThe recipient’s address. Masked, with to_masked true, unless the caller may read subjects.
items[].to_maskedbooleanyesTrue when to is masked because the caller may not read subjects.
items[].subjectstringyesThe message’s subject line. Its body is never returned, because it carries a link that signs somebody in.
items[].statusstringyesConstraints: one of queued, retrying, sent, failed.
items[].attemptsintegeryesConstraints: at least 0.
items[].last_errorstring or nullyesWhat the last failed attempt answered, or null if none has failed.
items[].created_atstringyesWhen the message was queued.
items[].next_attempt_atstringyesWhen the sender will try it next.
items[].sent_atstring or nullyesWhen it was delivered, or null if it has not been.
nextstringnoAn opaque cursor for the next page; absent on the last page.

401 RFC 9457 problem details​

Body: application/problem+json, an RFC 9457 problem document described under problem details.

403 RFC 9457 problem details​

Body: application/problem+json, an RFC 9457 problem document described under problem details.

Documentation coverage: 12 of 15 fields described (80%).