# MailSlurp\InboxControllerApi

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

Method HTTP request Description
CreateInbox Post /inboxes Create an Inbox (email address)
CreateInboxWithOptions Post /inboxes/withOptions Create an inbox with additional options
DeleteAllInboxes Delete /inboxes Delete all inboxes
DeleteInbox Delete /inboxes/{inboxId} Delete inbox
GetAllInboxes Get /inboxes/paginated List All Inboxes Paginated
GetEmails Get /inboxes/{inboxId}/emails 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.
GetInbox Get /inboxes/{inboxId} Get Inbox
GetInboxEmailsPaginated Get /inboxes/{inboxId}/emails/paginated Get inbox emails paginated
GetInboxSentEmails Get /inboxes/{inboxId}/sent Get Inbox Sent Emails
GetInboxTags Get /inboxes/tags Get inbox tags
GetInboxes Get /inboxes List Inboxes / Email Addresses
SendEmail Post /inboxes/{inboxId} Send Email
SendEmailAndConfirm Post /inboxes/{inboxId}/confirm Send email and return sent confirmation
SetInboxFavourited Put /inboxes/{inboxId}/favourite Set inbox favourited state
UpdateInbox Patch /inboxes/{inboxId} Update Inbox

# CreateInbox

Inbox CreateInbox(ctx, optional)

Create an Inbox (email address)

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.

# Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
optional *CreateInboxOpts optional parameters nil if no parameters

# Optional Parameters

Optional parameters are passed through a pointer to a CreateInboxOpts struct

Name Type Description Notes
description optional.String Optional description of the inbox for labelling purposes. Is shown in the dashboard and can be used with
emailAddress optional.String A 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. 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.
expiresAt optional.Time Optional 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.
expiresIn optional.Int64 Number of milliseconds that inbox should exist for
favourite optional.Bool Is the inbox favorited. Favouriting inboxes is typically done in the dashboard for quick access or filtering
name optional.String Optional name of the inbox. Displayed in the dashboard for easier search
tags optional.Interface of []string Tags 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.
useDomainPool optional.Bool Use 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.

# Return type

Inbox

# Authorization

API_KEY

# HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

# CreateInboxWithOptions

Inbox CreateInboxWithOptions(ctx, createInboxDto)

Create an inbox with additional options

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

# Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
createInboxDto CreateInboxDto createInboxDto

# Return type

Inbox

# Authorization

API_KEY

# HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

# DeleteAllInboxes

DeleteAllInboxes(ctx, )

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.

# Required Parameters

This endpoint does not need any parameter.

# Return type

(empty response body)

# Authorization

API_KEY

# HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

# DeleteInbox

