Skip to main content

MailSlurp Platform

API Reference

Build with MailSlurp APIs for email, SMS, phone numbers, webhooks, and AI workflows. Browse controllers, inspect request and response payloads, and jump to exact endpoints with deep links.

SDKs
Open in AI

Reference sources

Use these docs and machine-readable specs to integrate faster.

Authentication

Every request must include an API key in the x-api-key header. Sign in to the MailSlurp web app to create an API key (free accounts supported), then apply it below to personalize cURL examples on this page.

No API key applied yet.

EmailController

49 endpoints

#

Endpoints for managing email entities. Send and read email using the email API. You can fetch emails and attachments, reply to emails, and send new emails with this controller. Emails belong to inboxes. Each inbox can contain unlimited emails that are either permanent or temporary depending on your setup. Because emails can be quite large when attachments and content are fetched most responses only include a preview of the email and its most important features, like subject, recipients etc and an ID. Many list results are in a paginated form using an index (zero based) and a page size. To receive email decide on either `waitFor` methods (such as `waitForLatestEmail` on the `WaitForController`) to wait for emails to arrive. Use `getEmails` on `EmailController` or `getInboxEmails` on the `InboxController` to list existing emails. To access the body or attachments of an email you need to use the `getEmail` and `getAttachment` endpoints with specific inbox and email IDs. The body is returned on full email entities and contains the parsed body of the email. The email headers (such as recipients, subject etc.) are stored on the email object. You can access the RAW SMTP message via various `raw` methods. Attachments are treated as separate entities that have an ID and belong to the email. To fetch email attachments first fetch the full email then use a `downloadAttachment` method for each `attachmentID`. Attachments are transferred in a number of ways as either `application/octect-stream` byte arrays or as base64 encoded strings with meta data. You may prefer either depending on the environment you are in but the base64 implementations are typically safer. See the `AttachmentController`, `InboxController`, and `WaitForController` for similar methods.

get
/emailsgetEmailsPaginated

Get all emails in all inboxes in paginated form. Email API list all.

Expand
get
/emails/{emailId}getEmail

Get hydrated email (headers and body)

Expand
get
/emails/{emailId}/attachmentsgetEmailAttachments

List attachment metadata for an email

Expand
get
/emails/{emailId}/attachments/{attachmentId}downloadAttachment

Get email attachment bytes. Returned as `octet-stream` with content type header. If you have trouble with byte responses try the `downloadAttachmentBase64` response endpoints and convert the base 64 encoded content to a file or string.

Expand
get
/emails/{emailId}/attachments/{attachmentId}/base64downloadAttachmentBase64

Get email attachment as base64 encoded string as an alternative to binary responses. Decode the `base64FileContents` as a `utf-8` encoded string or array of bytes depending on the `contentType`.

Expand
get
/emails/{emailId}/attachments/{attachmentId}/metadatagetAttachmentMetaData

Get email attachment metadata. This is the `contentType` and `contentLength` of an attachment. To get the individual attachments use the `downloadAttachment` methods.

Expand
get
/emails/{emailId}/bodydownloadBody

Get email body as string. Returned as `plain/text` with content type header.

Expand
get
/emails/{emailId}/body-bytesdownloadBodyBytes

Get email body in bytes. Returned as `octet-stream` with content type header.

Expand
get
/emails/{emailId}/contentPartgetEmailContentPart

Get email content part by content type

Expand
get
/emails/{emailId}/contentPart/rawgetEmailContentPartContent

Get multipart content part as raw response

Expand
get
/emails/{emailId}/htmlgetEmailHTML

Get hydrated email HTML for browser rendering

Expand
get
/emails/{emailId}/html/jsongetEmailHTMLJson

Get hydrated email HTML wrapped in JSON

Expand
get
/emails/{emailId}/htmlQuerygetEmailHTMLQuery

Query hydrated HTML body and return matching text lines

Expand
get
/emails/{emailId}/rawgetRawEmailContents

Get raw email string. Returns unparsed raw SMTP message with headers and body.

Expand
get
/emails/{emailId}/raw/jsongetRawEmailJson

Get raw email in JSON. Unparsed SMTP message in JSON wrapper format.

Expand
get
/emails/{emailId}/signaturegetEmailSignature

Extract signature from an inbound email

Expand
get
/emails/{emailId}/summarygetEmailSummary

Get email summary (headers/metadata only)

Expand
get
/emails/{emailId}/textLinesgetEmailTextLines

Extract normalized text lines from email body

Expand
get
/emails/{emailId}/urlsgetEmailPreviewURLs

Get email URLs for viewing in browser or downloading

Expand
get
/emails/emails/countgetEmailCount

Get email count

Expand
get
/emails/gravatarForgetGravatarUrlForEmailAddress

Get Gravatar URL for an email address

Expand
get
/emails/latestgetLatestEmail

Get latest email in all inboxes. Most recently received.

Expand
get
/emails/latestIngetLatestEmailInInbox_1

Get latest email in an inbox. Use `WaitForController` to get emails that may not have arrived yet.

Expand
get
/emails/offset-paginatedgetEmailsOffsetPaginated

Get all emails in all inboxes in paginated form. Email API list all.

Expand
get
/emails/organizationgetOrganizationEmailsPaginated

List organization-visible emails

Expand
get
/emails/threadsgetEmailThreads

List email threads in paginated form

Expand
get
/emails/threads/{threadId}getEmailThread

Get email thread metadata by thread ID

Expand
get
/emails/threads/{threadId}/itemsgetEmailThreadItems

Get messages in a specific email thread

Expand
get
/emails/unreadCountgetUnreadEmailCount

Get unread email count

Expand
post
/emailssendEmailSourceOptional

Send email

Expand
post
/emails/{emailId}/check-email-bodycheckEmailBody

Check email body for broken links, images, and spelling issues

Expand
post
/emails/{emailId}/check-email-body-feature-supportcheckEmailBodyFeatureSupport

Check client support for features used in a stored email body

Expand
post
/emails/{emailId}/codesgetEmailCodes

Extract verification codes from an email

Expand
post
/emails/{emailId}/contentMatchgetEmailContentMatch

Run regex against hydrated email body and return matches

Expand
post
/emails/{emailId}/forwardforwardEmail

Forward email to recipients

Expand
post
/emails/{emailId}/imap-flag-operationapplyImapFlagOperation

Set IMAP flags associated with a message. Only supports '\Seen' flag.

Expand
post
/emails/{emailId}/screenshot/base64getEmailScreenshotAsBase64

Take a screenshot of an email in a browser and return base64 encoded string

Expand
post
/emails/{emailId}/screenshot/binarygetEmailScreenshotAsBinary

Take a screenshot of an email in a browser

Expand
post
/emails/{emailId}/validatevalidateEmail

Validate email HTML contents

Expand
post
/emails/can-sendcanSend

Check whether an email send would be accepted

Expand
post
/emails/check-email-client-supportcheckEmailClientSupport

Check email-client support for a provided HTML body

Expand
post
/emails/searchsearchEmails

Get all emails by search criteria. Return in paginated form.

Expand
put
/emails/{emailId}replyToEmail

Reply to an email

Expand
put
/emails/{emailId}/favouritesetEmailFavourited

Set email favourited state

Expand
patch
/emails/{emailId}/readmarkAsRead

Mark an email as read or unread

Expand
patch
/emails/readmarkAllAsRead

Mark all emails as read or unread

Expand
delete
/emailsdeleteAllEmails

Delete all emails in all inboxes.

Expand
delete
/emails/{emailId}deleteEmail

Delete an email

Expand

InboxController

64 endpoints

#

Endpoints for creating and managing inboxes. Also includes endpoints for listing emails within inboxes. Inboxes are a core feature of MailSlurp. Each inbox has a unique ID and emailAddress. If your plan allows custom domains you can create inboxes with custom addresses that end in your domain. By default inboxes are assigned a random email address ending in `@mailslurp.biz`. Use the domainPool options to use a randomly selected domain from a pool of available domains. Whenever you create an inbox MailSlurp will register the address and store any emails sent to the address within your inbox. You can use the `InboxController` endpoints to list the emails in an inbox. To get the contents or attachments of an email use the ID returned from `InboxController` methods to call the `EmailController` endpoints."

get
/inboxesgetInboxes

