{"openapi":"3.0.1","info":{"title":"MailSlurp API","description":"MailSlurp is an API for sending and receiving emails from dynamically allocated email addresses. It's designed for developers and QA teams to test applications, process inbound emails, send templated notifications, attachments, and more.\n\n## Resources\n\n- [Homepage](https://www.mailslurp.com)\n- Get an [API KEY](https://app.mailslurp.com/sign-up/)\n- Generated [SDK Clients](https://docs.mailslurp.com/)\n- [Examples](https://github.com/mailslurp/examples) repository","contact":{"url":"https://www.mailslurp.com/contact/","email":"contact@mailslurp.dev"},"license":{"name":"Apache 2.0","url":"https://www.mailslurp.com"},"version":"740fe1b238ae32aa1f44465f2b26dff78891ac18"},"externalDocs":{"description":"MailSlurp API documentation","url":"https://www.mailslurp.com"},"servers":[{"url":"https://api.mailslurp.com","description":"MailSlurp API Server"}],"security":[{"API_KEY":[]}],"tags":[{"name":"AliasController","description":"\"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.\n 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 \n 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. \n 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.\n"},{"name":"EmailController","description":"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. \nEach 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. \n "},{"name":"FormController","description":"Form controller for submitting email-able forms"},{"name":"SentEmailsController","description":"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."},{"name":"InboxController","description":"Endpoints for creating and managing inboxes. Also includes endpoints for listing emails within inboxes. \nInboxes are a core feature of MailSlurp. Each inbox has a unique ID and emailAddress. Inboxes can be either `HTTP` or `SMTP` inboxes. Both are email inboxes but `HTTP` mailboxes are processed using AWS SES while `SMTP` inboxes use a custom mail server listening at `mx.mailslurp.com`. Use `HTTP` inboxes for testing and `SMTP` inboxes for public facing inboxes. If your plan allows custom domains you can create inboxes with custom addresses that end in your domain. \nBy default inboxes are assigned a random email address ending in `@mailslurp.com`. 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. \nYou 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.\"\n"},{"name":"InboxReplierController","description":"Endpoints for creating and managing inbox repliers. Repliers can automatically reply to emails received by inboxes using rules."},{"name":"ExpiredController","description":"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."},{"name":"BulkActionsController","description":"Other endpoints including advanced receive options"},{"name":"ConnectorController","description":"Endpoints for managing inbox connectors that can sync external emails in MailSlurp inboxes"},{"name":"ContactController","description":"Endpoints for managing contacts. Contacts can be used for sending emails to individuals and groups."},{"name":"GroupController","description":"Endpoints for managing groups. Groups can be used for sending emails to individuals and groups."},{"name":"InboxRulesetController","description":"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.\n"},{"name":"DomainController","description":"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."},{"name":"TrackingController","description":"Endpoints for managing tracking entities such as email open and read tracking pixels."},{"name":"WaitForController","description":"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."},{"name":"InboxForwarderController","description":"Endpoints for creating and managing inbox forwarders. Automatically forward emails received by inboxes using rules."},{"name":"MissedEmailController","description":"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."},{"name":"CommonActionsController","description":"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."},{"name":"PhoneController","description":"Endpoints for managing phone numbers and addresses"},{"name":"ExportController","description":"Endpoints for exporting user data to CSV, XML and other formats."},{"name":"SmsController","description":"Endpoints for managing SMS"},{"name":"TemplateController","description":"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."},{"name":"AttachmentController","description":"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."},{"name":"BounceController","description":"Endpoints for access to bounced emails and bounced recipients"},{"name":"WebhookController","description":"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."}],"paths":{"/webhooks/{webhookId}/headers":{"put":{"tags":["WebhookController"],"summary":"Update a webhook request headers","operationId":"updateWebhookHeaders","parameters":[{"name":"webhookId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookHeaders"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookDto"}}}}}}},"/templates/{templateId}":{"get":{"tags":["TemplateController"],"summary":"Get template","description":"Get email template","operationId":"getTemplate","parameters":[{"name":"templateId","in":"path","description":"Template ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TemplateDto"}}}}}},"put":{"tags":["TemplateController"],"summary":"Update template","description":"Update email template","operationId":"updateTemplate","parameters":[{"name":"templateId","in":"path","description":"Template ID","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTemplateOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TemplateDto"}}}}}},"delete":{"tags":["TemplateController"],"summary":"Delete email template","description":"Delete template","operationId":"deleteTemplate","parameters":[{"name":"templateId","in":"path","description":"Template ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/rulesets":{"get":{"tags":["InboxRulesetController"],"summary":"List inbox rulesets","description":"List all rulesets attached to an inbox","operationId":"getInboxRulesets","parameters":[{"name":"inboxId","in":"query","description":"Optional inbox id to get rulesets from","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in inbox ruleset list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox ruleset list pagination","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"sort","in":"query","description":"Optional createdAt sort direction ASC or DESC","required":false,"schema":{"type":"string","default":"ASC","enum":["ASC","DESC"]}},{"name":"searchFilter","in":"query","description":"Optional search filter","required":false,"schema":{"type":"string"}},{"name":"since","in":"query","description":"Filter by created at after the given timestamp","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Filter by created at before the given timestamp","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageInboxRulesetDto"}}}}}},"put":{"tags":["InboxRulesetController"],"summary":"Test inbox rulesets for inbox","description":"Test inbox rulesets for inbox","operationId":"testInboxRulesetsForInbox","parameters":[{"name":"inboxId","in":"query","description":"ID of inbox","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboxRulesetTestOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxRulesetTestResult"}}}}}},"post":{"tags":["InboxRulesetController"],"summary":"Create an inbox ruleset","description":"Create a new inbox rule for forwarding, blocking, and allowing emails when sending and receiving","operationId":"createNewInboxRuleset","parameters":[{"name":"inboxId","in":"query","description":"Inbox id to attach ruleset to","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInboxRulesetOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxRulesetDto"}}}}}},"delete":{"tags":["InboxRulesetController"],"summary":"Delete inbox rulesets","description":"Delete inbox rulesets. Accepts optional inboxId filter.","operationId":"deleteInboxRulesets","parameters":[{"name":"inboxId","in":"query","description":"Optional inbox id to attach ruleset to","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}},"patch":{"tags":["InboxRulesetController"],"summary":"Test new inbox ruleset","description":"Test new inbox ruleset","operationId":"testNewInboxRuleset","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestNewInboxRulesetOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxRulesetTestResult"}}}}}}},"/repliers/{id}":{"get":{"tags":["InboxReplierController"],"summary":"Get an inbox replier","description":"Get inbox ruleset","operationId":"getInboxReplier","parameters":[{"name":"id","in":"path","description":"ID of inbox replier","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxReplierDto"}}}}}},"put":{"tags":["InboxReplierController"],"summary":"Update an inbox replier","description":"Update inbox ruleset","operationId":"updateInboxReplier","parameters":[{"name":"id","in":"path","description":"ID of inbox replier","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateInboxReplierOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxReplierDto"}}}}}},"delete":{"tags":["InboxReplierController"],"summary":"Delete an inbox replier","description":"Delete inbox replier","operationId":"deleteInboxReplier","parameters":[{"name":"id","in":"path","description":"ID of inbox replier","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/inboxes/{inboxId}/favourite":{"put":{"tags":["InboxController"],"summary":"Set inbox favourited state","description":"Set and return new favourite state for an inbox","operationId":"setInboxFavourited","parameters":[{"name":"inboxId","in":"path","description":"ID of inbox to set favourite state","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetInboxFavouritedOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxDto"}}}}}}},"/groups/{groupId}/contacts":{"get":{"tags":["GroupController"],"summary":"Get group and contacts belonging to it","operationId":"getGroupWithContacts","parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GroupContactsDto"}}}}}},"put":{"tags":["GroupController"],"summary":"Add contacts to a group","operationId":"addContactsToGroup","parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateGroupContacts"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GroupContactsDto"}}}}}},"delete":{"tags":["GroupController"],"summary":"Remove contacts from a group","operationId":"removeContactsFromGroup","parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateGroupContacts"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GroupContactsDto"}}}}}}},"/forwarders":{"get":{"tags":["InboxForwarderController"],"summary":"List inbox forwarders","description":"List all forwarders attached to an inbox","operationId":"getInboxForwarders","parameters":[{"name":"inboxId","in":"query","description":"Optional inbox id to get forwarders from","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in inbox forwarder list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox forwarder list pagination","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"sort","in":"query","description":"Optional createdAt sort direction ASC or DESC","required":false,"schema":{"type":"string","default":"ASC","enum":["ASC","DESC"]}},{"name":"searchFilter","in":"query","description":"Optional search filter","required":false,"schema":{"type":"string"}},{"name":"since","in":"query","description":"Filter by created at after the given timestamp","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Filter by created at before the given timestamp","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageInboxForwarderDto"}}}}}},"put":{"tags":["InboxForwarderController"],"summary":"Test inbox forwarders for inbox","description":"Test inbox forwarders for inbox","operationId":"testInboxForwardersForInbox","parameters":[{"name":"inboxId","in":"query","description":"ID of inbox","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboxForwarderTestOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxForwarderTestResult"}}}}}},"post":{"tags":["InboxForwarderController"],"summary":"Create an inbox forwarder","description":"Create a new inbox rule for forwarding, blocking, and allowing emails when sending and receiving","operationId":"createNewInboxForwarder","parameters":[{"name":"inboxId","in":"query","description":"Inbox id to attach forwarder to","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInboxForwarderOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxForwarderDto"}}}}}},"delete":{"tags":["InboxForwarderController"],"summary":"Delete inbox forwarders","description":"Delete inbox forwarders. Accepts optional inboxId filter.","operationId":"deleteInboxForwarders","parameters":[{"name":"inboxId","in":"query","description":"Optional inbox id to attach forwarder to","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}},"patch":{"tags":["InboxForwarderController"],"summary":"Test new inbox forwarder","description":"Test new inbox forwarder","operationId":"testNewInboxForwarder","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestNewInboxForwarderOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxForwarderTestResult"}}}}}}},"/forwarders/{id}":{"get":{"tags":["InboxForwarderController"],"summary":"Get an inbox forwarder","description":"Get inbox forwarder","operationId":"getInboxForwarder","parameters":[{"name":"id","in":"path","description":"ID of inbox forwarder","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxForwarderDto"}}}}}},"put":{"tags":["InboxForwarderController"],"summary":"Update an inbox forwarder","description":"Update inbox forwarder","operationId":"updateInboxForwarder","parameters":[{"name":"id","in":"path","description":"ID of inbox forwarder","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInboxForwarderOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxForwarderDto"}}}}}},"delete":{"tags":["InboxForwarderController"],"summary":"Delete an inbox forwarder","description":"Delete inbox forwarder","operationId":"deleteInboxForwarder","parameters":[{"name":"id","in":"path","description":"ID of inbox forwarder","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/emails/{emailId}":{"get":{"tags":["EmailController"],"summary":"Get email content including headers and body. Expects email to exist by ID. For emails that may not have arrived yet use the WaitForController.","description":"Returns a email summary object with headers and content. To retrieve the raw unparsed email use the getRawEmail endpoints","operationId":"getEmail","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"decode","in":"query","description":"Decode email body quoted-printable encoding to plain text. SMTP servers often encode text using quoted-printable format (for instance `=D7`). This can be a pain for testing","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Email"}}}}}},"put":{"tags":["EmailController"],"summary":"Reply to an email","description":"Send the reply to the email sender or reply-to and include same subject cc bcc etc. Reply to an email and the contents will be sent with the existing subject to the emails `to`, `cc`, and `bcc`.","operationId":"replyToEmail","parameters":[{"name":"emailId","in":"path","description":"ID of the email that should be replied to","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplyToEmailOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SentEmailDto"}}}}}},"delete":{"tags":["EmailController"],"summary":"Delete an email","description":"Deletes an email and removes it from the inbox. Deleted emails cannot be recovered.","operationId":"deleteEmail","parameters":[{"name":"emailId","in":"path","description":"ID of email to delete","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/domains/{id}":{"get":{"tags":["DomainController"],"summary":"Get a domain","description":"Returns domain verification status and tokens for a given domain","operationId":"getDomain","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"checkForErrors","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainDto"}}}}}},"put":{"tags":["DomainController"],"summary":"Update a domain","description":"Update values on a domain. Note you cannot change the domain name as it is immutable. Recreate the domain if you need to alter this.","operationId":"updateDomain","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDomainOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainDto"}}}}}},"delete":{"tags":["DomainController"],"summary":"Delete a domain","description":"Delete a domain. This will disable any existing inboxes that use this domain.","operationId":"deleteDomain","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/connectors/{id}":{"get":{"tags":["ConnectorController"],"summary":"Get an inbox connector","operationId":"getConnector","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectorDto"}}}}}},"put":{"tags":["ConnectorController"],"summary":"Update an inbox connector","operationId":"updateConnector","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectorOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectorDto"}}}}}},"delete":{"tags":["ConnectorController"],"summary":"Delete an inbox connector","operationId":"deleteConnector","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/aliases/{aliasId}":{"get":{"tags":["AliasController"],"summary":"Get an email alias","description":"Get an email alias by ID","operationId":"getAlias","parameters":[{"name":"aliasId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AliasDto"}}}}}},"put":{"tags":["AliasController"],"summary":"Update an email alias","operationId":"updateAlias","parameters":[{"name":"aliasId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAliasOptions"}}},"required":true},"responses":{"202":{"description":"Accepted","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AliasDto"}}}}}},"delete":{"tags":["AliasController"],"summary":"Delete an email alias","operationId":"deleteAlias","parameters":[{"name":"aliasId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/aliases/{aliasId}/emails/{emailId}":{"put":{"tags":["AliasController"],"summary":"Reply to an email","description":"Send the reply to the email sender or reply-to and include same subject cc bcc etc. Reply to an email and the contents will be sent with the existing subject to the emails `to`, `cc`, and `bcc`.","operationId":"replyToAliasEmail","parameters":[{"name":"aliasId","in":"path","description":"ID of the alias that email belongs to","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"emailId","in":"path","description":"ID of the email that should be replied to","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplyToAliasEmailOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SentEmailDto"}}}}}}},"/webhooks":{"post":{"tags":["WebhookController"],"summary":"Attach a WebHook URL to an inbox","description":"Get notified of account level events such as bounce and bounce recipient.","operationId":"createAccountWebhook","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookDto"}}}}}},"delete":{"tags":["WebhookController"],"summary":"Delete all webhooks","operationId":"deleteAllWebhooks","parameters":[{"name":"before","in":"query","description":"before","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"204":{"description":"No Content"}}}},"/webhooks/{webhookId}/test":{"post":{"tags":["WebhookController"],"summary":"Send webhook test data","operationId":"sendTestData","parameters":[{"name":"webhookId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookTestResult"}}}}}}},"/webhooks/{webhookId}/schema":{"post":{"tags":["WebhookController"],"description":"Get JSON Schema definition for webhook payload","operationId":"getJsonSchemaForWebhookPayload","parameters":[{"name":"webhookId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/JSONSchemaDto"}}}}}}},"/webhooks/{webhookId}/example":{"post":{"tags":["WebhookController"],"description":"Get example payload for webhook","operationId":"getTestWebhookPayloadForWebhook","parameters":[{"name":"webhookId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AbstractWebhookPayload"}}}}}}},"/webhooks/verify":{"post":{"tags":["WebhookController"],"summary":"Verify a webhook payload signature","description":"Verify a webhook payload using the messageId and signature. This allows you to be sure that MailSlurp sent the payload and not another server.","operationId":"verifyWebhookSignature","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyWebhookSignatureOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/VerifyWebhookSignatureResults"}}}}}}},"/webhooks/schema":{"post":{"tags":["WebhookController"],"description":"Get JSON Schema definition for webhook payload by event","operationId":"getJsonSchemaForWebhookEvent","parameters":[{"name":"event","in":"query","required":true,"schema":{"type":"string","enum":["EMAIL_RECEIVED","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/JSONSchemaDto"}}}}}}},"/webhooks/results/{webhookResultId}/redrive":{"post":{"tags":["WebhookController"],"summary":"Get a webhook result and try to resend the original webhook payload","description":"Allows you to resend a webhook payload that was already sent. Webhooks that fail are retried automatically for 24 hours and then put in a dead letter queue. You can retry results manually using this method.","operationId":"redriveWebhookResult","parameters":[{"name":"webhookResultId","in":"path","description":"Webhook Result ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookRedriveResult"}}}}}}},"/webhooks/results/redrive":{"post":{"tags":["WebhookController"],"summary":"Redrive all webhook results that have failed status","description":"Allows you to resend webhook payloads for any recorded webhook result that failed to deliver the payload.","operationId":"redriveAllWebhookResults","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookRedriveAllResult"}}}}}}},"/waitFor":{"post":{"tags":["WaitForController"],"summary":"Wait for an email to match the provided filter conditions such as subject contains keyword.","description":"Generic waitFor method that will wait until an inbox meets given conditions or return immediately if already met","operationId":"waitFor","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WaitForConditions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EmailPreview"}}}}}}}},"/waitForSms":{"post":{"tags":["WaitForController"],"summary":"Wait for an SMS message to match the provided filter conditions such as body contains keyword.","description":"Generic waitFor method that will wait until a phone number meets given conditions or return immediately if already met","operationId":"waitForSms","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WaitForSmsConditions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SmsPreview"}}}}}}}},"/waitForMatchingFirstEmail":{"post":{"tags":["WaitForController"],"summary":"Wait for or return the first email that matches provided MatchOptions array","description":"Perform a search of emails in an inbox with the given patterns. If a result if found then return or else retry the search until a result is found or timeout is reached. Match options allow simple CONTAINS or EQUALS filtering on SUBJECT, TO, BCC, CC, and FROM. See the `MatchOptions` object for options. An example payload is `{ matches: [{field: 'SUBJECT',should:'CONTAIN',value:'needle'}] }`. You can use an array of matches and they will be applied sequentially to filter out emails. If you want to perform matches and extractions of content using Regex patterns see the EmailController `getEmailContentMatch` method.","operationId":"waitForMatchingFirstEmail","parameters":[{"name":"inboxId","in":"query","description":"Id of the inbox we are matching an email for","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"timeout","in":"query","description":"Max milliseconds to wait","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"unreadOnly","in":"query","description":"Optional filter for unread only","required":false,"schema":{"type":"boolean","default":false}},{"name":"since","in":"query","description":"Filter for emails that were received after the given timestamp","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Filter for emails that were received before the given timestamp","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"sort","in":"query","description":"Sort direction","required":false,"schema":{"type":"string","enum":["ASC","DESC"]}},{"name":"delay","in":"query","description":"Max milliseconds delay between calls","required":false,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Email"}}}}}}},"/waitForMatchingEmails":{"post":{"tags":["WaitForController"],"summary":"Wait or return list of emails that match simple matching patterns","description":"Perform a search of emails in an inbox with the given patterns. If results match expected count then return or else retry the search until results are found or timeout is reached. Match options allow simple CONTAINS or EQUALS filtering on SUBJECT, TO, BCC, CC, and FROM. See the `MatchOptions` object for options. An example payload is `{ matches: [{field: 'SUBJECT',should:'CONTAIN',value:'needle'}] }`. You can use an array of matches and they will be applied sequentially to filter out emails. If you want to perform matches and extractions of content using Regex patterns see the EmailController `getEmailContentMatch` method.","operationId":"waitForMatchingEmails","parameters":[{"name":"inboxId","in":"query","description":"Id of the inbox we are fetching emails from","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"count","in":"query","description":"Number of emails to wait for. Must be greater or equal to 1","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"before","in":"query","description":"Filter for emails that were received before the given timestamp","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"since","in":"query","description":"Filter for emails that were received after the given timestamp","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"sort","in":"query","description":"Sort direction","required":false,"schema":{"type":"string","enum":["ASC","DESC"]}},{"name":"delay","in":"query","description":"Max milliseconds delay between calls","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"timeout","in":"query","description":"Max milliseconds to wait","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"unreadOnly","in":"query","description":"Optional filter for unread only","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EmailPreview"}}}}}}}},"/waitForLatestSms":{"post":{"tags":["WaitForController"],"summary":"Wait for the latest SMS message to match the provided filter conditions such as body contains keyword.","description":"Wait until a phone number meets given conditions or return immediately if already met","operationId":"waitForLatestSms","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WaitForSingleSmsOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SmsDto"}}}}}}},"/user/json/pluck":{"post":{"tags":["UserController"],"description":"Utility function to extract properties from JSON objects in language where this is cumbersome.","operationId":"getJsonPropertyAsString","parameters":[{"name":"property","in":"query","description":"JSON property name or dot separated path selector such as `a.b.c`","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonNode"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/tracking/pixels":{"get":{"tags":["TrackingController"],"summary":"Get tracking pixels","description":"List tracking pixels in paginated form","operationId":"getAllTrackingPixels","parameters":[{"name":"page","in":"query","description":"Optional page index in list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in list pagination","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"sort","in":"query","description":"Optional createdAt sort direction ASC or DESC","required":false,"schema":{"type":"string","default":"ASC","enum":["ASC","DESC"]}},{"name":"searchFilter","in":"query","description":"Optional search filter","required":false,"schema":{"type":"string"}},{"name":"since","in":"query","description":"Filter by created at after the given timestamp","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Filter by created at before the given timestamp","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageTrackingPixelProjection"}}}}}},"post":{"tags":["TrackingController"],"summary":"Create tracking pixel","description":"Create a tracking pixel. A tracking pixel is an image that can be embedded in an email. When the email is viewed and the image is seen MailSlurp will mark the pixel as seen. Use tracking pixels to monitor email open events. You can receive open notifications via webhook or by fetching the pixel.","operationId":"createTrackingPixel","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTrackingPixelOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TrackingPixelDto"}}}}}}},"/tools/lookup-tls-reporting-domain":{"post":{"tags":["ToolsController"],"summary":"Lookup a TLS reporting domain policy","operationId":"lookupTlsReportingDomain","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookupTlsReportingDomainOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/LookupTlsReportingDomainResults"}}}}}}},"/tools/lookup-mta-sts-domain":{"post":{"tags":["ToolsController"],"summary":"Lookup a MTA-STS domain policy","operationId":"lookupMtaStsDomain","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookupMtaStsDomainOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/LookupMtaStsDomainResults"}}}}}}},"/tools/lookup-dmarc-domain":{"post":{"tags":["ToolsController"],"summary":"Lookup a DMARC record policy","operationId":"lookupDmarcDomain","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookupDmarcDomainOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/LookupDmarcDomainResults"}}}}}}},"/tools/lookup-bimi-domain":{"post":{"tags":["ToolsController"],"summary":"Lookup a BIMI record policy","operationId":"lookupBimiDomain","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookupBimiDomainOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/LookupBimiDomainResults"}}}}}}},"/tools/generate-tls-reporting-record":{"post":{"tags":["ToolsController"],"summary":"Create a TLS reporting record policy","operationId":"generateTlsReportingRecord","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateTlsReportingRecordOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GenerateTlsReportingRecordResults"}}}}}}},"/tools/generate-mta-sts-record":{"post":{"tags":["ToolsController"],"summary":"Create a TLS reporting record policy","operationId":"generateMtaStsRecord","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateMtaStsRecordOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GenerateMtaStsRecordResults"}}}}}}},"/tools/generate-dmarc-record":{"post":{"tags":["ToolsController"],"summary":"Create a DMARC record policy","operationId":"generateDmarcRecord","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateDmarcRecordOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GenerateDmarcRecordResults"}}}}}}},"/tools/generate-bimi-record":{"post":{"tags":["ToolsController"],"summary":"Create a BIMI record policy","operationId":"generateBimiRecord","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateBimiRecordOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GenerateBimiRecordResults"}}}}}}},"/tools/fake-email":{"get":{"tags":["ToolsController"],"operationId":"getFakeEmailById","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/FakeEmailResult"}}}}}},"post":{"tags":["ToolsController"],"summary":"Create a new email address using the fake email domains","operationId":"createNewFakeEmailAddress","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/NewFakeEmailAddressResult"}}}}}}},"/tools/check-email-features-client-support":{"post":{"tags":["ToolsController"],"summary":"Check email client support for email HTML and CSS features","operationId":"checkEmailFeaturesClientSupport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckEmailFeaturesClientSupportOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CheckEmailFeaturesClientSupportResults"}}}}}}},"/templates":{"get":{"tags":["TemplateController"],"summary":"List templates","description":"Get all templates","operationId":"getTemplates","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TemplateProjection"}}}}}}},"post":{"tags":["TemplateController"],"summary":"Create a Template","description":"Create an email template with variables for use with templated transactional emails.","operationId":"createTemplate","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTemplateOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TemplateDto"}}}}}}},"/sms/{smsId}/reply":{"get":{"tags":["SmsController"],"summary":"Get reply for an SMS message","description":"Get reply for an SMS message.","operationId":"getReplyForSmsMessage","parameters":[{"name":"smsId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ReplyForSms"}}}}}},"post":{"tags":["SmsController"],"summary":"Send a reply to a received SMS message. Replies are sent from the receiving number.","description":"Reply to an SMS message.","operationId":"replyToSmsMessage","parameters":[{"name":"smsId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SmsReplyOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SentSmsDto"}}}}}}},"/sendEmail":{"post":{"tags":["CommonActionsController"],"summary":"Send an email","description":"If no senderId or inboxId provided a random email address will be used to send from.","operationId":"sendEmailSimple","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimpleSendEmailOptions"}}},"required":true},"responses":{"201":{"description":"Created"}}}},"/sendEmailQuery":{"post":{"tags":["CommonActionsController"],"summary":"Send an email using query parameters","description":"If no senderId or inboxId provided a random email address will be used to send from. Ensure your parameters are URL encoded.","operationId":"sendEmailQuery","parameters":[{"name":"senderId","in":"query","description":"ID of inbox to send from. If null an inbox will be created for sending","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"to","in":"query","description":"Email address to send to","required":true,"schema":{"type":"string"}},{"name":"body","in":"query","description":"Body of the email message. Supports HTML","required":false,"schema":{"type":"string"}},{"name":"subject","in":"query","description":"Subject line of the email","required":false,"schema":{"type":"string"}}],"responses":{"201":{"description":"Created"}}}},"/rulesets/{id}/test":{"post":{"tags":["InboxRulesetController"],"summary":"Test an inbox ruleset","description":"Test an inbox ruleset","operationId":"testInboxRuleset","parameters":[{"name":"id","in":"path","description":"ID of inbox ruleset","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboxRulesetTestOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxRulesetTestResult"}}}}}}},"/rulesets/test-sending":{"post":{"tags":["InboxRulesetController"],"summary":"Test sending with inbox rulesets","description":"Test whether outbound emails to an email address would be blocked or allowed by inbox rulesets","operationId":"testInboxRulesetSending","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestInboxRulesetSendingOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TestInboxRulesetSendingResult"}}}}}}},"/rulesets/test-receiving":{"post":{"tags":["InboxRulesetController"],"summary":"Test receiving with inbox rulesets","description":"Test whether inbound emails from an email address would be blocked or allowed by inbox rulesets","operationId":"testInboxRulesetReceiving","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestInboxRulesetReceivingOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TestInboxRulesetReceivingResult"}}}}}}},"/repliers":{"get":{"tags":["InboxReplierController"],"summary":"List inbox repliers","description":"List all repliers attached to an inbox","operationId":"getInboxRepliers","parameters":[{"name":"inboxId","in":"query","description":"Optional inbox id to get repliers from","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in inbox replier list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox replier list pagination","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"sort","in":"query","description":"Optional createdAt sort direction ASC or DESC","required":false,"schema":{"type":"string","default":"ASC","enum":["ASC","DESC"]}},{"name":"since","in":"query","description":"Filter by created at after the given timestamp","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Filter by created at before the given timestamp","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageInboxReplierDto"}}}}}},"post":{"tags":["InboxReplierController"],"summary":"Create an inbox replier","description":"Create a new inbox rule for reply toing, blocking, and allowing emails when sending and receiving","operationId":"createNewInboxReplier","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInboxReplierOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxReplierDto"}}}}}},"delete":{"tags":["InboxReplierController"],"summary":"Delete inbox repliers","description":"Delete inbox repliers. Accepts optional inboxId filter.","operationId":"deleteInboxRepliers","parameters":[{"name":"inboxId","in":"query","description":"Optional inbox id to attach replier to","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/phone/numbers/{phoneNumberId}/webhooks":{"post":{"tags":["WebhookController"],"summary":"Attach a WebHook URL to a phone number","description":"Get notified whenever a phone number receives an SMS via a WebHook URL.","operationId":"createWebhookForPhoneNumber","parameters":[{"name":"phoneNumberId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookDto"}}}}}}},"/phone/numbers/{phoneNumberId}/test":{"post":{"tags":["PhoneController"],"operationId":"testPhoneNumberSendSms","parameters":[{"name":"x-test-id","in":"header","required":false,"schema":{"type":"string"}},{"name":"phoneNumberId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestPhoneNumberOptions"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/phone/emergency-addresses":{"get":{"tags":["PhoneController"],"operationId":"getEmergencyAddresses","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EmergencyAddressDto"}}}}}}},"post":{"tags":["PhoneController"],"operationId":"createEmergencyAddress","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEmergencyAddressOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmergencyAddress"}}}}}}},"/newEmailAddress":{"post":{"tags":["CommonActionsController"],"summary":"Create new random inbox","description":"Returns an Inbox with an `id` and an `emailAddress`","operationId":"createNewEmailAddress","parameters":[{"name":"allowTeamAccess","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"useDomainPool","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"expiresAt","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"expiresIn","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"emailAddress","in":"query","required":false,"schema":{"type":"string"}},{"name":"inboxType","in":"query","required":false,"schema":{"type":"string","description":"Type of inbox. HTTP inboxes are faster and better for most cases. SMTP inboxes are more suited for public facing inbound messages (but cannot send).","enum":["HTTP_INBOX","SMTP_INBOX"]}},{"name":"description","in":"query","required":false,"schema":{"type":"string"}},{"name":"name","in":"query","required":false,"schema":{"type":"string"}},{"name":"tags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"favourite","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"virtualInbox","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"useShortAddress","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"domainName","in":"query","required":false,"schema":{"type":"string"}},{"name":"domainId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"prefix","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxDto"}}}}}}},"/missed-emails/restore":{"post":{"tags":["MissedEmailController"],"summary":"Restore missed emails","description":"If emails were missed due to a plan limit they are saved as missed emails. If support team enables the canRestore flag these emails can be reload into your account using this method.","operationId":"restoreMissedEmails","responses":{"200":{"description":"OK"}}}},"/mail-server/verify/email-address":{"post":{"tags":["MailServerController"],"summary":"Deprecated. Use the EmailVerificationController methods for more accurate and reliable functionality. Verify the existence of an email address at a given mail server.","operationId":"verifyEmailAddress","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyEmailAddressOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailVerificationResult"}}}}},"deprecated":true}},"/mail-server/describe/ip-address":{"post":{"tags":["MailServerController"],"summary":"Get IP address for a domain","operationId":"getIpAddress","parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/IPAddressResult"}}}}}}},"/mail-server/describe/domain":{"post":{"tags":["MailServerController"],"summary":"Get DNS Mail Server records for a domain","operationId":"describeMailServerDomain","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DescribeDomainOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DescribeMailServerDomainResult"}}}}}}},"/mail-server/describe/dns-lookups":{"post":{"tags":["MailServerController"],"summary":"Lookup DNS records for multiple domains","operationId":"getDnsLookups","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DNSLookupsOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DNSLookupResults"}}}}}}},"/mail-server/describe/dns-lookup":{"post":{"tags":["MailServerController"],"summary":"Lookup DNS records for a domain","operationId":"getDnsLookup","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DNSLookupOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DNSLookupResults"}}}}}}},"/inboxes":{"get":{"tags":["InboxController"],"summary":"List Inboxes and email addresses","description":"List the inboxes you have created. Note use of the more advanced `getAllInboxes` is recommended and allows paginated access using a limit and sort parameter.","operationId":"getInboxes","parameters":[{"name":"size","in":"query","description":"Optional result size limit. Note an automatic limit of 100 results is applied. See the paginated `getAllEmails` for larger queries.","required":false,"schema":{"maximum":100,"type":"integer","format":"int32","default":100}},{"name":"sort","in":"query","description":"Optional createdAt sort direction ASC or DESC","required":false,"schema":{"type":"string","default":"ASC","enum":["ASC","DESC"]}},{"name":"since","in":"query","description":"Optional filter by created after given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"excludeCatchAllInboxes","in":"query","description":"Optional exclude catch all inboxes","required":false,"schema":{"type":"boolean"}},{"name":"before","in":"query","description":"Optional filter by created before given date time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InboxDto"}}}}}},"deprecated":true},"post":{"tags":["InboxController"],"summary":"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.","description":"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. ","operationId":"createInbox","parameters":[{"name":"emailAddress","in":"query","description":"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. 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.","required":false,"schema":{"type":"string"}},{"name":"tags","in":"query","description":"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.","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"name","in":"query","description":"Optional name of the inbox. Displayed in the dashboard for easier search and used as the sender name when sending emails.","required":false,"schema":{"type":"string"}},{"name":"description","in":"query","description":"Optional description of the inbox for labelling purposes. Is shown in the dashboard and can be used with","required":false,"schema":{"type":"string"}},{"name":"useDomainPool","in":"query","description":"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. Note this feature is only available for `HTTP` inbox types.","required":false,"schema":{"type":"boolean"}},{"name":"favourite","in":"query","description":"Is the inbox a favorite. Marking an inbox as a favorite is typically done in the dashboard for quick access or filtering","required":false,"schema":{"type":"boolean"}},{"name":"expiresAt","in":"query","description":"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.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"expiresIn","in":"query","description":"Number of milliseconds that inbox should exist for","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"allowTeamAccess","in":"query","description":"DEPRECATED (team access is always true). Grant team access to this inbox and the emails that belong to it for team members of your organization.","required":false,"schema":{"type":"boolean"}},{"name":"inboxType","in":"query","description":"HTTP (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`.","required":false,"schema":{"type":"string","description":"Type of inbox. HTTP inboxes are faster and better for most cases. SMTP inboxes are more suited for public facing inbound messages (but cannot send).","enum":["HTTP_INBOX","SMTP_INBOX"]}},{"name":"virtualInbox","in":"query","description":"Virtual inbox prevents any outbound emails from being sent. It creates sent email records but will never send real emails to recipients. Great for testing and faking email sending.","required":false,"schema":{"type":"boolean"}},{"name":"useShortAddress","in":"query","description":"Use a shorter email address under 31 characters","required":false,"schema":{"type":"boolean"}},{"name":"domainId","in":"query","description":"ID of custom domain to use for email address.","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"domainName","in":"query","description":"FQDN domain name for the domain you have verified. Will be appended with a randomly assigned recipient name. Use the `emailAddress` option instead to specify the full custom inbox.","required":false,"schema":{"type":"string"}},{"name":"prefix","in":"query","description":"Prefix to add before the email address for easier labelling or identification.","required":false,"schema":{"type":"string"}}],"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxDto"}}}}}},"delete":{"tags":["InboxController"],"summary":"Delete all inboxes","description":"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.","operationId":"deleteAllInboxes","responses":{"204":{"description":"No Content"}}}},"/inboxes/{inboxId}":{"get":{"tags":["InboxController"],"summary":"Get Inbox. Returns properties of an inbox.","description":"Returns an inbox's properties, including its email address and ID.","operationId":"getInbox","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxDto"}}}}}},"post":{"tags":["InboxController"],"summary":"Send Email","description":"Send an email from an inbox's email address. \nThe 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`.","operationId":"sendEmail","parameters":[{"name":"inboxId","in":"path","description":"ID of the inbox you want to send the email from","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendEmailOptions"}}},"required":true},"responses":{"201":{"description":"Created"}}},"delete":{"tags":["InboxController"],"summary":"Delete inbox","description":"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.","operationId":"deleteInbox","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}},"patch":{"tags":["InboxController"],"summary":"Update Inbox. Change name and description. Email address is not editable.","description":"Update editable fields on an inbox","operationId":"updateInbox","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateInboxOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxDto"}}}}}}},"/inboxes/{inboxId}/with-schedule":{"post":{"tags":["InboxController"],"summary":"Send email with with delay or schedule","description":"Send an email using a delay. Will place the email onto a scheduler that will then be processed and sent. Use delays to schedule email sending.","operationId":"sendWithSchedule","parameters":[{"name":"inboxId","in":"path","description":"ID of the inbox you want to send the email from","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"sendAtTimestamp","in":"query","description":"Sending timestamp","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"sendAtNowPlusSeconds","in":"query","description":"Send after n seconds","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"validateBeforeEnqueue","in":"query","description":"Validate before adding to queue","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendEmailOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ScheduledJobDto"}}}}}}},"/inboxes/{inboxId}/with-queue":{"post":{"tags":["InboxController"],"summary":"Send email with queue","description":"Send an email using a queue. Will place the email onto a queue that will then be processed and sent. Use this queue method to enable any failed email sending to be recovered. This will prevent lost emails when sending if your account encounters a block or payment issue.","operationId":"sendEmailWithQueue","parameters":[{"name":"inboxId","in":"path","description":"ID of the inbox you want to send the email from","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"validateBeforeEnqueue","in":"query","description":"Validate before adding to queue","required":true,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendEmailOptions"}}},"required":true},"responses":{"201":{"description":"Created"}}}},"/inboxes/{inboxId}/webhooks":{"get":{"tags":["WebhookController"],"summary":"Get all webhooks for an Inbox","operationId":"getWebhooks","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookDto"}}}}}},"deprecated":true},"post":{"tags":["WebhookController"],"summary":"Attach a WebHook URL to an inbox","description":"Get notified whenever an inbox receives an email via a WebHook URL. An emailID will be posted to this URL every time an email is received for this inbox. The URL must be publicly reachable by the MailSlurp server. You can provide basicAuth values if you wish to secure this endpoint.","operationId":"createWebhook","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookDto"}}}}}}},"/inboxes/{inboxId}/smtp-envelope":{"post":{"tags":["InboxController"],"summary":"Send email using an SMTP mail envelope and message body and return sent confirmation","description":"Send email using an SMTP envelope containing RCPT TO, MAIL FROM, and a SMTP BODY.","operationId":"sendSmtpEnvelope","parameters":[{"name":"inboxId","in":"path","description":"ID of the inbox you want to send the email from","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendSMTPEnvelopeOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SentEmailDto"}}}}}}},"/inboxes/{inboxId}/send-test-email":{"post":{"tags":["InboxController"],"summary":"Send a test email to inbox","description":"Send an inbox a test email to test email receiving is working","operationId":"sendTestEmail","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/inboxes/{inboxId}/rulesets":{"get":{"tags":["InboxController"],"summary":"List inbox rulesets","description":"List all rulesets attached to an inbox","operationId":"listInboxRulesets","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in inbox ruleset list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox ruleset list pagination","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"sort","in":"query","description":"Optional createdAt sort direction ASC or DESC","required":false,"schema":{"type":"string","default":"ASC","enum":["ASC","DESC"]}},{"name":"searchFilter","in":"query","description":"Optional search filter","required":false,"schema":{"type":"string"}},{"name":"since","in":"query","description":"Optional filter by created after given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Optional filter by created before given date time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageInboxRulesetDto"}}}}}},"post":{"tags":["InboxController"],"summary":"Create an inbox ruleset","description":"Create a new inbox rule for forwarding, blocking, and allowing emails when sending and receiving","operationId":"createInboxRuleset","parameters":[{"name":"inboxId","in":"path","description":"inboxId","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInboxRulesetOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxRulesetDto"}}}}}}},"/inboxes/{inboxId}/confirm":{"post":{"tags":["InboxController"],"summary":"Send email and return sent confirmation","description":"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.","operationId":"sendEmailAndConfirm","parameters":[{"name":"inboxId","in":"path","description":"ID of the inbox you want to send the email from","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendEmailOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SentEmailDto"}}}}}}},"/inboxes/withOptions":{"post":{"tags":["InboxController"],"summary":"Create an inbox with options. Extended options for inbox creation.","description":"Additional endpoint that allows inbox creation with request body options. Can be more flexible that other methods for some clients.","operationId":"createInboxWithOptions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInboxDto"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxDto"}}}}}}},"/inboxes/withDefaults":{"post":{"tags":["InboxController"],"summary":"Create an inbox with default options. Uses MailSlurp domain pool address and is private.","operationId":"createInboxWithDefaults","responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxDto"}}}}}}},"/inboxes/search":{"post":{"tags":["InboxController"],"summary":"Search all inboxes and return matching inboxes","description":"Search inboxes and return 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.","operationId":"searchInboxes","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchInboxesOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageInboxProjection"}}}}}}},"/groups":{"get":{"tags":["GroupController"],"summary":"Get all groups","operationId":"getGroups","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GroupProjection"}}}}}}},"post":{"tags":["GroupController"],"summary":"Create a group","operationId":"createGroup","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateGroupOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GroupDto"}}}}}}},"/forwarders/{id}/test":{"post":{"tags":["InboxForwarderController"],"summary":"Test an inbox forwarder","description":"Test an inbox forwarder","operationId":"testInboxForwarder","parameters":[{"name":"id","in":"path","description":"ID of inbox forwarder","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboxForwarderTestOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxForwarderTestResult"}}}}}}},"/forms":{"post":{"tags":["FormController"],"summary":"Submit a form to be parsed and sent as an email to an address determined by the form fields","description":"This endpoint allows you to submit HTML forms and receive the field values and files via email. \n\n#### Parameters\nThe endpoint looks for special meta parameters in the form fields OR in the URL request parameters. The meta parameters can be used to specify the behaviour of the email. \n\nYou must provide at-least a `_to` email address to tell the endpoint where the form should be emailed. These can be submitted as hidden HTML input fields with the corresponding `name` attributes or as URL query parameters such as `?_to=test@example.com`\n\nThe endpoint takes all other form fields that are named and includes them in the message body of the email. Files are sent as attachments.\n\n#### Submitting\nThis endpoint accepts form submission via POST method. It accepts `application/x-www-form-urlencoded`, and `multipart/form-data` content-types.\n\n#### HTML Example\n```html\n
\n```\n\n#### URL Example\n```html\n\n```\n\n\n\nThe email address is specified by a `_to` field OR is extracted from an email alias specified by a `_toAlias` field (see the alias controller for more information). \nEndpoint accepts . \nYou can specify a content type in HTML forms using the `enctype` attribute, for instance: `