InboxControllerApi

All URIs are relative to https://api.mailslurp.com

MethodHTTP requestDescription
createInboxPOST /inboxesCreate 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.
createInboxRulesetPOST /inboxes/{inboxId}/rulesetsCreate an inbox ruleset
createInboxWithDefaultsPOST /inboxes/withDefaultsCreate an inbox with default options. Uses MailSlurp domain pool address and is private.
createInboxWithOptionsPOST /inboxes/withOptionsCreate an inbox with options. Extended options for inbox creation.
deleteAllInboxesDELETE /inboxesDelete all inboxes
deleteInboxDELETE /inboxes/{inboxId}Delete inbox
doesInboxExistGET /inboxes/existsDoes inbox exist
flushExpiredDELETE /inboxes/expiredRemove expired inboxes
getAllInboxesGET /inboxes/paginatedList All Inboxes Paginated
getEmailsGET /inboxes/{inboxId}/emailsGet 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.
getInboxGET /inboxes/{inboxId}Get Inbox. Returns properties of an inbox.
getInboxEmailsPaginatedGET /inboxes/{inboxId}/emails/paginatedGet inbox emails paginated
getInboxSentEmailsGET /inboxes/{inboxId}/sentGet Inbox Sent Emails
getInboxTagsGET /inboxes/tagsGet inbox tags
getInboxesGET /inboxesList Inboxes and email addresses
getOrganizationInboxesGET /inboxes/organizationList Organization Inboxes Paginated
listInboxRulesetsGET /inboxes/{inboxId}/rulesetsList inbox rulesets
listInboxTrackingPixelsGET /inboxes/{inboxId}/tracking-pixelsList inbox tracking pixels
sendEmailPOST /inboxes/{inboxId}Send Email
sendEmailAndConfirmPOST /inboxes/{inboxId}/confirmSend email and return sent confirmation
sendTestEmailPOST /inboxes/{inboxId}/send-test-emailSend a test email to inbox
setInboxFavouritedPUT /inboxes/{inboxId}/favouriteSet inbox favourited state
updateInboxPATCH /inboxes/{inboxId}Update Inbox. Change name and description. Email address is not editable.

createInbox

Inbox createInbox(allowTeamAccess, description, emailAddress, expiresAt, expiresIn, favourite, inboxType, name, tags, useDomainPool)

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.

Create a new inbox and with a randomized email address to send and receive from. Pass emailAddress parameter if you wish to use a specific email address. Creating an inbox is required before sending or receiving emails. If writing tests it is recommended that you create a new inbox during each test method so that it is unique and empty. 

Parameters

NameTypeDescriptionNotes
allowTeamAccessBooleanDEPRECATED (team access is always true). Grant team access to this inbox and the emails that belong to it for team members of your organization.[optional] [default to null]
descriptionStringOptional description of the inbox for labelling purposes. Is shown in the dashboard and can be used with[optional] [default to null]
emailAddressStringA custom email address to use with the inbox. Defaults to null. When null MailSlurp will assign a random email address to the inbox such as 123@mailslurp.com. If you use the useDomainPool option when the email address is null it will generate an email address with a more varied domain ending such as 123@mailslurp.info or 123@mailslurp.biz. When a custom email address is provided the address is split into a domain and the domain is queried against your user. If you have created the domain in the MailSlurp dashboard and verified it you can use any email address that ends with the domain. Note domain types must match the inbox type - so SMTP inboxes will only work with SMTP type domains. Avoid SMTP inboxes if you need to send emails as they can only receive. Send an email to this address and the inbox will receive and store it for you. To retrieve the email use the Inbox and Email Controller endpoints with the inbox ID.[optional] [default to null]
expiresAtDateOptional inbox expiration date. If null then this inbox is permanent and the emails in it won’t be deleted. If an expiration date is provided or is required by your plan the inbox will be closed when the expiration time is reached. Expired inboxes still contain their emails but can no longer send or receive emails. An ExpiredInboxRecord is created when an inbox and the email address and inbox ID are recorded. The expiresAt property is a timestamp string in ISO DateTime Format yyyy-MM-dd’T’HH:mm:ss.SSSXXX.[optional] [default to null]
expiresInLongNumber of milliseconds that inbox should exist for[optional] [default to null]
favouriteBooleanIs the inbox a favorite. Marking an inbox as a favorite is typically done in the dashboard for quick access or filtering[optional] [default to null]
inboxTypeStringHTTP (default) or SMTP inbox type. HTTP inboxes are default and best solution for most cases. SMTP inboxes are more reliable for public inbound email consumption (but do not support sending emails). When using custom domains the domain type must match the inbox type. HTTP inboxes are processed by AWS SES while SMTP inboxes use a custom mail server running at mx.mailslurp.com.[optional] [default to null] [enum: HTTP_INBOX, SMTP_INBOX]
nameStringOptional name of the inbox. Displayed in the dashboard for easier search and used as the sender name when sending emails.[optional] [default to null]
tagsListTags that inbox has been tagged with. Tags can be added to inboxes to group different inboxes within an account. You can also search for inboxes by tag in the dashboard UI.[optional] [default to null]
useDomainPoolBooleanUse the MailSlurp domain name pool with this inbox when creating the email address. Defaults to null. If enabled the inbox will be an email address with a domain randomly chosen from a list of the MailSlurp domains. This is useful when the default @mailslurp.com email addresses used with inboxes are blocked or considered spam by a provider or receiving service. When domain pool is enabled an email address will be generated ending in @mailslurp.{world,info,xyz,...} . This means a TLD is randomly selecting from a list of .biz, .info, .xyz etc to add variance to the generated email addresses. When null or false MailSlurp uses the default behavior of @mailslurp.com or custom email address provided by the emailAddress field. Note this feature is only available for HTTP inbox types.[optional] [default to null]

