/v1/me/mailboxesList your mailboxes
Every sending identity you have connected, newest first, each with its provider, address, granted scopes, health status and last error, token expiry, and whether it is your default. Never tokens.
Responses
200Your mailboxesmailboxesarray of MailboxView requiredThe account’s linked mailboxes.
idstring requiredThe mailbox id.
providerstring requiredWhich email provider this mailbox is linked through.
addressstring requiredThe email address messages are sent from.
displayNamestring | null requiredThe sender name shown to recipients, for example "Cam at Vamo". Null when unset.
scopesarray of string requiredThe permissions granted at the provider. Sending and reading replies each need their own; a mailbox missing one cannot do that half of the job.
statusstring requiredWhether the mailbox is usable. A mailbox can go unhealthy on its own when the provider revokes access, so check this before relying on it to send.
lastErrorstring | null requiredThe last provider error, in plain words. Null when healthy. This is what to show a user whose sending has silently stopped.
tokenExpiresAtstring | null requiredWhen the provider authorization expires, as an ISO 8601 instant. Null when it does not expire on a schedule.
isDefaultboolean requiredWhether this is the account’s default sending mailbox.
createdAtstring requiredWhen the mailbox was linked, as an ISO 8601 instant.
401No or invalid credentialcodestring requiredStable machine-readable error code. Branch on this, never on the numeric status.
bad_requestunauthorizedsignature_requiredpayment_requiredforbiddennot_foundconflictgonepayload_too_largeunprocessable_entitytoo_many_requestsinternal_errornot_implementedbilling_unavailablenot_contactablemailbox_link_unavailablemailbox_requiredmail_engine_unavailablewebhook_publisher_unavailabledatabase_unavailableclient_errormessagestring requiredHuman-readable explanation of the refusal.
statusinteger requiredThe HTTP status code, repeated in the body.
remedyobjectA self-serve path forward, when one exists (a 402 points at the credit top-up).
kindstring requiredWhat kind of remedy this is, so a client can route it: whether the caller can clear the condition through the API, or a person must act in the web app.
topupconnect_mailboxurlstring requiredWhere to go to clear the condition: an API path, or a web app page when only a person can.
403API keys have no mailboxes. The 403 body carries the remedy: a member connects one in the web app.codestring requiredStable machine-readable error code. Branch on this, never on the numeric status.
bad_requestunauthorizedsignature_requiredpayment_requiredforbiddennot_foundconflictgonepayload_too_largeunprocessable_entitytoo_many_requestsinternal_errornot_implementedbilling_unavailablenot_contactablemailbox_link_unavailablemailbox_requiredmail_engine_unavailablewebhook_publisher_unavailabledatabase_unavailableclient_errormessagestring requiredHuman-readable explanation of the refusal.
statusinteger requiredThe HTTP status code, repeated in the body.
remedyobjectA self-serve path forward, when one exists (a 402 points at the credit top-up).
kindstring requiredWhat kind of remedy this is, so a client can route it: whether the caller can clear the condition through the API, or a person must act in the web app.
topupconnect_mailboxurlstring requiredWhere to go to clear the condition: an API path, or a web app page when only a person can.