List Inboxes and email addresses

DeprecatedExpand
get
/inboxes/{inboxId}getInbox

Get Inbox. Returns properties of an inbox.

Expand
get
/inboxes/{inboxId}/delivery-statusgetDeliveryStatusesByInboxId

Get all email delivery statuses for an inbox

DeprecatedExpand
get
/inboxes/{inboxId}/emailsgetEmails

Get emails in an Inbox. This method is not idempotent as it allows retries and waits if you want certain conditions to be met before returning. For simple listing and sorting of known emails use the email controller instead.

Expand
get
/inboxes/{inboxId}/emails/countgetInboxEmailCount

Get email count in inbox

Expand
get
/inboxes/{inboxId}/emails/paginatedgetInboxEmailsPaginated

Get inbox emails paginated

Expand
get
/inboxes/{inboxId}/plus-addressesgetInboxPlusAddresses

Get sub address plus address aliases for an inbox

Expand
get
/inboxes/{inboxId}/plus-addresses/{plusAddressId}getInboxPlusAddress

Get sub address plus address for an inbox

Expand
get
/inboxes/{inboxId}/plus-addresses/{plusAddressId}/emailsgetInboxPlusAddressEmailsForPlusAddressId

Get emails for a given inbox plus address

Expand
get
/inboxes/{inboxId}/plus-addresses/emailsgetInboxPlusAddressEmails

Get emails for a given inbox plus address

Expand
get
/inboxes/{inboxId}/rulesetslistInboxRulesets

List inbox rulesets

Expand
get
/inboxes/{inboxId}/scheduled-jobsgetScheduledJobsByInboxId

Get all scheduled email sending jobs for the inbox

Expand
get
/inboxes/{inboxId}/sentgetInboxSentEmails

Get Inbox Sent Emails

DeprecatedExpand
get
/inboxes/{inboxId}/sent/countgetInboxSentCount

Get sent email count in inbox

Expand
get
/inboxes/{inboxId}/tracking-pixelslistInboxTrackingPixels

List inbox tracking pixels

Expand
get
/inboxes/automationsdoesInboxHaveAutomations

Does inbox have automations

Expand
get
/inboxes/byEmailAddressgetInboxByEmailAddress

Search for an inbox with the provided email address

Expand
get
/inboxes/byNamegetInboxByName

Search for an inbox with the given name

Expand
get
/inboxes/countgetInboxCount

Get total inbox count

Expand
get
/inboxes/existsdoesInboxExist

Does inbox exist

Expand
get
/inboxes/getLatestEmailgetLatestEmailInInbox

Get latest email in an inbox. Use `WaitForController` to get emails that may not have arrived yet.

Expand
get
/inboxes/idsgetInboxIds

Get all inbox IDs

DeprecatedExpand
get
/inboxes/imap-accessgetImapAccess

Get IMAP access usernames and passwords

Expand
get
/inboxes/imap-smtp-accessgetImapSmtpAccess

Get IMAP and SMTP access usernames and passwords

Expand
get
/inboxes/imap-smtp-access/envgetImapSmtpAccessEnv

Get IMAP and SMTP access details in .env format

Expand
get
/inboxes/imap-smtp-access/serversgetImapSmtpAccessServers

Get IMAP and SMTP server hosts

Expand
get
/inboxes/offset-paginatedgetAllInboxesOffsetPaginated

List All Inboxes Offset Paginated

Expand
get
/inboxes/organizationgetOrganizationInboxes

List Organization Inboxes Paginated

DeprecatedExpand
get
/inboxes/outboxesgetOutboxes

List all inboxes with sent emails

Expand
get
/inboxes/paginatedgetAllInboxes

List All Inboxes Paginated

Expand
get
/inboxes/plus-addressesgetAllPlusAddresses

Get all sub address plus address aliases for an inbox

Expand
get
/inboxes/plus-addresses/{plusAddressId}getInboxPlusAddressById

Get sub address plus address by ID

Expand
get
/inboxes/scheduled-jobsgetAllScheduledJobs

Get all scheduled email sending jobs for account

Expand
get
/inboxes/scheduled-jobs/{jobId}getScheduledJob

Get a scheduled email job

Expand
get
/inboxes/smtp-accessgetSmtpAccess

Get SMTP access usernames and passwords

Expand
get
/inboxes/tagsgetInboxTags

Get inbox tags

Expand
get
/inboxes/tags/inboxesgetInboxesByTag

Get inboxes for a tag

Expand
get
/inboxes/tags/paginatedgetInboxTagsPaginated

Get inbox tags paginated

Expand
post
/inboxescreateInbox

Create an inbox email address. An inbox has a real email address and can send and receive emails. Inboxes can be either `SMTP` or `HTTP` inboxes.

Expand
post
/inboxes/{inboxId}sendEmail

Send Email

Expand
post
/inboxes/{inboxId}/confirmsendEmailAndConfirm

Send email and return sent confirmation

Expand
post
/inboxes/{inboxId}/plus-addresses/get-or-creategetOrCreateInboxPlusAddress

Get or create a plus address by full address

Expand
post
/inboxes/{inboxId}/rulesetscreateInboxRuleset

Create an inbox ruleset

Expand
post
/inboxes/{inboxId}/send-test-emailsendTestEmail

Send a test email to inbox

Expand
post
/inboxes/{inboxId}/smtp-envelopesendSmtpEnvelope

Send email using an SMTP mail envelope and message body and return sent confirmation

Expand
post
/inboxes/{inboxId}/with-queuesendEmailWithQueue

Send email with queue

Expand
post
/inboxes/{inboxId}/with-schedulesendWithSchedule

Send email with with delay or schedule

Expand
post
/inboxes/availableisEmailAddressAvailable

Is email address available

Expand
post
/inboxes/get-or-create-plus-addressgetOrCreatePlusAddressByFullAddress

Get or create a plus address by full address without inbox ID

Expand
post
/inboxes/searchsearchInboxes

Search all inboxes and return matching inboxes

Expand
post
/inboxes/withDefaultscreateInboxWithDefaults

Create an inbox with default options. Uses MailSlurp domain pool address and is private.

Expand
post
/inboxes/withOptionscreateInboxWithOptions

Create an inbox with options. Extended options for inbox creation.

Expand
put
/inboxes/{inboxId}/favouritesetInboxFavourited

Set inbox favourited state

Expand
patch
/inboxes/{inboxId}updateInbox

Update Inbox. Change name and description. Email address is not editable.

Expand
patch
/inboxes/imap-accessupdateImapAccess

Update IMAP access usernames and passwords

Expand
patch
/inboxes/smtp-accessupdateSmtpAccess

Update SMTP access usernames and passwords

Expand
delete
/inboxesdeleteAllInboxes

Delete all inboxes

Expand
delete
/inboxes/{inboxId}deleteInbox

Delete inbox

Expand
delete
/inboxes/{inboxId}/deleteAllInboxEmailsdeleteAllInboxEmails

Delete all emails in a given inboxes.

Expand
delete
/inboxes/by-descriptiondeleteAllInboxesByDescription

Delete inboxes by description

Expand
delete
/inboxes/by-namedeleteAllInboxesByName

Delete inboxes by name

Expand
delete
/inboxes/by-tagdeleteAllInboxesByTag

Delete inboxes by tag

Expand
delete
/inboxes/expiredflushExpired

Remove expired inboxes

Expand
delete
/inboxes/scheduled-jobs/{jobId}cancelScheduledJob

Cancel a scheduled email job

Expand

PhoneController

30 endpoints

#

Endpoints for managing phone numbers and addresses

get
/phone/consentgetConsentStatus

Get consent status

Expand
get
/phone/emergency-addressesgetEmergencyAddresses

Get emergency addresses

Expand
get
/phone/emergency-addresses/{addressId}getEmergencyAddress

Get an emergency address

Expand
get
/phone/numbersgetPhoneNumbers

Get phone numbers

Expand
get
/phone/numbers/{phoneNumberId}getPhoneNumber

Get a phone number by ID

Expand
get
/phone/numbers/{phoneNumberId}/message-threadsgetPhoneMessageThreads

Get the latest message preview for a thread

Expand
get
/phone/numbers/{phoneNumberId}/message-threads/{otherNumber}getPhoneMessageThreadItems