Return type

Inbox

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

createInboxRuleset

InboxRulesetDto createInboxRuleset(inboxId, createInboxRulesetOptions)

Create an inbox ruleset

Create a new inbox rule for forwarding, blocking, and allowing emails when sending and receiving

Parameters

NameTypeDescriptionNotes
inboxIdUUIDinboxId[default to null]
createInboxRulesetOptionsCreateInboxRulesetOptionscreateInboxRulesetOptions

Return type

InboxRulesetDto

Authorization

API_KEY

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

createInboxWithDefaults

Inbox createInboxWithDefaults()

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

Parameters

This endpoint does not need any parameter.

Return type

Inbox

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

createInboxWithOptions

Inbox createInboxWithOptions(createInboxDto)

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

Additional endpoint that allows inbox creation with request body options. Can be more flexible that other methods for some clients.

Parameters

NameTypeDescriptionNotes
createInboxDtoCreateInboxDtocreateInboxDto

Return type

Inbox

Authorization

API_KEY

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

deleteAllInboxes

deleteAllInboxes()

Delete all inboxes

Permanently delete all inboxes and associated email addresses. This will also delete all emails within the inboxes. Be careful as inboxes cannot be recovered once deleted. Note: deleting inboxes will not impact your usage limits. Monthly inbox creation limits are based on how many inboxes were created in the last 30 days, not how many inboxes you currently have.

Parameters

This endpoint does not need any parameter.

Return type

null (empty response body)

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: Not defined

deleteInbox

deleteInbox(inboxId)

Delete inbox

Permanently delete an inbox and associated email address as well as all emails within the given inbox. This action cannot be undone. Note: deleting an inbox will not affect your account usage. Monthly inbox usage is based on how many inboxes you create within 30 days, not how many exist at time of request.

Parameters

NameTypeDescriptionNotes
inboxIdUUIDinboxId[default to null]

Return type

null (empty response body)

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: Not defined

doesInboxExist

InboxExistsDto doesInboxExist(emailAddress)

Does inbox exist

Check if inboxes exist by email address. Useful if you are sending emails to mailslurp addresses

Parameters

NameTypeDescriptionNotes
emailAddressStringEmail address[default to null]

Return type

InboxExistsDto

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

flushExpired

FlushExpiredInboxesResult flushExpired(before)

Remove expired inboxes

Remove any expired inboxes for your account (instead of waiting for scheduled removal on server)

Parameters

NameTypeDescriptionNotes
beforeDateOptional expired at before flag to flush expired inboxes that have expired before the given time[optional] [default to null]

Return type

FlushExpiredInboxesResult

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getAllInboxes

PageInboxProjection getAllInboxes(before, favourite, page, search, since, size, sort, tag, teamAccess)

List All Inboxes Paginated

List inboxes in paginated form. The results are available on the `content` property of the returned object. This method allows for page  (zero based), page size (how many results to return), and a sort direction (based on createdAt time). You Can also filter by whether an inbox is favorited or use email address pattern. This method is the recommended way to query inboxes. The alternative `getInboxes` method returns a full list of inboxes but is limited to 100 results.

Parameters

NameTypeDescriptionNotes
beforeDateOptional filter by created before given date time[optional] [default to null]
favouriteBooleanOptionally filter results for favourites only[optional] [default to false]
pageIntegerOptional page in list pagination[optional] [default to 0]
searchStringOptionally filter by search words partial matching ID, tags, name, and email address[optional] [default to null]
sinceDateOptional filter by created after given date time[optional] [default to null]
sizeIntegerOptional page size in list pagination[optional] [default to 20]
sortStringOptional createdAt sort direction ASC or DESC[optional] [default to ASC] [enum: ASC, DESC]
tagStringOptionally filter by tags. Will return inboxes that include given tags[optional] [default to null]
teamAccessBooleanDEPRECATED. Optionally filter by team access.[optional] [default to false]