DeleteInbox(ctx, 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.

# Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
inboxId string inboxId

# Return type

(empty response body)

# Authorization

API_KEY

# HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

# GetAllInboxes

PageInboxProjection GetAllInboxes(ctx, optional)

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 index (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.

# Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
optional *GetAllInboxesOpts optional parameters nil if no parameters

# Optional Parameters

Optional parameters are passed through a pointer to a GetAllInboxesOpts struct

Name Type Description Notes
favourite optional.Bool Optionally filter results for favourites only [default to false]
page optional.Int32 Optional page index in inbox list pagination [default to 0]
search optional.String Optionally filter by search words partial matching ID, tags, name, and email address
size optional.Int32 Optional page size in inbox list pagination [default to 20]
sort optional.String Optional createdAt sort direction ASC or DESC [default to ASC]
tag optional.String Optionally filter by tags

# Return type

PageInboxProjection

# Authorization

API_KEY

# HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

# GetEmails

[]EmailPreview GetEmails(ctx, inboxId, optional)

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

# Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
inboxId string Id of inbox that emails belongs to
optional *GetEmailsOpts optional parameters nil if no parameters

# Optional Parameters

Optional parameters are passed through a pointer to a GetEmailsOpts struct

Name Type Description Notes

limit | optional.Int32| Limit the result set, ordered by received date time sort direction. Maximum 100. For more listing options see the email controller | minCount | optional.Int64| Minimum acceptable email count. Will cause request to hang (and retry) until minCount is satisfied or retryTimeout is reached. | retryTimeout | optional.Int64| Maximum milliseconds to spend retrying inbox database until minCount emails are returned | since | optional.Time| Exclude emails received before this ISO 8601 date time | size | optional.Int32| Alias for limit. Assessed first before assessing any passed limit. | sort | optional.String| Sort the results by received date and direction ASC or DESC |

# Return type

[]EmailPreview

# Authorization

API_KEY

# HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

# GetInbox

Inbox GetInbox(ctx, inboxId)

Get Inbox

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

# Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
inboxId string inboxId

# Return type

Inbox

# Authorization

API_KEY

# HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

# GetInboxEmailsPaginated

PageEmailPreview GetInboxEmailsPaginated(ctx, inboxId, optional)

Get inbox emails paginated

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

# Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
inboxId string Id of inbox that emails belongs to
optional *GetInboxEmailsPaginatedOpts optional parameters nil if no parameters

# Optional Parameters

Optional parameters are passed through a pointer to a GetInboxEmailsPaginatedOpts struct

Name Type Description Notes

page | optional.Int32| Optional page index in inbox emails list pagination | [default to 0] size | optional.Int32| Optional page size in inbox emails list pagination | [default to 20] sort | optional.String| Optional createdAt sort direction ASC or DESC | [default to ASC]

# Return type

PageEmailPreview

# Authorization

API_KEY

# HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

# GetInboxSentEmails

PageSentEmailProjection GetInboxSentEmails(ctx, inboxId, optional)

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.

# Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
inboxId string inboxId
optional *GetInboxSentEmailsOpts optional parameters nil if no parameters

# Optional Parameters

Optional parameters are passed through a pointer to a GetInboxSentEmailsOpts struct

Name Type Description Notes

page | optional.Int32| Optional page index in inbox sent email list pagination | [default to 0] size | optional.Int32| Optional page size in inbox sent email list pagination | [default to 20] sort | optional.String| Optional createdAt sort direction ASC or DESC | [default to ASC]

# Return type

PageSentEmailProjection

# Authorization

API_KEY

# HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

# GetInboxTags

[]string GetInboxTags(ctx, )

Get inbox tags

Get all inbox tags

# Required Parameters

This endpoint does not need any parameter.

# Return type

[]string

# Authorization

API_KEY

# HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

# GetInboxes

[]Inbox GetInboxes(ctx, optional)

List Inboxes / Email Addresses

List the inboxes you have created. Note use of the more advanced getAllEmails is recommended. You can provide a limit and sort parameter.

# Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
optional *GetInboxesOpts optional parameters nil if no parameters

# Optional Parameters

Optional parameters are passed through a pointer to a GetInboxesOpts struct

Name Type Description Notes
size optional.Int32 Optional result size limit. Note an automatic limit of 100 results is applied. See the paginated `getAllEmails` for larger queries. [default to 100]
sort optional.String Optional createdAt sort direction ASC or DESC [default to ASC]

# Return type

[]Inbox

# Authorization

API_KEY

# HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

# SendEmail

SendEmail(ctx, inboxId, optional)

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.

# Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
inboxId string ID of the inbox you want to send the email from
optional *SendEmailOpts optional parameters nil if no parameters

# Optional Parameters

Optional parameters are passed through a pointer to a SendEmailOpts struct

Name Type Description Notes

sendEmailOptions | optional.Interface of SendEmailOptions| Options for the email |

# Return type

(empty response body)

# Authorization

API_KEY

# HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

# SendEmailAndConfirm

SentEmailDto SendEmailAndConfirm(ctx, inboxId, optional)

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 link the the sent object created for it.

# Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
inboxId string ID of the inbox you want to send the email from
optional *SendEmailAndConfirmOpts optional parameters nil if no parameters

# Optional Parameters

Optional parameters are passed through a pointer to a SendEmailAndConfirmOpts struct

Name Type Description Notes

sendEmailOptions | optional.Interface of SendEmailOptions| Options for the email |

# Return type

SentEmailDto

# Authorization

API_KEY

# HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

# SetInboxFavourited

Inbox SetInboxFavourited(ctx, inboxId, setInboxFavouritedOptions)

Set inbox favourited state

Set and return new favourite state for an inbox

# Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
inboxId string inboxId
setInboxFavouritedOptions SetInboxFavouritedOptions setInboxFavouritedOptions

# Return type

Inbox

# Authorization

API_KEY

# HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]

# UpdateInbox

Inbox UpdateInbox(ctx, inboxId, updateInboxOptions)

Update Inbox

Update editable fields on an inbox

# Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
inboxId string inboxId
updateInboxOptions UpdateInboxOptions updateInboxOptions

# Return type

Inbox

# Authorization

API_KEY

# HTTP request headers

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

[Back to top] [Back to API list] [Back to Model list] [Back to README]