Get messages in a phone thread

Expand
get
/phone/numbers/{phoneNumberId}/smsgetSmsByPhoneNumber

List SMS messages for a phone number

Expand
get
/phone/numbers/{phoneNumberId}/sms-sentgetSentSmsByPhoneNumber

List sent TXT messages for a phone number

Expand
get
/phone/numbers/by-namegetPhoneNumberByName

Get a phone number by name

Expand
get
/phone/numbers/by-phone-numbergetPhoneNumberByPhoneNumber

Get a phone number by phone number

Expand
get
/phone/numbers/message-threadsgetAllPhoneMessageThreads

Get the latest messages for all phones

Expand
get
/phone/plansgetPhonePlans

Get phone plans

Expand
get
/phone/plans/availabilitygetPhonePlansAvailability

Get phone plans availability

Expand
get
/phone/releasesgetAllPhoneNumberReleases

Get all phone number releases

Expand
get
/phone/releases/{releaseId}getPhoneNumberRelease

Get phone number release

Expand
get
/phone/releases/{releaseId}/reassignreassignPhoneNumberRelease

Reassign phone number release

Expand
get
/phone/summarygetPhoneSummary

Get phone summary

Expand
post
/phonecreatePhoneNumber

Add phone number to your account. Only works if you have already added a plan and an initial phone number in your account and acknowledged the pricing and terms of service by enabling API phone creation.

Expand
post
/phone/consentsetConsentStatus

Set consent status

Expand
post
/phone/emergency-addressescreateEmergencyAddress

Create an emergency address

Expand
post
/phone/numbers/{phoneNumberId}/smssendSmsFromPhoneNumber

Send TXT message from a phone number

Expand
post
/phone/numbers/{phoneNumberId}/testtestPhoneNumberSendSms

Test sending an SMS to a number

Expand
post
/phone/validatevalidatePhoneNumber

Verify validity of a phone number

Expand
put
/phone/numbers/{phoneNumberId}updatePhoneNumber

Update a phone number

Expand
put
/phone/numbers/{phoneNumberId}/favouritesetPhoneFavourited

Set phone favourited state

Expand
delete
/phone/emergency-addresses/{addressId}deleteEmergencyAddress

Delete an emergency address

Expand
delete
/phone/numbersdeleteAllPhoneNumber

Delete all phone numbers

Expand
delete
/phone/numbers/{phoneNumberId}deletePhoneNumber

Delete a phone number

Expand
delete
/phone/numbers/{phoneNumberId}/message-threads/{otherNumber}deletePhoneMessageThreadItems

Delete messages in a phone thread

Expand

SmsController

16 endpoints

#

Endpoints for managing SMS

get
/smsgetAllSmsMessages

No summary provided for this endpoint.

Expand
get
/sms/{smsId}getSmsMessage

Get SMS content including body. Expects SMS to exist by ID. For SMS that may not have arrived yet use the WaitForController.

Expand
get
/sms/{smsId}/replygetReplyForSmsMessage

Get reply for an SMS message

Expand
get
/sms/countgetSmsCount

Get SMS count

Expand
get
/sms/sentgetSentSmsMessagesPaginated

Get all SMS messages in all phone numbers in paginated form. .

Expand
get
/sms/sent/{sentSmsId}getSentSmsMessage

Get sent SMS content including body. Expects sent SMS to exist by ID.

Expand
get
/sms/sent/countgetSentSmsCount

Get sent SMS count

Expand
get
/sms/unreadCountgetUnreadSmsCount

Get unread SMS count

Expand
post
/sms/{smsId}/codesgetSmsCodes

Extract verification codes from an SMS

Expand
post
/sms/{smsId}/replyreplyToSmsMessage

Send a reply to a received SMS message. Replies are sent from the receiving number.

Expand
post
/sms/sendsendSms

No summary provided for this endpoint.

Expand
put
/sms/{smsId}/favouritesetSmsFavourited

No summary provided for this endpoint.

Expand
delete
/smsdeleteSmsMessages

Delete all SMS messages

Expand
delete
/sms/{smsId}deleteSmsMessage

Delete SMS message.

Expand
delete
/sms/sentdeleteSentSmsMessages

Delete all sent SMS messages

Expand
delete
/sms/sent/{sentSmsId}deleteSentSmsMessage

Delete sent SMS message.

Expand

AIController

21 endpoints

#

AI endpoints for generating structured content, automations, and analyzing emails and SMS.

get
/ai/transformergetTransformers

List transformers

Expand
get
/ai/transformer/{id}getTransformer

Get a transformer

Expand
get
/ai/transformer/mappingsgetTransformerMappings

Get transformer mappings

Expand
get
/ai/transformer/mappings/{id}getTransformerMapping

Get transformer mapping

Expand
get
/ai/transformer/resultsgetTransformerResults

Get transformer results

Expand
get
/ai/transformer/results/{id}getTransformerResult

Get transformer result

Expand
get
/ai/transformer/results/tablegetTransformerResultsTable

Get transformer results table

Expand
post
/ai/structured-content/attachmentgenerateStructuredContentFromAttachment

Generate structured content for an attachment

Expand
post
/ai/structured-content/emailgenerateStructuredContentFromEmail

Generate structured content for an email

Expand
post
/ai/structured-content/smsgenerateStructuredContentFromSms

Generate structured content for a TXT message

Expand
post
/ai/structured-content/validatevalidateStructuredOutputSchema

Validate structured content schema

Expand
post
/ai/transformercreateTransformer

Create a transformer for reuse in automations

Expand
post
/ai/transformer/invokeinvokeTransformer

Invoke a transformer

Expand
post
/ai/transformer/mappingscreateTransformerMappings

Create transformer mapping

Expand
post
/ai/transformer/mappings/{id}/matchtestTransformerMappingMatch

Test transformer mapping match result

Expand
post
/ai/transformer/results/exportexportTransformerResults

Export transformer results

Expand
post
/ai/transformer/results/export/{id}getExportTransformerResultsJob

Get export transformer results job

Expand
delete
/ai/transformerdeleteTransformers

Delete all transformers

Expand
delete
/ai/transformer/{id}deleteTransformer

Delete a transformer

Expand
delete
/ai/transformer/mappingsdeleteAllTransformerMappings

Delete all transformer mapping

Expand
delete
/ai/transformer/mappings/{id}deleteTransformerMapping

Delete transformer mapping

Expand

AliasController

11 endpoints

#

"Endpoints for creating, listing, and deleting email aliases. Aliases must be validated. Email aliases can be used to hide real email addresses behind an alias. If you wish to receive emails with an alias attach an inbox to the alias. Whenever the inbox receives an email the email will be forwarded to the alias email address. See related `threads`. Threads can be used with aliases to enable replying to a proxied email. This means that when threads are enabled an email alias will create a new email thread for the message and set the replyTo and from headers on the subsequently proxied email to point to the threads unique email address. By replying to this address the thread will forward it to the original emails sender or replyTo and use the same subject and bcc and cc contacts as the email you are replying to. For more advanced email operations using aliases use the inboxId for the given alias.

get
/aliasesgetAliases

Get all email aliases you have created

Expand
get
/aliases/{aliasId}getAlias

Get an email alias

Expand
get
/aliases/{aliasId}/emailsgetAliasEmails

Get emails for an alias

Expand
get
/aliases/{aliasId}/threadsgetAliasThreads

Get threads created for an alias

Expand
get
/aliases/threadsgetThreadsPaginated

Get all threads

Expand
get
/aliases/threads/{threadId}getThread

Get a thread

Expand
post
/aliasescreateAlias

Create an email alias. Must be verified by clicking link inside verification email that will be sent to the address. Once verified the alias will be active.

Expand
post
/aliases/{aliasId}/emailssendAliasEmail

Send an email from an alias inbox

Expand
put
/aliases/{aliasId}updateAlias

Update an email alias

Expand
put
/aliases/{aliasId}/emails/{emailId}replyToAliasEmail

Reply to an email

Expand
delete
/aliases/{aliasId}deleteAlias

Delete an email alias

Expand

api-audit-log-controller

3 endpoints

#
get
/audit-logsgetAuditLogs

No summary provided for this endpoint.

Expand
get
/audit-logs/{eventId}getAuditLogByEventId

No summary provided for this endpoint.