Return type

PageInboxProjection

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getEmails

List getEmails(inboxId, before, delayTimeout, limit, minCount, retryTimeout, since, size, sort, unreadOnly)

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.

List emails that an inbox has received. Only emails that are sent to the inbox's email address will appear in the inbox. It may take several seconds for any email you send to an inbox's email address to appear in the inbox. To make this endpoint wait for a minimum number of emails use the `minCount` parameter. The server will retry the inbox database until the `minCount` is satisfied or the `retryTimeout` is reached

Parameters

NameTypeDescriptionNotes
inboxIdUUIDId of inbox that emails belongs to[default to null]
beforeDateExclude emails received after this ISO 8601 date time[optional] [default to null]
delayTimeoutLongdelayTimeout[optional] [default to null]
limitIntegerLimit the result set, ordered by received date time sort direction. Maximum 100. For more listing options see the email controller[optional] [default to null]
minCountLongMinimum acceptable email count. Will cause request to hang (and retry) until minCount is satisfied or retryTimeout is reached.[optional] [default to null]
retryTimeoutLongMaximum milliseconds to spend retrying inbox database until minCount emails are returned[optional] [default to null]
sinceDateExclude emails received before this ISO 8601 date time[optional] [default to null]
sizeIntegerAlias for limit. Assessed first before assessing any passed limit.[optional] [default to null]
sortStringSort the results by received date and direction ASC or DESC[optional] [default to null] [enum: ASC, DESC]
unreadOnlyBooleanunreadOnly[optional] [default to null]

Return type

List

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getInbox

Inbox getInbox(inboxId)

Get Inbox. Returns properties of an inbox.

Returns an inbox's properties, including its email address and ID.

Parameters

NameTypeDescriptionNotes
inboxIdUUIDinboxId[default to null]

Return type

Inbox

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getInboxEmailsPaginated

PageEmailPreview getInboxEmailsPaginated(inboxId, before, page, since, size, sort)

Get inbox emails paginated

Get a paginated list of emails in an inbox. Does not hold connections open.

Parameters

NameTypeDescriptionNotes
inboxIdUUIDId of inbox that emails belongs to[default to null]
beforeDateOptional filter by received before given date time[optional] [default to null]
pageIntegerOptional page in inbox emails list pagination[optional] [default to 0]
sinceDateOptional filter by received after given date time[optional] [default to null]
sizeIntegerOptional page size in inbox emails list pagination[optional] [default to 20]
sortStringOptional createdAt sort direction ASC or DESC[optional] [default to ASC] [enum: ASC, DESC]

Return type

PageEmailPreview

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getInboxSentEmails

PageSentEmailProjection getInboxSentEmails(inboxId, before, page, searchFilter, since, size, sort)

Get Inbox Sent Emails

Returns an inbox's sent email receipts. Call individual sent email endpoints for more details. Note for privacy reasons the full body of sent emails is never stored. An MD5 hash hex is available for comparison instead.

Parameters

NameTypeDescriptionNotes
inboxIdUUIDinboxId[default to null]
beforeDateOptional filter by sent before given date time[optional] [default to null]
pageIntegerOptional page in inbox sent email list pagination[optional] [default to 0]
searchFilterStringOptional sent email search[optional] [default to null]
sinceDateOptional filter by sent after given date time[optional] [default to null]
sizeIntegerOptional page size in inbox sent email list pagination[optional] [default to 20]
sortStringOptional createdAt sort direction ASC or DESC[optional] [default to ASC] [enum: ASC, DESC]

Return type

PageSentEmailProjection

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getInboxTags

List getInboxTags()

Get inbox tags

Get all inbox tags

Parameters

This endpoint does not need any parameter.

Return type

List

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getInboxes

List getInboxes(before, since, size, sort)

List Inboxes and email addresses

List the inboxes you have created. Note use of the more advanced `getAllEmails` is recommended and allows paginated access using a limit and sort parameter.

Parameters

NameTypeDescriptionNotes
beforeDateOptional filter by created before given date time[optional] [default to null]
sinceDateOptional filter by created after given date time[optional] [default to null]
sizeIntegerOptional result size limit. Note an automatic limit of 100 results is applied. See the paginated getAllEmails for larger queries.[optional] [default to 100]
sortStringOptional createdAt sort direction ASC or DESC[optional] [default to ASC] [enum: ASC, DESC]

Return type

List

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getOrganizationInboxes

PageOrganizationInboxProjection getOrganizationInboxes(before, page, searchFilter, since, size, sort)

List Organization Inboxes Paginated

List organization inboxes in paginated form. These are inboxes created with `allowTeamAccess` flag enabled. Organization inboxes are `readOnly` for non-admin users. The results are available on the `content` property of the returned object. This method allows for page  (zero based), page size (how many results to return), and a sort direction (based on createdAt time). 

