Mail

Transactional email & mailbox provisioning for an organization.

Endpoints · 11
POST/v1/mail/mailboxes/assignclient.mail.mailboxes.assign

Assign (`assignedUserId`) or unassign (`null`) a mailbox to an org member.

assign(input: OrgScoped<{ id: string; assignedUserId: string | null; }>): Promise<{ mailbox: Mailbox; }>;
POST/v1/mail/mailboxes/createclient.mail.mailboxes.create

Provision a mailbox. Returns the row + the plaintext `password` ONCE (the password is never re-readable). 409 `mailbox_taken` if the address exists; 400/403 if the domain isn't added/verified; 404 `member_not_found` if the assigned user isn't an org member.

create(input: OrgScoped<MailboxCreateInput>): Promise<MailboxCreated>;
POST/v1/mail/mailboxes/deleteclient.mail.mailboxes.delete

Deprovision a mailbox (and its mail-store entry).

delete(input: OrgScoped<{ id: string; }>): Promise<{ ok: true; }>;
POST/v1/mail/mailboxes/getclient.mail.mailboxes.get
get(input: OrgScoped<{ id: string; }>): Promise<{ mailbox: Mailbox; }>;
POST/v1/mail/mailboxes/listclient.mail.mailboxes.list

The org's mailboxes (newest first).

list(input?: OrgScoped): Promise<{ mailboxes: Mailbox[]; }>;
POST/v1/mail/messages/getclient.mail.messages.get
get(input: OrgScoped<{ id: string; }>): Promise<{ message: MailMessage; }>;
POST/v1/mail/messages/listclient.mail.messages.list

The org's send-log (newest first).

list(input?: OrgScoped): Promise<{ messages: MailMessage[]; }>;
POST/v1/mail/messages/sendclient.mail.messages.send

The headline service: resolve the verified sender domain, DKIM-sign in the API, check suppressions, relay. Returns the send-log row (status `sent`).

send(input: OrgScoped<MailSendInput>): Promise<{ message: MailMessage; }>;
POST/v1/mail/suppressions/addclient.mail.suppressions.add

Add an address to the suppression list (`reason` defaults to "manual").

add(input: OrgScoped<{ email: string; reason?: MailSuppressionReason; note?: string; }>): Promise<{ suppression: MailSuppression; }>;
POST/v1/mail/suppressions/listclient.mail.suppressions.list
list(input?: OrgScoped): Promise<{ suppressions: MailSuppression[]; }>;
POST/v1/mail/suppressions/removeclient.mail.suppressions.remove
remove(input: OrgScoped<{ email: string; }>): Promise<{ ok: true; }>;
Widgets · 8

Embeddable React components for this App. Click one to preview its UI. Previews render the component only — live data calls are disabled here (wire the Provider's basePath to a connector, as the Console does, to make them functional).