Expand
post
/audit-logs/searchsearchAuditLogs

No summary provided for this endpoint.

Expand

AttachmentController

11 endpoints

#

Endpoints for uploading attachments. Attachments can be uploaded in a number of ways: as base64 encoded strings, as byte array octet streams, and as multipart form requests. Each upload method returns an array whose first element is the ID of the attachment. Use this Id to send the attachment with emails. See the EmailController `download` endpoints for downloading attachments. Attachment downloads are based on the email ID they belong to and can be downloaded using the email controller.

get
/attachmentsgetAttachments

Get email attachments

Expand
get
/attachments/{attachmentId}getAttachment

Get an attachment entity

Expand
get
/attachments/{attachmentId}/base64downloadAttachmentAsBase64Encoded

Get email attachment as base64 encoded string as alternative to binary responses. To read the content decode the Base64 encoded contents.

Expand
get
/attachments/{attachmentId}/bytesdownloadAttachmentAsBytes

Download attachments. Get email attachment bytes. If you have trouble with byte responses try the `downloadAttachmentBase64` response endpoints.

Expand
get
/attachments/{attachmentId}/metadatagetAttachmentInfo

Get email attachment metadata information

Expand
post
/attachmentsuploadAttachment

Upload an attachment for sending using base64 file encoding. Returns an array whose first element is the ID of the uploaded attachment.

Expand
post
/attachments/{attachmentId}/textextractAttachmentText

Extract text from an attachment

Expand
post
/attachments/bytesuploadAttachmentBytes

Upload an attachment for sending using file byte stream input octet stream. Returns an array whose first element is the ID of the uploaded attachment.

Expand
post
/attachments/multipartuploadMultipartForm

Upload an attachment for sending using a Multipart Form request. Returns an array whose first element is the ID of the uploaded attachment.

Expand
delete
/attachmentsdeleteAllAttachments

Delete all attachments

Expand
delete
/attachments/{attachmentId}deleteAttachment

Delete an attachment

Expand

BounceController

12 endpoints

#

Endpoints for access to bounced emails and bounced recipients

get
/bounce/account-blockgetAccountBounceBlockStatus

Can account send email

Expand
get
/bounce/complaintsgetComplaints

Get paginated list of complaints.

Expand
get
/bounce/complaints/{id}getComplaint

Get complaint

Expand
get
/bounce/emailsgetBouncedEmails

Get paginated list of bounced emails.

Expand
get
/bounce/emails/{id}getBouncedEmail

Get a bounced email.

Expand
get
/bounce/list-unsubscribe-recipientsgetListUnsubscribeRecipients

Get paginated list of unsubscribed recipients.

Expand
get
/bounce/recipientsgetBouncedRecipients

Get paginated list of bounced recipients.

Expand
get
/bounce/recipients/{id}getBouncedRecipient

Get a bounced email.

Expand
get
/bounce/reputation-itemsgetReputationItems

Get paginated list of reputation items.

Expand
get
/bounce/tenant-findingsgetTenantReputationFindings

Get SES tenant reputation findings

Expand
get
/bounce/tenant-statusgetTenantReputationStatusSummary

Get SES tenant status summary

Expand
post
/bounce/filter-recipientsfilterBouncedRecipient

Filter a list of email recipients and remove those who have bounced

Expand

BulkActionsController

3 endpoints

#

Other endpoints including advanced receive options

post
/bulk/inboxesbulkCreateInboxes

Bulk create Inboxes (email addresses)

Expand
post
/bulk/sendbulkSendEmails

Bulk Send Emails

Expand
delete
/bulk/inboxesbulkDeleteInboxes

Bulk Delete Inboxes

Expand

CampaignProbeController

10 endpoints

#

Create recipient probes for campaign QA, ingest sends asynchronously via SES monitor, and inspect health trends over time.

get
/campaign-probe/probesgetCampaignProbes

List campaign probes

Expand
get
/campaign-probe/probes/{probeId}getCampaignProbe

Get campaign probe

Expand
get
/campaign-probe/probes/{probeId}/insightsgetCampaignProbeInsights

Get campaign probe insights

Expand
get
/campaign-probe/probes/{probeId}/runsgetCampaignProbeRuns

List campaign probe runs

Expand
get
/campaign-probe/probes/{probeId}/seriesgetCampaignProbeSeries

Get campaign probe trend series

Expand
post
/campaign-probe/probescreateCampaignProbe

Create campaign probe

Expand
post
/campaign-probe/probes/{probeId}/run-nowrunCampaignProbeNow

Run campaign probe now

Expand
post
/campaign-probe/probes/run-duerunDueCampaignProbes

Run due campaign probes for user

Expand
put
/campaign-probe/probes/{probeId}updateCampaignProbe

Update campaign probe

Expand
delete
/campaign-probe/probes/{probeId}deleteCampaignProbe

Delete campaign probe

Expand

CommonActionsController

6 endpoints

#

A collection of common actions. Groups together several controllers behind a facade with convenience methods. Not recommended. It is better in most cases to call the individual controllers directly as they are where many new features are added. The controllers are better documented too. This controller is maintained for backwards compatibility.

post
/createInboxcreateRandomInbox

Create new random inbox

Expand
post
/newEmailAddresscreateNewEmailAddress

Create new random inbox

Expand
post
/sendEmailsendEmailSimple

Send an email

Expand
post
/sendEmailQuerysendEmailQuery

Send an email using query parameters

Expand
delete
/deleteEmailAddressdeleteEmailAddress

Delete inbox email address by inbox id

Expand
delete
/emptyInboxemptyInbox

Delete all emails in an inbox

Expand

ConnectorController

31 endpoints

#

Endpoints for managing inbox connectors that can sync external emails in MailSlurp inboxes

get
/connectorsgetConnectors

Get inbox connectors

Expand
get
/connectors/{id}getConnector

Get an inbox connector

Expand
get
/connectors/{id}/eventsgetConnectorEvents

Get an inbox connector events

Expand
get
/connectors/{id}/imapgetConnectorImapConnection

Get an inbox connector IMAP connection

Expand
get
/connectors/{id}/smtpgetConnectorSmtpConnection

Get an inbox connector SMTP connection

Expand
get
/connectors/{id}/sync-settingsgetConnectorSyncSettings

Get an inbox connector sync settings

Expand
get
/connectors/by-email-addressgetConnectorByEmailAddress

Get connector by email address

Expand
get
/connectors/by-inbox-idgetConnectorByInboxId

Get connector by inbox ID

Expand
get
/connectors/by-namegetConnectorByName

Get connector by name

Expand
get
/connectors/eventsgetAllConnectorEvents

Get all inbox connector events

Expand
get
/connectors/events/{id}getConnectorEvent

Get an inbox connector event

Expand
get
/connectors/provider-settingsgetConnectorProviderSettings

Get SMTP and IMAP connection settings for common mail providers

Expand
post
/connectorscreateConnector

Create an inbox connector

Expand
post
/connectors/{id}/imapcreateConnectorImapConnection

Create an inbox connector IMAP connection

Expand
post
/connectors/{id}/imap/testtestConnectorImapConnection

Test an inbox connector IMAP connection

Expand
post
/connectors/{id}/sendsendEmailFromConnector

Send from an inbox connector

Expand
post
/connectors/{id}/smtpcreateConnectorSmtpConnection

Create an inbox connector SMTP connection

Expand
post
/connectors/{id}/smtp/testtestConnectorSmtpConnection

Test an inbox connector SMTP connection

Expand
post
/connectors/{id}/syncsyncConnector

Sync an inbox connector

Expand
post
/connectors/{id}/sync-settingscreateConnectorSyncSettings

Create an inbox connector sync settings

Expand
post
/connectors/connections/imap/testtestConnectorImapConnectionOptions

Test an inbox connector IMAP connection options

Expand
post
/connectors/connections/smtp/testtestConnectorSmtpConnectionOptions

Test an inbox connector SMTP connection options

Expand
post
/connectors/withOptionscreateConnectorWithOptions

Create an inbox connector with options

Expand
put
/connectors/{id}updateConnector

Update an inbox connector

Expand
patch
/connectors/{id}/imapupdateConnectorImapConnection

Update an inbox connector IMAP connection

Expand
patch
/connectors/{id}/smtpupdateConnectorSmtpConnection