Parameters

NameTypeDescriptionNotes
beforeDateOptional filter by created before given date time[optional] [default to null]
pageIntegerOptional page in list pagination[optional] [default to 0]
searchFilterStringOptional search filter[optional] [default to null]
sinceDateOptional filter by created after given date time[optional] [default to null]
sizeIntegerOptional page size in list pagination[optional] [default to 20]
sortStringOptional createdAt sort direction ASC or DESC[optional] [default to ASC] [enum: ASC, DESC]

Return type

PageOrganizationInboxProjection

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

listInboxRulesets

PageInboxRulesetDto listInboxRulesets(inboxId, before, page, searchFilter, since, size, sort)

List inbox rulesets

List all rulesets attached to an inbox

Parameters

NameTypeDescriptionNotes
inboxIdUUIDinboxId[default to null]
beforeDateOptional filter by created before given date time[optional] [default to null]
pageIntegerOptional page in inbox ruleset list pagination[optional] [default to 0]
searchFilterStringOptional search filter[optional] [default to null]
sinceDateOptional filter by created after given date time[optional] [default to null]
sizeIntegerOptional page size in inbox ruleset list pagination[optional] [default to 20]
sortStringOptional createdAt sort direction ASC or DESC[optional] [default to ASC] [enum: ASC, DESC]

Return type

PageInboxRulesetDto

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

listInboxTrackingPixels

PageTrackingPixelProjection listInboxTrackingPixels(inboxId, before, page, searchFilter, since, size, sort)

List inbox tracking pixels

List all tracking pixels sent from an inbox

Parameters

NameTypeDescriptionNotes
inboxIdUUIDinboxId[default to null]
beforeDateOptional filter by created before given date time[optional] [default to null]
pageIntegerOptional page in inbox tracking pixel list pagination[optional] [default to 0]
searchFilterStringOptional search filter[optional] [default to null]
sinceDateOptional filter by created after given date time[optional] [default to null]
sizeIntegerOptional page size in inbox tracking pixel list pagination[optional] [default to 20]
sortStringOptional createdAt sort direction ASC or DESC[optional] [default to ASC] [enum: ASC, DESC]

Return type

PageTrackingPixelProjection

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

sendEmail

sendEmail(inboxId, sendEmailOptions)

Send Email

Send an email from an inbox's email address.  The request body should contain the `SendEmailOptions` that include recipients, attachments, body etc. See `SendEmailOptions` for all available properties. Note the `inboxId` refers to the inbox's id not the inbox's email address. See https://www.mailslurp.com/guides/ for more information on how to send emails. This method does not return a sent email entity due to legacy reasons. To send and get a sent email as returned response use the sister method `sendEmailAndConfirm`.

Parameters

NameTypeDescriptionNotes
inboxIdUUIDID of the inbox you want to send the email from[default to null]
sendEmailOptionsSendEmailOptionsOptions for the email[optional]

Return type

null (empty response body)

Authorization

API_KEY

HTTP request headers

  • Content-Type: application/json
  • Accept: Not defined

sendEmailAndConfirm

SentEmailDto sendEmailAndConfirm(inboxId, sendEmailOptions)

Send email and return sent confirmation

Sister method for standard `sendEmail` method with the benefit of returning a `SentEmail` entity confirming the successful sending of the email with a link to the sent object created for it.

Parameters

NameTypeDescriptionNotes
inboxIdUUIDID of the inbox you want to send the email from[default to null]
sendEmailOptionsSendEmailOptionsOptions for the email[optional]

Return type

SentEmailDto

Authorization

API_KEY

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

sendTestEmail

sendTestEmail(inboxId)

Send a test email to inbox

Send an inbox a test email to test email receiving is working

Parameters

NameTypeDescriptionNotes
inboxIdUUIDinboxId[default to null]

Return type

null (empty response body)

Authorization

API_KEY

HTTP request headers

  • Content-Type: Not defined
  • Accept: Not defined

setInboxFavourited

Inbox setInboxFavourited(inboxId, setInboxFavouritedOptions)

Set inbox favourited state

Set and return new favourite state for an inbox

Parameters

NameTypeDescriptionNotes
inboxIdUUIDinboxId[default to null]
setInboxFavouritedOptionsSetInboxFavouritedOptionssetInboxFavouritedOptions

Return type

Inbox

Authorization

API_KEY

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

updateInbox

Inbox updateInbox(inboxId, updateInboxOptions)

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

Update editable fields on an inbox

Parameters

NameTypeDescriptionNotes
inboxIdUUIDinboxId[default to null]
updateInboxOptionsUpdateInboxOptionsupdateInboxOptions

Return type

Inbox

Authorization

API_KEY

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json