MailerSend
MESSAGING · MESSAGING
Transactional and bulk email, sending domains, and delivery activity on their key.
Acts as the person, not as itself
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Credentials never touch the agent
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Every call on the record
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
What an agent can do
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
mailersend_delete_domains_by_domain_idWRITEDelete a domain. A sending domain is what authorises MailerSend to send `from` an address; a domain that is not verified cannot send.
mailersend_delete_domains_by_domain_id_smtp_users_by_smtp_user_idWRITEDelete SMTP user. An SMTP user is a per-domain credential for sending over SMTP rather than the API.
mailersend_delete_identities_by_identity_idWRITEDelete a sender identity. A sender identity authorises ONE address on a domain to send, which is how an account sends `from` an address it has not verified the whole domain for.
mailersend_delete_identities_email_emailWRITEDelete a sender identity by Email. A sender identity authorises ONE address on a domain to send, which is how an account sends `from` an address it has not verified the whole domain for.
mailersend_delete_inbound_by_inbound_idWRITEDelete an inbound route. An inbound route receives mail sent TO a subdomain you control and forwards it to a webhook or an address.
mailersend_delete_message_schedules_by_message_idWRITEDelete a scheduled message. A scheduled message is a send whose `send_at` is in the future; it can be inspected and cancelled until it is delivered.
mailersend_delete_recipients_by_recipient_idWRITEDelete a recipient. A recipient is an address MailerSend has seen on this account, with its suppression state.
mailersend_delete_sms_inbounds_by_sms_inbound_idWRITEDelete an SMS inbound route. An SMS inbound route forwards received texts to a URL.
mailersend_delete_sms_numbers_by_sms_number_idWRITEDelete an SMS phone number. Phone numbers are purchased in the MailerSend dashboard, not through the API.
mailersend_delete_sms_webhooks_by_sms_webhook_idWRITEDelete an SMS webhook. An SMS webhook delivers SMS events to a URL you control. Sends NO body, on the SAME CONTRACT-DEFECT basis, and here it is worse: the contract declares `{"enabled": boolean}` REQUIRED, verbatim the request body of the PUT on the same path, so shipping it would make an agent supply `enabled` in order to DELETE a webhook. NOT MEASURED -- the trial account's 100-request daily budget ran out before an SMS webhook could be created and deleted. Nothing about the account prevents it: it does hold an SMS phone number (3z0vkloq6j147qrx, seen 2026-09-19), so this is measurable whenever budget allows.
mailersend_delete_suppressions_blocklistWRITEDelete recipients from the blocklist suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN.
mailersend_delete_suppressions_hard_bouncesWRITEDelete recipients from the hard bounces suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN.
mailersend_delete_suppressions_spam_complaintsWRITEDelete recipients from the spam complaints suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN.
mailersend_delete_suppressions_unsubscribesWRITEDelete recipients from the unsubscribes suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN.
mailersend_delete_token_by_token_idWRITEDelete a token. These manage MailerSend API TOKENS -- the same kind of credential this connection itself holds. The connection's own token must carry API tokens = Full access, and a created token's secret is returned ONCE, in the create response.
mailersend_delete_users_by_user_idWRITEDelete a user. Users are the people with access to the MailerSend account, and their roles.
mailersend_delete_webhooks_by_webhook_idWRITEDelete a webhook. A webhook delivers email events to a URL you control; it belongs to one domain, which is why listing them REQUIRES `domain_id`. Sends NO body, and the BASIS IS A CONTRACT DEFECT rather than a measurement -- which matters, because it decides whether this can be restored by re-reading the contract or only by re-measuring. MailerSend's OpenAPI declares `{"enabled": boolean}` on this DELETE, and that is verbatim the request body of the PUT on the same path: the update's payload copied onto the delete. Deleting a webhook takes no payload. NOT MEASURED -- the trial account's daily request budget ran out before the webhook created for the purpose could be deleted; docs/integrations/mailersend/verified.json records this tool as untested.
mailersend_get_activities_by_activity_idREADGet single activity. Activity is the per-recipient delivery event log for a sending domain (queued, sent, delivered, soft/hard bounced, opened, clicked, unsubscribed, spam complaint). `date_from` and `date_to` are REQUIRED UTC unix timestamps.
mailersend_get_activity_by_domain_idREADGet a list of activities for a domain. Activity is the per-recipient delivery event log for a sending domain (queued, sent, delivered, soft/hard bounced, opened, clicked, unsubscribed, spam complaint). `date_from` and `date_to` are REQUIRED UTC unix timestamps.
mailersend_get_analytics_countryREADOpens by country. Analytics are aggregate counts over a date window rather than per-message rows; `date_from` and `date_to` are REQUIRED UTC unix timestamps and MailerSend retains six months.
mailersend_get_analytics_dateREADActivity data by date. Analytics are aggregate counts over a date window rather than per-message rows; `date_from` and `date_to` are REQUIRED UTC unix timestamps and MailerSend retains six months. ⚠ The `events` filter reaches MailerSend as `event[]`, which this integration does; the contract's own spelling is accepted with 200 and SILENTLY IGNORED (measured 2026-09-19: `?events=sent` returns stats rows with no `sent` key, `?event[]=sent` returns them with one). Ask for the event names you want -- queued, sent, delivered, soft_bounced, hard_bounced, opened, clicked, unsubscribed, spam_complaints -- and each appears as its own key on every row of `stats`.
mailersend_get_analytics_ua_nameREADOpens By User-Agent. Analytics are aggregate counts over a date window rather than per-message rows; `date_from` and `date_to` are REQUIRED UTC unix timestamps and MailerSend retains six months.
mailersend_get_analytics_ua_typeREADOpens by reading environment. Analytics are aggregate counts over a date window rather than per-message rows; `date_from` and `date_to` are REQUIRED UTC unix timestamps and MailerSend retains six months.
mailersend_get_api_quotaREADGet API quota. Reports the account's remaining daily API request allowance and when it resets. MailerSend documents this endpoint as NOT counting against the quota it reports, and it needs no token permission at all. Needs no token permission: measured 2026-09-19 it answered 200 to a token minted with `analytics_read` alone and to one minted with `templates_full` alone, while each of those answered 403 #MS40301 to the other's area. MailerSend documents requests to this endpoint as not counting against the quota they report.
mailersend_get_bulk_email_by_bulk_email_idREADGet bulk email status. Sending requires a VERIFIED sending domain -- the `from.email` address must belong to one -- and a trial account may be limited to the MailerSend-issued trial domain.
mailersend_get_domainsREADGet a list of domains. A sending domain is what authorises MailerSend to send `from` an address; a domain that is not verified cannot send.
mailersend_get_domains_by_domain_idREADGet a single domain. A sending domain is what authorises MailerSend to send `from` an address; a domain that is not verified cannot send.
mailersend_get_domains_by_domain_id_dns_recordsREADGet DNS Records. A sending domain is what authorises MailerSend to send `from` an address; a domain that is not verified cannot send.
mailersend_get_domains_by_domain_id_recipientsREADGet recipients for a domain. A sending domain is what authorises MailerSend to send `from` an address; a domain that is not verified cannot send.
mailersend_get_domains_by_domain_id_smtp_usersREADGet a list of SMTP users. An SMTP user is a per-domain credential for sending over SMTP rather than the API.
mailersend_get_domains_by_domain_id_smtp_users_by_smtp_user_idREADGet a single SMTP user. An SMTP user is a per-domain credential for sending over SMTP rather than the API.
mailersend_get_domains_by_domain_id_verifyREADGet verification status. A sending domain is what authorises MailerSend to send `from` an address; a domain that is not verified cannot send.
mailersend_get_email_verificationREADGet all lists. Email verification checks whether an address is deliverable before you send to it; a list is created, then verified, then its results are read.
mailersend_get_email_verification_by_email_verification_idREADGet a single list. Email verification checks whether an address is deliverable before you send to it; a list is created, then verified, then its results are read.
mailersend_get_email_verification_by_email_verification_id_resultsREADGet list results. Email verification checks whether an address is deliverable before you send to it; a list is created, then verified, then its results are read.
mailersend_get_email_verification_by_email_verification_id_verifyREADVerify a list. Email verification checks whether an address is deliverable before you send to it; a list is created, then verified, then its results are read.
mailersend_get_identitiesREADGet a list of sender identities. A sender identity authorises ONE address on a domain to send, which is how an account sends `from` an address it has not verified the whole domain for.
mailersend_get_identities_by_identity_idREADGet a single sender identity. A sender identity authorises ONE address on a domain to send, which is how an account sends `from` an address it has not verified the whole domain for.
mailersend_get_identities_email_emailREADGet a single sender identity by Email. A sender identity authorises ONE address on a domain to send, which is how an account sends `from` an address it has not verified the whole domain for.
mailersend_get_inboundREADGet a list of inbound routes. An inbound route receives mail sent TO a subdomain you control and forwards it to a webhook or an address.
mailersend_get_inbound_by_inbound_idREADGet a single inbound route. An inbound route receives mail sent TO a subdomain you control and forwards it to a webhook or an address.
mailersend_get_message_schedulesREADGet list of scheduled messages. A scheduled message is a send whose `send_at` is in the future; it can be inspected and cancelled until it is delivered.
mailersend_get_message_schedules_by_message_idREADGet a single scheduled message. A scheduled message is a send whose `send_at` is in the future; it can be inspected and cancelled until it is delivered.
mailersend_get_messagesREADGet a list of messages. A message is one API send request and the recipients it produced; the list is the account's recent sends.
mailersend_get_messages_by_message_idREADGet information for a single message. A message is one API send request and the recipients it produced; the list is the account's recent sends.
mailersend_get_recipientsREADGet recipients. A recipient is an address MailerSend has seen on this account, with its suppression state.
mailersend_get_recipients_by_recipient_idREADGet a single recipient. A recipient is an address MailerSend has seen on this account, with its suppression state.
mailersend_get_sms_activityREADGet a list of SMS activities. SMS activity is the per-message delivery event log.
mailersend_get_sms_activity_by_sms_message_idREADGet activity of a single SMS message. SMS activity is the per-message delivery event log.
mailersend_get_sms_inboundsREADGet a list of SMS inbound routes. An SMS inbound route forwards received texts to a URL.
mailersend_get_sms_inbounds_by_sms_inbound_idREADGet a single SMS inbound route. An SMS inbound route forwards received texts to a URL.
mailersend_get_sms_messagesREADGet a list of SMS messages. An SMS message is one send request and the recipients it produced.
mailersend_get_sms_messages_by_sms_message_idREADGet an SMS message. An SMS message is one send request and the recipients it produced.
mailersend_get_sms_numbersREADGet a list of SMS phone numbers. Phone numbers are purchased in the MailerSend dashboard, not through the API.
mailersend_get_sms_numbers_by_sms_number_idREADGet an SMS phone number. Phone numbers are purchased in the MailerSend dashboard, not through the API.
mailersend_get_sms_recipientsREADGet a list of SMS recipients. An SMS recipient is a number MailerSend has seen, with its opt-in state.
mailersend_get_sms_recipients_by_sms_recipient_idREADGet an SMS recipient. An SMS recipient is a number MailerSend has seen, with its opt-in state.
mailersend_get_sms_webhooksREADGet a list of SMS webhooks. An SMS webhook delivers SMS events to a URL you control.
mailersend_get_sms_webhooks_by_sms_webhook_idREADGet a single SMS webhook. An SMS webhook delivers SMS events to a URL you control.
mailersend_get_suppressions_blocklistREADGet recipients from the blocklist suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN.
mailersend_get_suppressions_hard_bouncesREADGet recipients from the hard bounces suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN.
mailersend_get_suppressions_spam_complaintsREADGet recipients from the spam complaints suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN.
mailersend_get_suppressions_unsubscribesREADGet recipients from the unsubscribes suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN.
mailersend_get_templatesREADGet templates. Templates are built in the MailerSend dashboard; the API lists and deletes them.
mailersend_get_usersREADGet all users. Users are the people with access to the MailerSend account, and their roles.
mailersend_get_users_by_user_idREADGet one user. Users are the people with access to the MailerSend account, and their roles.
mailersend_get_webhooksREADGet a list of webhooks. A webhook delivers email events to a URL you control; it belongs to one domain, which is why listing them REQUIRES `domain_id`.
mailersend_get_webhooks_by_webhook_idREADGet a webhook. A webhook delivers email events to a URL you control; it belongs to one domain, which is why listing them REQUIRES `domain_id`.
mailersend_post_bulk_emailWRITESend bulk emails. Sending requires a VERIFIED sending domain -- the `from.email` address must belong to one -- and a trial account may be limited to the MailerSend-issued trial domain.
mailersend_post_domainsWRITEAdd a Domain. A sending domain is what authorises MailerSend to send `from` an address; a domain that is not verified cannot send.
mailersend_post_emailWRITESend an email. Sending requires a VERIFIED sending domain -- the `from.email` address must belong to one -- and a trial account may be limited to the MailerSend-issued trial domain.
mailersend_post_email_verificationWRITECreate a list. Email verification checks whether an address is deliverable before you send to it; a list is created, then verified, then its results are read.
mailersend_post_email_verification_verifyWRITEVerify an email. Email verification checks whether an address is deliverable before you send to it; a list is created, then verified, then its results are read.
mailersend_post_identitiesWRITEAdd a sender identity. A sender identity authorises ONE address on a domain to send, which is how an account sends `from` an address it has not verified the whole domain for.
mailersend_post_inboundWRITEAdd an inbound route. An inbound route receives mail sent TO a subdomain you control and forwards it to a webhook or an address. ⚠ A `forwards` ENTRY OF TYPE `webhook` IS PROBED THE SAME WAY. Measured 2026-09-19: a route forwarding to https://example.com/... answered 422 `forwards.0.value: The endpoint returned HTTP 405.`, naming the exact element of the array that failed. The destination must answer POST.
mailersend_post_smsWRITESend an SMS. SMS requires an SMS-enabled MailerSend plan and a phone number on the account.
mailersend_post_sms_inboundsWRITEAdd an SMS inbound route. An SMS inbound route forwards received texts to a URL.
mailersend_post_sms_webhooksWRITECreate an SMS webhook. An SMS webhook delivers SMS events to a URL you control.
mailersend_post_suppressions_blocklistWRITEAdd recipients to the blocklist suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN.
mailersend_post_suppressions_hard_bouncesWRITEAdd recipients to the hard bounces suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN.
mailersend_post_suppressions_spam_complaintsWRITEAdd recipients to the spam complaints suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN.
mailersend_post_suppressions_unsubscribesWRITEAdd recipients to the unsubscribes suppression list. A suppression list blocks delivery to an address. MailerSend keeps four of them -- blocklist, hard bounces, spam complaints, unsubscribes -- and they are per DOMAIN.
mailersend_post_tokenWRITECreate a token. These manage MailerSend API TOKENS -- the same kind of credential this connection itself holds. The connection's own token must carry API tokens = Full access, and a created token's secret is returned ONCE, in the create response. ⚠ THE RESPONSE CARRIES A LIVE CREDENTIAL. `data.accessToken` is a new MailerSend API token, shown once and never again, with whatever permissions `scopes` asked for. Treat the result as a secret. ⚠ AND A TOKEN CREATED WITHOUT AN EXPIRY DIES IN 24 HOURS: MailerSend's own help page says so, and the create response confirms there is nothing to read back -- measured 2026-09-19, a token minted through this route came back with `expires_at: null`. The API exposes no expiry field, so a token that must outlive a day has to be minted in the dashboard.
mailersend_post_usersWRITEAdd an user. Users are the people with access to the MailerSend account, and their roles.
mailersend_post_webhooksWRITECreate a webhook. A webhook delivers email events to a URL you control; it belongs to one domain, which is why listing them REQUIRES `domain_id`. ⚠ MAILERSEND CALLS `url` BEFORE IT SAVES THE WEBHOOK and refuses one that does not answer a POST. Measured 2026-09-19: creating a webhook pointed at https://example.com/... answered 422 with MailerSend's own field error `url: The endpoint returned HTTP 405.` -- example.com exists and serves GET, so this is a live reachability check rather than a format check. Supply an endpoint reachable from the public internet that answers POST, or the webhook is never created.
mailersend_put_domains_by_domain_id_settingsWRITEUpdate domain settings. A sending domain is what authorises MailerSend to send `from` an address; a domain that is not verified cannot send.
mailersend_put_domains_by_domain_id_smtp_users_by_smtp_user_idWRITEUpdate SMTP user. An SMTP user is a per-domain credential for sending over SMTP rather than the API.
mailersend_put_identities_by_identity_idWRITEUpdate a sender identity. A sender identity authorises ONE address on a domain to send, which is how an account sends `from` an address it has not verified the whole domain for.
mailersend_put_identities_email_emailWRITEUpdate a sender identity by Email. A sender identity authorises ONE address on a domain to send, which is how an account sends `from` an address it has not verified the whole domain for.
mailersend_put_inbound_by_inbound_idWRITEUpdate an inbound route. An inbound route receives mail sent TO a subdomain you control and forwards it to a webhook or an address.
mailersend_put_sms_inbounds_by_sms_inbound_idWRITEUpdate an inbound route. An SMS inbound route forwards received texts to a URL.
mailersend_put_sms_numbers_by_sms_number_idWRITEUpdate a single SMS phone number. Phone numbers are purchased in the MailerSend dashboard, not through the API.
mailersend_put_sms_recipients_by_sms_recipient_idWRITEUpdate a single SMS recipient. An SMS recipient is a number MailerSend has seen, with its opt-in state.
mailersend_put_sms_webhooks_by_sms_webhook_idWRITEUpdate a single SMS webhook. An SMS webhook delivers SMS events to a URL you control.
mailersend_put_token_by_token_id_settingsWRITEUpdate a Token. These manage MailerSend API TOKENS -- the same kind of credential this connection itself holds. The connection's own token must carry API tokens = Full access, and a created token's secret is returned ONCE, in the create response.
mailersend_put_users_by_user_idWRITEUpdate User. Users are the people with access to the MailerSend account, and their roles.
mailersend_put_webhooks_by_webhook_idWRITEUpdate a webhook. A webhook delivers email events to a URL you control; it belongs to one domain, which is why listing them REQUIRES `domain_id`.
Often connected alongside
Put MailerSend behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.