Update an inbox connector SMTP connection

Expand
delete
/connectorsdeleteAllConnector

Delete all inbox connectors

Expand
delete
/connectors/{id}deleteConnector

Delete an inbox connector

Expand
delete
/connectors/{id}/imapdeleteConnectorImapConnection

Delete an inbox connector IMAP connection

Expand
delete
/connectors/{id}/smtpdeleteConnectorSmtpConnection

Delete an inbox connector SMTP connection

Expand
delete
/connectors/{id}/sync-settingsdeleteConnectorSyncSettings

Create an inbox connector sync settings

Expand

ConsentController

4 endpoints

#

Endpoints for managing double opt-in consent for sending promotional material to external email accounts.

get
/consent/opt-ingetOptInIdentities

No summary provided for this endpoint.

Expand
get
/consent/opt-in/sending-consentcheckSendingConsentForEmailAddress

No summary provided for this endpoint.

Expand
post
/consent/opt-in/sendsendOptInConsentForEmailAddress

Send a verification code to a user once they have explicitly submitted their email address

Expand
delete
/consent/opt-inrevokeOptInConsentForEmailAddress

No summary provided for this endpoint.

Expand

ContactController

6 endpoints

#

Endpoints for managing contacts. Contacts can be used for sending emails to individuals and groups.

get
/contactsgetContacts

Get all contacts

Expand
get
/contacts/{contactId}getContact

Get contact

Expand
get
/contacts/{contactId}/downloadgetContactVCard

Get contact vCard vcf file

DeprecatedExpand
get
/contacts/paginatedgetAllContacts

Get all contacts

Expand
post
/contactscreateContact

Create a contact

Expand
delete
/contacts/{contactId}deleteContact

Delete contact

Expand

DeliverabilityTestController

22 endpoints

#

Create and manage deliverability/load tests for inboxes or phone numbers. Tests evaluate expected inbound email/SMS counts over time and support polling for progress and paged entity-level results.

get
/test/deliverabilitygetDeliverabilityTests

List deliverability/load tests

Expand
get
/test/deliverability/{testId}getDeliverabilityTest

Get deliverability/load test

Expand
get
/test/deliverability/{testId}/report/exportexportDeliverabilityTestReport

Export deliverability/load test report as PDF

Expand
get
/test/deliverability/{testId}/resultsgetDeliverabilityTestResults

Get deliverability/load test entity results

Expand
get
/test/deliverability/{testId}/results/exportexportDeliverabilityTestResults

Export deliverability/load test entity results as CSV

Expand
get
/test/deliverability/{testId}/simulation-jobs/{jobId}getDeliverabilitySimulationJob

Get deliverability simulation job

Expand
get
/test/deliverability/{testId}/simulation-jobs/{jobId}/eventsgetDeliverabilitySimulationJobEvents

Get deliverability simulation job events

Expand
get
/test/deliverability/{testId}/simulation-jobs/latestgetLatestDeliverabilitySimulationJob

Get latest deliverability simulation job

Expand
get
/test/deliverability/{testId}/statuspollDeliverabilityTestStatus

Poll deliverability/load test status

Expand
get
/test/deliverability/analytics/hotspotsgetDeliverabilityFailureHotspots

Get deliverability failure hotspots

Expand
get
/test/deliverability/analytics/seriesgetDeliverabilityAnalyticsSeries

Get deliverability analytics time series

Expand
post
/test/deliverabilitycreateDeliverabilityTest

Create deliverability/load test

Expand
post
/test/deliverability/{testId}/duplicateduplicateDeliverabilityTest

Duplicate deliverability/load test

Expand
post
/test/deliverability/{testId}/pausepauseDeliverabilityTest

Pause deliverability/load test

Expand
post
/test/deliverability/{testId}/simulation-jobscreateDeliverabilitySimulationJob

Create deliverability simulation job

Expand
post
/test/deliverability/{testId}/simulation-jobs/{jobId}/cancelcancelDeliverabilitySimulationJob

Cancel deliverability simulation job

Expand
post
/test/deliverability/{testId}/simulation-jobs/{jobId}/pausepauseDeliverabilitySimulationJob

Pause deliverability simulation job

Expand
post
/test/deliverability/{testId}/simulation-jobs/{jobId}/resumeresumeDeliverabilitySimulationJob

Resume deliverability simulation job

Expand
post
/test/deliverability/{testId}/startstartDeliverabilityTest

Start or resume deliverability/load test

Expand
post
/test/deliverability/{testId}/stopstopDeliverabilityTest

Stop deliverability/load test

Expand
patch
/test/deliverability/{testId}updateDeliverabilityTest

Update deliverability/load test

Expand
delete
/test/deliverability/{testId}deleteDeliverabilityTest

Delete deliverability/load test

Expand

DevicePreviewsController

15 endpoints

#

Create and manage async device preview render jobs for received emails using ESP service.

get
/emails/{emailId}/device-previewsgetDevicePreviewRuns

List previous device preview runs for an email

Expand
get
/emails/{emailId}/device-previews/offset-paginatedgetDevicePreviewRunsOffsetPaginated

List previous device preview runs for an email in paginated form

Expand
get
/emails/device-previewsgetDevicePreviewRunsForAccount

List previous device preview runs for account

Expand
get
/emails/device-previews/{runId}getDevicePreviewRun

Get device preview run status

Expand
get
/emails/device-previews/{runId}/providers/{provider}getDevicePreviewRunProviderProgress

Get provider-level progress for a device preview run

Expand
get
/emails/device-previews/{runId}/resultsgetDevicePreviewRunResults

Get device preview run results

Expand
get
/emails/device-previews/{runId}/screenshots/{screenshotId}/imagegetDevicePreviewRunScreenshot

Get a seeded device preview screenshot image

Expand
get
/emails/device-previews/feedbackgetDevicePreviewFeedbackItems

List device preview feedback

Expand
get
/emails/device-previews/feedback/{feedbackId}getDevicePreviewFeedback

Get a single device preview feedback item

Expand
post
/emails/{emailId}/device-previewscreateDevicePreviewRun

Create a new device preview run for an email

Expand
post
/emails/device-previews/{runId}/cancelcancelDevicePreviewRun

Cancel a running device preview run

Expand
post
/emails/device-previews/feedbackcreateDevicePreviewFeedback

Create device preview feedback

Expand
put
/emails/{emailId}/device-previews/latestensureDevicePreviewRun

Return active run for email or create one when none exists

Expand
put
/emails/device-previews/feedback/{feedbackId}updateDevicePreviewFeedback

Update device preview feedback

Expand
delete
/emails/device-previews/{runId}deleteDevicePreviewRun

Delete local device preview run data

Expand

DomainController

11 endpoints

#

Endpoints for managing custom domains. Once you create a custom domain you must add the returned verification records to your hosting provider. See support or guides for more information.

get
/domainsgetDomains

Get domains

Expand
get
/domains/{id}getDomain

Get a domain

Expand
get
/domains/{id}/wildcardgetDomainWildcardCatchAllInbox

Get catch all wild card inbox for domain

Expand
get
/domains/available-domain-regionsgetAvailableDomainRegions

Get all usable domains with account region status

Expand
get
/domains/available-domainsgetAvailableDomains

Get all usable domains

Expand
get
/domains/issuesgetDomainIssues

Get domain issues

Expand
get
/domains/mailslurp-domainsgetMailSlurpDomains

Get MailSlurp domains

Expand
post
/domainscreateDomain

Create Domain

Expand
post
/domains/{id}/wildcardaddDomainWildcardCatchAll

Add catch all wild card inbox to domain

Expand
put
/domains/{id}updateDomain

Update a domain

Expand
delete
/domains/{id}deleteDomain

Delete a domain

Expand

DomainMonitorController

13 endpoints

#

Continuously monitor domain deliverability posture with direct run-now, scheduled execution, insights, and trend analytics.

get
/domain-monitor/monitorsgetDomainMonitors

List domain monitors

Expand
get
/domain-monitor/monitors/{monitorId}getDomainMonitor

Get domain monitor

Expand
get
/domain-monitor/monitors/{monitorId}/alert-sinksgetDomainMonitorAlertSinks

List alert sinks for monitor

Expand
get
/domain-monitor/monitors/{monitorId}/insightsgetDomainMonitorInsights

Get monitor insights

Expand
get
/domain-monitor/monitors/{monitorId}/runsgetDomainMonitorRuns

List monitor runs

Expand
get
/domain-monitor/monitors/{monitorId}/seriesgetDomainMonitorSeries

Get monitor trend series

Expand
post
/domain-monitor/monitorscreateDomainMonitor

Create domain monitor

Expand
post
/domain-monitor/monitors/{monitorId}/alert-sinkscreateDomainMonitorAlertSink

Create alert sink for monitor

Expand
post
/domain-monitor/monitors/{monitorId}/run-nowrunDomainMonitorNow

Run monitor now

Expand
post
/domain-monitor/monitors/run-duerunDueDomainMonitors

Run due monitors for user

Expand
put
/domain-monitor/monitors/{monitorId}updateDomainMonitor

Update domain monitor

Expand
delete
/domain-monitor/monitors/{monitorId}deleteDomainMonitor

Delete domain monitor

Expand
delete
/domain-monitor/monitors/{monitorId}/alert-sinks/{sinkId}deleteDomainMonitorAlertSink

Delete monitor alert sink

Expand

EmailVerificationController

4 endpoints

#
get
/email-verification/validation-requestsgetValidationRequests

Validate a list of email addresses. Per unit billing. See your plan for pricing.

Expand
post
/email-verification/email-address-listvalidateEmailAddressList

Validate a list of email addresses. Per unit billing. See your plan for pricing.

Expand
delete
/email-verificationdeleteAllValidationRequests

Delete all validation requests

Expand
delete
/email-verification/{id}deleteValidationRequest

Delete a validation record

Expand

ExpiredController

4 endpoints

#

View and manage expired inbox records. If an inbox has an expiration date when it is created it will expire at that time and an ExpiredInboxRecord will be created for it listing the email address and inbox ID. You can still view emails belonging to the inbox by using the inbox ID but the inbox can no longer send or receive emails once expired.

get
/expiredgetExpiredInboxes

List records of expired inboxes

Expand
get
/expired/{expiredId}getExpiredInboxRecord

Get an expired inbox record

Expand
get
/expired/defaultsgetExpirationDefaults

Get default expiration settings

Expand
get
/expired/inbox/{inboxId}getExpiredInboxByInboxId

Get expired inbox record for a previously existing inbox

Expand

ExportController

2 endpoints

#

Endpoints for exporting user data to CSV, XML and other formats.

get
/exportexportEntities

Export inboxes link callable via browser

Expand

FormController

1 endpoint

#

Form controller for submitting email-able forms

post
/formssubmitForm

Submit a form to be parsed and sent as an email to an address determined by the form fields

Expand

GroupController

9 endpoints

#

Endpoints for managing groups. Groups can be used for sending emails to individuals and groups.

get
/groupsgetGroups

Get all groups

Expand
get
/groups/{groupId}getGroup

Get group

Expand
get
/groups/{groupId}/contactsgetGroupWithContacts

Get group and contacts belonging to it

Expand
get
/groups/{groupId}/contacts-paginatedgetGroupWithContactsPaginated

Get group and paginated contacts belonging to it

Expand
get
/groups/paginatedgetAllGroups

Get all Contact Groups in paginated format

Expand
post
/groupscreateGroup

Create a group

Expand
put
/groups/{groupId}/contactsaddContactsToGroup

Add contacts to a group

Expand
delete
/groups/{groupId}deleteGroup

Delete group

Expand
delete
/groups/{groupId}/contactsremoveContactsFromGroup

Remove contacts from a group

Expand

GuestPortalController

8 endpoints

#

"Endpoints for managing guest portals and customer access to shareable email accounts. Use portals to grant your customers access to unique email accounts with a separate login and viewing endpoint.

get
/guest-portalgetGuestPortals

Get guest portals

Expand
get
/guest-portal/{portalId}getGuestPortal

Get a client email portal

Expand
get
/guest-portal/{portalId}/usergetGuestPortalUsers

Get all guest users for portal

Expand
get
/guest-portal/{portalId}/user/{guestId}getGuestPortalUser

Get guest user for portal

Expand
get
/guest-portal/usergetAllGuestPortalUsers

Get all guest users for portal

Expand
get
/guest-portal/user/{guestId}getGuestPortalUserById

Get guest user

Expand
post
/guest-portalcreateGuestPortal

Create a portal page for your customers or clients to log into email accounts and view emails.

Expand
post
/guest-portal/{portalId}/usercreateGuestPortalUser

Create a portal guest user

Expand

ImapController

7 endpoints

#

Endpoints for performing IMAP like commands on inboxes

post
/imap/server/fetchimapServerFetch

Fetch message in an inbox

Expand
post
/imap/server/getimapServerGet

Get a message by email ID

Expand
post
/imap/server/listimapServerList

List messages in an inbox

Expand
post
/imap/server/mailboximapServerMailbox

Create a new mailbox if possible

Expand
post
/imap/server/searchimapServerSearch

Search messages in an inbox

Expand
post
/imap/server/statusimapServerStatus

Get status for mailbox

Expand
post
/imap/server/update-flagsimapServerUpdateFlags

Update message flags

Expand

InboxForwarderController

13 endpoints

#

Endpoints for creating and managing inbox forwarders. Automatically forward emails received by inboxes using rules.

get
/forwardersgetInboxForwarders

List inbox forwarders

Expand
get
/forwarders/{id}getInboxForwarder

Get an inbox forwarder

Expand
get
/forwarders/{id}/eventsgetInboxForwarderEvents

Get an inbox forwarder event list

Expand
get
/forwarders/{id}/events/{eventId}getInboxForwarderEvent

Get an inbox forwarder event

Expand
get
/forwarders/eventsgetAllInboxForwarderEvents

Get all inbox forwarder events

Expand
get
/forwarders/events/{eventId}getForwarderEvent

Get a forwarder event

Expand
post
/forwarderscreateNewInboxForwarder

Create an inbox forwarder

Expand
post
/forwarders/{id}/testtestInboxForwarder

Test an inbox forwarder

Expand
put
/forwarderstestInboxForwardersForInbox

Test inbox forwarders for inbox

Expand
put
/forwarders/{id}updateInboxForwarder

Update an inbox forwarder

Expand
patch
/forwarderstestNewInboxForwarder

Test new inbox forwarder

Expand
delete
/forwardersdeleteInboxForwarders

Delete inbox forwarders

Expand
delete
/forwarders/{id}deleteInboxForwarder

Delete an inbox forwarder

Expand

InboxReplierController

8 endpoints

#

Endpoints for creating and managing inbox repliers. Repliers can automatically reply to emails received by inboxes using rules.

get
/repliersgetInboxRepliers

List inbox repliers

Expand
get
/repliers/{id}getInboxReplier

Get an inbox replier

Expand
get
/repliers/{id}/eventsgetInboxReplierEvents

Get an inbox replier event list

Expand
get
/repliers/eventsgetAllInboxReplierEvents

Get inbox replier event list

Expand
post
/replierscreateNewInboxReplier

Create an inbox replier

Expand
put
/repliers/{id}updateInboxReplier

Update an inbox replier

Expand
delete
/repliersdeleteInboxRepliers

Delete inbox repliers

Expand
delete
/repliers/{id}deleteInboxReplier

Delete an inbox replier

Expand

MailServerController

5 endpoints

#
post
/mail-server/describe/dns-lookupgetDnsLookup

Lookup DNS records for a domain

Expand
post
/mail-server/describe/dns-lookupsgetDnsLookups

Lookup DNS records for multiple domains

Expand
post
/mail-server/describe/domaindescribeMailServerDomain

Get DNS Mail Server records for a domain

Expand
post
/mail-server/describe/ip-addressgetIpAddress

Get IP address for a domain

Expand
post
/mail-server/verify/email-addressverifyEmailAddress

Deprecated. Use the EmailVerificationController methods for more accurate and reliable functionality. Verify the existence of an email address at a given mail server.

DeprecatedExpand

MFAController

6 endpoints

#

Multi-factor authentication (MFA) endpoints for MailSlurp. For controlling virtual TOTP devices..

get
/mfa/totp/device/{id}getTotpDevice

Get a TOTP device by ID

Expand
get
/mfa/totp/device/{id}/codegetTotpDeviceCode

Get a TOTP device code by device ID

Expand
get
/mfa/totp/device/bygetTotpDeviceBy

Get a TOTP device by username, issuer, or name. Returns empty if not found.

Expand
post
/mfa/totp/device/base32SecretKeycreateTotpDeviceForBase32SecretKey

Create a TOTP device from an base32 secret key

Expand
post
/mfa/totp/device/customcreateTotpDeviceForCustom

Create a TOTP device from custom options

Expand
post
/mfa/totp/device/otpAuthUrlcreateTotpDeviceForOtpAuthUrl

Create a TOTP device from an OTP Auth URL

Expand

MissedEmailController

5 endpoints

#

Endpoints for managing MissedEmails. Missed emails are saved whenever your account cannot persist a received email because your plan had exceeded a given usage at the time. Missed emails can be restored with the assistance of the support team.

get
/missed-emailsgetAllMissedEmails

Get all MissedEmails in paginated format

Expand
get
/missed-emails/{missedEmailId}getMissedEmail

Get MissedEmail

Expand
get
/missed-emails/unknowngetAllUnknownMissedEmails

Get all unknown missed emails in paginated format

Expand
get
/missed-emails/waitForNthMissedEmailwaitForNthMissedEmail

Wait for Nth missed email

Expand
post
/missed-emails/restorerestoreMissedEmails

Restore missed emails

Expand

MissedSmsController

3 endpoints

#

Endpoints for managing missed SMS. Missed SMS records are created when inbound SMS cannot be persisted after receipt.

get
/missed-smsgetAllMissedSmsMessages

Get all missed SMS messages in paginated format

Expand
get
/missed-sms/{missedSmsId}getMissedSmsMessage

Get missed SMS content

Expand
get
/missed-sms/countgetMissedSmsCount

Get missed SMS count

Expand

RulesetController

10 endpoints

#

Endpoints for creating and managing inbox rulesets. Inbox rulesets are sets of rules that can be automatically applied to inbound and outbound emails for an inbox. Rulesets can have a scope, action, and target. The scope is receiving or sending emails. The action is to block, allow, or forward an email. The target is pattern or email address depending on the action. The handler can be used to handle rules silently or trigger an exception when they occur. See inbox controller for similar methods.

get
/rulesetsgetRulesets

List rulesets block and allow lists

Expand
get
/rulesets/{id}getRuleset

Get a ruleset

Expand
post
/rulesetscreateNewRuleset

Create a ruleset

Expand
post
/rulesets/{id}/testtestRuleset

Test a ruleset

Expand
post
/rulesets/test-receivingtestRulesetReceiving

Test receiving with rulesets

Expand
post
/rulesets/test-sendingtestRulesetSending

Test sending with rulesets

Expand
put
/rulesetstestInboxRulesetsForInbox

Test inbox rulesets for inbox

Expand
patch
/rulesetstestNewRuleset

Test new ruleset

Expand
delete
/rulesetsdeleteRulesets

Delete rulesets

Expand
delete
/rulesets/{id}deleteRuleset

Delete a ruleset

Expand

SentEmailsController

16 endpoints

#

Endpoints for viewing sent email receipts. These can be used to verify that an email has been sent or for historical records. Email content and attachments are stored. For legacy reasons the default send endpoint does not return a sent email. Use the `sendEmailAndConfirm` methods to receive a sent email receipt after sending.

get
/sentgetSentEmails

Get all sent emails in paginated form

Expand
get
/sent/{emailId}/rawgetRawSentEmailContents

Get raw sent email string. Returns unparsed raw SMTP message with headers and body.

Expand
get
/sent/{emailId}/raw/jsongetRawSentEmailJson

Get raw sent email in JSON. Unparsed SMTP message in JSON wrapper format.

Expand
get
/sent/{id}getSentEmail

Get sent email receipt

Expand
get
/sent/{id}/htmlgetSentEmailHTMLContent

Get sent email HTML content

Expand
get
/sent/{id}/tracking-pixelsgetSentEmailTrackingPixels

Get all tracking pixels for a sent email in paginated form

Expand
get
/sent/{id}/urlsgetSentEmailPreviewURLs

Get sent email URL for viewing in browser or downloading

Expand
get
/sent/{sentId}/delivery-statusgetSentDeliveryStatusesBySentId

Get all sent email delivery statuses

Expand
get
/sent/delivery-statusgetSentDeliveryStatuses

Get all sent email delivery statuses

Expand
get
/sent/delivery-status/{deliveryId}getSentDeliveryStatus

Get a sent email delivery status

Expand
get
/sent/delivery-status/wait-forwaitForDeliveryStatuses

Wait for delivery statuses

Expand
get
/sent/organizationgetSentOrganizationEmails

Get all sent organization emails in paginated form

Expand
get
/sent/queue-resultsgetSentEmailsWithQueueResults

Get results of email sent with queues in paginated form

Expand
get
/sent/tracking-pixelsgetAllSentTrackingPixels

Get all sent email tracking pixels in paginated form

Expand
delete
/sentdeleteAllSentEmails

Delete all sent email receipts

Expand
delete
/sent/{id}deleteSentEmail

Delete sent email receipt

Expand

TemplateController

8 endpoints

#

Endpoints for managing Templates. Templates can be used when sending emails and support moustache syntax template variables. Variables can be passed with send email options or implicitly available if Contact Groups are used.

get
/templatesgetTemplates

List templates

Expand
get
/templates/{templateId}getTemplate

Get template

Expand
get
/templates/{templateId}/preview/htmlgetTemplatePreviewHtml

Get template preview HTML

Expand
get
/templates/{templateId}/preview/jsongetTemplatePreviewJson

Get template preview Json

Expand
get
/templates/paginatedgetAllTemplates

List templates

Expand
post
/templatescreateTemplate

Create a Template

Expand
put
/templates/{templateId}updateTemplate

Update template

Expand
delete
/templates/{templateId}deleteTemplate

Delete email template

Expand

ToolsController

16 endpoints

#

Endpoints for miscellaneous tools.

get
/tools/fake-emailgetFakeEmailById

Get a fake email by its ID

Expand
get
/tools/fake-email/byEmailAddressgetFakeEmailByEmailAddress

No summary provided for this endpoint.

Expand
get
/tools/fake-email/htmlgetFakeEmailRaw

Get raw fake email content

Expand
get
/tools/fake-emailsgetFakeEmailsForAddress

Get fake emails for an address

Expand
post
/tools/check-email-features-client-supportcheckEmailFeaturesClientSupport

Check email client support for email HTML and CSS features

Expand
post
/tools/fake-emailcreateNewFakeEmailAddress

Create a new email address using the fake email domains

Expand
post
/tools/generate-bimi-recordgenerateBimiRecord

Create a BIMI record policy

Expand
post
/tools/generate-dmarc-recordgenerateDmarcRecord

Create a DMARC record policy

Expand
post
/tools/generate-mta-sts-recordgenerateMtaStsRecord

Create a TLS reporting record policy

Expand
post
/tools/generate-tls-reporting-recordgenerateTlsReportingRecord

Create a TLS reporting record policy

Expand
post
/tools/lookup-bimi-domainlookupBimiDomain

Lookup a BIMI record policy

Expand
post
/tools/lookup-dmarc-domainlookupDmarcDomain

Lookup a DMARC record policy

Expand
post
/tools/lookup-mta-sts-domainlookupMtaStsDomain

Lookup a MTA-STS domain policy

Expand
post
/tools/lookup-mx-recordslookupMxRecord

Lookup a MX records for a domain

Expand
post
/tools/lookup-tls-reporting-domainlookupTlsReportingDomain

Lookup a TLS reporting domain policy

Expand
delete
/tools/fake-emaildeleteNewFakeEmailAddress

Delete a fake email address using the fake email domains

Expand

TrackingController

3 endpoints

#

Endpoints for managing tracking entities such as email open and read tracking pixels.

get
/tracking/pixelsgetAllTrackingPixels

Get tracking pixels

Expand
get
/tracking/pixels/{id}getTrackingPixel

Get pixel

Expand
post
/tracking/pixelscreateTrackingPixel

Create tracking pixel

Expand

UserController

8 endpoints

#
get
/user/automationsgetEntityAutomations

No summary provided for this endpoint.

Expand
get
/user/eventsgetEntityEvents

No summary provided for this endpoint.

Expand
get
/user/favoritesgetEntityFavorites

No summary provided for this endpoint.

Expand
get
/user/inbox-retention-policies/accountgetInboxRetentionPolicyForAccount

Get inbox retention policy for your global account

Expand
get
/user/infogetUserInfo

Get account information for your user

Expand
post
/user/inbox-retention-policies/accountcreateOrUpdateInboxRetentionPolicyForAccount

Create inbox retention policy for your global account

Expand
post
/user/json/pluckgetJsonPropertyAsString

Utility function to extract properties from JSON objects in language where this is cumbersome.

Expand
delete
/user/inbox-retention-policies/accountdeleteInboxRetentionPolicyForAccount

Delete inbox retention policy for your global account

Expand

WaitForController

8 endpoints

#

Endpoints for receiving emails using waitFor methods. The endpoints are perfect for synchronous blocking calls, long-polling, or tests (see webhooks if you need to respond to email events as they happen using HTTP notification). These wait endpoints are all built around a common idea - that you ask for an expected number of emails from an inbox and MailSlurp will either: A) Return the matching emails if they are present; B) Hold a connection open until the matching emails are are received or until a timeout occurs. For test suites we recommend that you create a new inbox for each test run and use the waitForLatestEmail to hold the connection until the email you expect arrives. Note if your inbox is not already empty waitFor methods may return immediately depending on their implementation. See each endpoint for more details.

get
/waitForEmailCountwaitForEmailCount

Wait for and return count number of emails. Hold connection until inbox count matches expected or timeout occurs

Expand
get
/waitForLatestEmailwaitForLatestEmail

Fetch inbox's latest email or if empty wait for an email to arrive

Expand
get
/waitForNthEmailwaitForNthEmail

Wait for or fetch the email with a given index in the inbox specified. If index doesn't exist waits for it to exist or timeout to occur.

Expand
post
/waitForwaitFor

Wait for an email to match the provided filter conditions such as subject contains keyword.

Expand
post
/waitForLatestSmswaitForLatestSms

Wait for the latest SMS message to match the provided filter conditions such as body contains keyword.

Expand
post
/waitForMatchingEmailswaitForMatchingEmails

Wait or return list of emails that match simple matching patterns

Expand
post
/waitForMatchingFirstEmailwaitForMatchingFirstEmail

Wait for or return the first email that matches provided MatchOptions array

Expand
post
/waitForSmswaitForSms

Wait for an SMS message to match the provided filter conditions such as body contains keyword.

Expand

WebhookController

40 endpoints

#

Endpoint for interacting with webhooks. Webhooks have a URL that points to your server. Useful for email forwarding, email API processing and more. They can be added to inboxes and when an inbox receives an email the email ID and inbox ID will be posted to the URL endpoint at your server. The schema of the webhook payload is available at https://api.mailslurp.com/schemas/webhook-payload or by calling https://api.mailslurp.com/webhooks/test. Use webhooks to react in real-time to inbound emails. Use the webhook payload posted to your server to fetch the full emails or attachments if you need them. Use the event ID as an idempotent record. The ID identifies the webhook payload uniquely. MailSlurp tracks webhook processing. It will try not to send the same event twice but it can happen. If you receive the same event more than once you can ignore it and assume it is the same. It is recommended that you use a store or database to track webhooks you have processed to avoid processing events more than once.

get
/inboxes/{inboxId}/webhooksgetWebhooks

Get all webhooks for an Inbox

DeprecatedExpand
get
/inboxes/{inboxId}/webhooks/paginatedgetInboxWebhooksPaginated

Get paginated webhooks for an Inbox

Expand
get
/phone/numbers/{phoneId}/webhooks/paginatedgetPhoneNumberWebhooksPaginated

Get paginated webhooks for a phone number

Expand
get
/webhooks/{webhookId}getWebhook

Get a webhook

Expand
get
/webhooks/{webhookId}/resultsgetWebhookResults

Get a webhook results for a webhook

Expand
get
/webhooks/{webhookId}/results/countgetWebhookResultsCount

Get a webhook results count for a webhook

Expand
get
/webhooks/{webhookId}/waitwaitForWebhookResults

Wait for webhook results for a webhook

Expand
get
/webhooks/account/paginatedgetAllAccountWebhooks

List account webhooks Paginated

Expand
get
/webhooks/endpointsgetAllWebhookEndpoints

List Webhooks endpoints Paginated

Expand
get
/webhooks/paginatedgetAllWebhooks

List Webhooks Paginated

Expand
get
/webhooks/resultsgetAllWebhookResults

Get results for all webhooks

Expand
get
/webhooks/results/{webhookResultId}getWebhookResult

Get a webhook result for a webhook

Expand
get
/webhooks/results/unseen-countgetWebhookResultsUnseenErrorCount

Get count of unseen webhook results with error status

Expand
get
/webhooks/testgetTestWebhookPayload

Get test webhook payload example. Response content depends on eventName passed. Uses `EMAIL_RECEIVED` as default.

Expand
get
/webhooks/test/delivery-status-payloadgetTestWebhookPayloadDeliveryStatus

Get webhook test payload for delivery status event

Expand
get
/webhooks/test/email-bounce-payloadgetTestWebhookPayloadBounce

Get webhook test payload for bounce

Expand
get
/webhooks/test/email-bounce-recipient-payloadgetTestWebhookPayloadBounceRecipient

Get webhook test payload for bounce recipient

Expand
get
/webhooks/test/email-opened-payloadgetTestWebhookPayloadEmailOpened

Get webhook test payload for email opened event

Expand
get
/webhooks/test/email-read-payloadgetTestWebhookPayloadEmailRead

Get webhook test payload for email opened event

Expand
get
/webhooks/test/new-ai-transform-result-payloadgetTestWebhookPayloadNewAITransformResult

Get webhook test payload for new ai transform result event

Expand
get
/webhooks/test/new-attachment-payloadgetTestWebhookPayloadNewAttachment

Get webhook test payload for new attachment event

Expand
get
/webhooks/test/new-contact-payloadgetTestWebhookPayloadNewContact

Get webhook test payload for new contact event

Expand
get
/webhooks/test/new-email-payloadgetTestWebhookPayloadNewEmail

Get webhook test payload for new email event

Expand
get
/webhooks/test/new-sms-payloadgetTestWebhookPayloadNewSms

Get webhook test payload for new sms event

Expand
post
/ai-transformers/{transformerId}/webhookscreateWebhookForAITransformer

Attach a WebHook URL to an AI transformer

Expand
post
/inboxes/{inboxId}/webhookscreateWebhook

Attach a WebHook URL to an inbox

Expand
post
/phone/numbers/{phoneNumberId}/webhookscreateWebhookForPhoneNumber

Attach a WebHook URL to a phone number

Expand
post
/webhookscreateAccountWebhook

Attach a WebHook URL to an inbox

Expand
post
/webhooks/{webhookId}/examplegetTestWebhookPayloadForWebhook

Get example payload for webhook

Expand
post
/webhooks/{webhookId}/schemagetJsonSchemaForWebhookPayload

Get JSON Schema definition for webhook payload

Expand
post
/webhooks/{webhookId}/testsendTestData

Send webhook test data

Expand
post
/webhooks/results/{webhookResultId}/redriveredriveWebhookResult

Get a webhook result and try to resend the original webhook payload

Expand
post
/webhooks/results/redriveredriveAllWebhookResults

Redrive all webhook results that have failed status

Expand
post
/webhooks/schemagetJsonSchemaForWebhookEvent

Get JSON Schema definition for webhook payload by event

Expand
post
/webhooks/verifyverifyWebhookSignature

Verify a webhook payload signature

Expand
put
/webhooks/{webhookId}/headersupdateWebhookHeaders

Update a webhook request headers

Expand
patch
/webhooks/{webhookId}updateWebhook

Update a webhook

Expand
delete
/inboxes/{inboxId}/webhooks/{webhookId}deleteWebhook

Delete and disable a Webhook for an Inbox

Expand
delete
/webhooksdeleteAllWebhooks

Delete all webhooks

Expand
delete
/webhooks/{webhookId}deleteWebhookById

Delete a webhook

Expand