{"openapi":"3.0.1","info":{"title":"MailSlurp API","description":"MailSlurp is an API for sending and receiving emails and SMS from dynamically allocated email addresses and phone numbers. 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":""},"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":"ConsentController","description":"Endpoints for managing double opt-in consent for sending promotional material to external email accounts."},{"name":"RulesetController","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":"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":"GuestPortalController","description":"\"Endpoints for managing guest portals and customer access to shareable email accounts. Use portals to grant your customers access to unique email accounts with a separate login and viewing endpoint.\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":"DeliverabilityTestController","description":"Create and manage deliverability/load tests for inboxes or phone numbers. Tests evaluate expected inbound email/SMS counts over time and support polling for progress and paged entity-level results."},{"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":"ToolsController","description":"Endpoints for miscellaneous tools."},{"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. 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.biz`. Use the domainPool options to use a randomly selected domain from a pool of available domains. Whenever you create an inbox MailSlurp will register the address and store any emails sent to the address within your inbox. \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":"MFAController","description":"Multi-factor authentication (MFA) endpoints for MailSlurp. For controlling virtual TOTP devices.."},{"name":"PhoneController","description":"Endpoints for managing phone numbers and addresses","externalDocs":{"description":"Phone number documentation","url":"https://docs.mailslurp.com/txt-sms/"}},{"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":"EmailAuditController","description":"Persist and inspect one-shot email audits that combine validation, compatibility, links, and images."},{"name":"ImapController","description":"Endpoints for performing IMAP like commands on inboxes"},{"name":"CampaignProbeController","description":"Create recipient probes for campaign QA, ingest sends asynchronously via SES monitor, and inspect health trends over time."},{"name":"DevicePreviewsController","description":"Create and manage async device preview render jobs for received emails using ESP service."},{"name":"MissedSmsController","description":"Endpoints for managing missed SMS. Missed SMS records are created when inbound SMS cannot be persisted after receipt."},{"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":"DomainMonitorController","description":"Continuously monitor domain deliverability posture with direct run-now, scheduled execution, insights, and trend analytics."},{"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."},{"name":"AIController","description":"AI endpoints for generating structured content, automations, and analyzing emails and SMS."}],"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"}}}},"/sms/{smsId}/favourite":{"put":{"tags":["SmsController"],"operationId":"setSmsFavourited","parameters":[{"name":"smsId","in":"path","description":"ID of SMS to set favourite state","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"favourited","in":"query","required":true,"schema":{"type":"boolean"}}],"responses":{"204":{"description":"No Content","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SmsDto"}}}}}}},"/rulesets":{"get":{"tags":["RulesetController"],"summary":"List rulesets block and allow lists","description":"List all rulesets attached to an inbox or phone or account","operationId":"getRulesets","parameters":[{"name":"inboxId","in":"query","description":"Optional inbox id to get rulesets from","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"phoneId","in":"query","description":"Optional phone 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/PageRulesetDto"}}}}}},"put":{"tags":["RulesetController"],"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/RulesetTestOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxRulesetTestResult"}}}}}},"post":{"tags":["RulesetController"],"summary":"Create a ruleset","description":"Create a new inbox or phone number rule for forwarding, blocking, and allowing emails or SMS when sending and receiving","operationId":"createNewRuleset","parameters":[{"name":"inboxId","in":"query","description":"Inbox id to attach ruleset to","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"phoneId","in":"query","description":"Phone id to attach ruleset to","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRulesetOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RulesetDto"}}}}}},"delete":{"tags":["RulesetController"],"summary":"Delete rulesets","description":"Delete rulesets. Accepts optional inboxId or phoneId filters.","operationId":"deleteRulesets","parameters":[{"name":"inboxId","in":"query","description":"Optional inbox id to attach ruleset to","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"phoneId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}},"patch":{"tags":["RulesetController"],"summary":"Test new ruleset","description":"Test new ruleset","operationId":"testNewRuleset","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"}}}},"/phone/numbers/{phoneNumberId}":{"get":{"tags":["PhoneController"],"summary":"Get a phone number by ID","description":"Get a phone number by ID","operationId":"getPhoneNumber","parameters":[{"name":"phoneNumberId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PhoneNumberDto"}}}}}},"put":{"tags":["PhoneController"],"summary":"Update a phone number","description":"Set field for phone number","operationId":"updatePhoneNumber","parameters":[{"name":"phoneNumberId","in":"path","description":"ID of phone to set favourite state","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePhoneNumberOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PhoneNumberDto"}}}}}},"delete":{"tags":["PhoneController"],"summary":"Delete a phone number","description":"Remove phone number from account","operationId":"deletePhoneNumber","parameters":[{"name":"phoneNumberId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/phone/numbers/{phoneNumberId}/favourite":{"put":{"tags":["PhoneController"],"summary":"Set phone favourited state","description":"Set and return new favorite state for a phone","operationId":"setPhoneFavourited","parameters":[{"name":"phoneNumberId","in":"path","description":"ID of phone to set favourite state","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPhoneFavouritedOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PhoneNumberDto"}}}}}}},"/inboxes/{inboxId}/favourite":{"put":{"tags":["InboxController"],"summary":"Set inbox favourited state","description":"Set and return new favorite 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":false,"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 hydrated email (headers and body)","description":"Returns parsed email content including headers and body fields. Accessing hydrated content may mark the email as read depending on read-state rules.","operationId":"getEmail","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Email"}},"application/xml;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Email"}},"application/json; charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Email"}},"application/xml; charset=UTF-8":{"schema":{"$ref":"#/components/schemas/Email"}}}}}},"put":{"tags":["EmailController"],"summary":"Reply to an email","description":"Sends a reply using the original conversation context (subject/thread headers). Reply target resolution honors sender/reply-to semantics.","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 a single email from account scope. Operation is destructive and not reversible.","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"}}}},"/emails/{emailId}/favourite":{"put":{"tags":["EmailController"],"summary":"Set email favourited state","description":"Sets favourite state for an email for dashboard/search workflows.","operationId":"setEmailFavourited","parameters":[{"name":"emailId","in":"path","description":"ID of email to set favourite state","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"favourited","in":"query","required":true,"schema":{"type":"boolean"}}],"responses":{"204":{"description":"No Content"}}}},"/emails/{emailId}/device-previews/latest":{"put":{"tags":["DevicePreviewsController"],"summary":"Return active run for email or create one when none exists","operationId":"ensureDevicePreviewRun","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDevicePreviewOptions"}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreateDevicePreviewRunResult"}}}}}}},"/emails/device-previews/feedback/{feedbackId}":{"get":{"tags":["DevicePreviewsController"],"summary":"Get a single device preview feedback item","operationId":"getDevicePreviewFeedback","parameters":[{"name":"feedbackId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DevicePreviewFeedbackDto"}}}}}},"put":{"tags":["DevicePreviewsController"],"summary":"Update device preview feedback","operationId":"updateDevicePreviewFeedback","parameters":[{"name":"feedbackId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDevicePreviewFeedbackOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DevicePreviewFeedbackDto"}}}}}}},"/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"}}}}}}}},"/domain-monitor/monitors/{monitorId}":{"get":{"tags":["DomainMonitorController"],"summary":"Get domain monitor","operationId":"getDomainMonitor","parameters":[{"name":"monitorId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainMonitorDto"}}}}}},"put":{"tags":["DomainMonitorController"],"summary":"Update domain monitor","operationId":"updateDomainMonitor","parameters":[{"name":"monitorId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDomainMonitorOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainMonitorDto"}}}}}},"delete":{"tags":["DomainMonitorController"],"summary":"Delete domain monitor","operationId":"deleteDomainMonitor","parameters":[{"name":"monitorId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/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"}}}},"/campaign-probe/probes/{probeId}":{"get":{"tags":["CampaignProbeController"],"summary":"Get campaign probe","operationId":"getCampaignProbe","parameters":[{"name":"probeId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CampaignProbeDto"}}}}}},"put":{"tags":["CampaignProbeController"],"summary":"Update campaign probe","operationId":"updateCampaignProbe","parameters":[{"name":"probeId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCampaignProbeOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CampaignProbeDto"}}}}}},"delete":{"tags":["CampaignProbeController"],"summary":"Delete campaign probe","operationId":"deleteCampaignProbe","parameters":[{"name":"probeId","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_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]}}],"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"}}}}}}},"/user/inbox-retention-policies/account":{"get":{"tags":["UserController"],"description":"Get inbox retention policy for your global account","operationId":"getInboxRetentionPolicyForAccount","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxRetentionPolicyOptionalDto"}}}}}},"post":{"tags":["UserController"],"description":"Create inbox retention policy for your global account","operationId":"createOrUpdateInboxRetentionPolicyForAccount","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInboxRetentionPolicyForAccountOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxRetentionPolicyDto"}}}}}},"delete":{"tags":["UserController"],"description":"Delete inbox retention policy for your global account","operationId":"deleteInboxRetentionPolicyForAccount","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmptyResponseDto"}}}}}}},"/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/test-smtp-server":{"post":{"tags":["ToolsController"],"summary":"Run a conservative SMTP connectivity, TLS, and AUTH diagnostic","operationId":"testSmtpServer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestSmtpServerOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TestSmtpServerResults"}}}}}}},"/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-spf-domain":{"post":{"tags":["ToolsController"],"summary":"Lookup and validate an SPF record","operationId":"lookupSpfDomain","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookupSpfDomainOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/LookupSpfDomainResults"}}}}}}},"/tools/lookup-ptr":{"post":{"tags":["ToolsController"],"summary":"Lookup PTR records for an IP address","operationId":"lookupPtr","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookupPtrOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/LookupPtrResults"}}}}}}},"/tools/lookup-mx-records":{"post":{"tags":["ToolsController"],"summary":"Lookup a MX records for a domain","operationId":"lookupMxRecord","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookupMxRecordsOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/LookupMxRecordsResults"}}}}}}},"/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-dkim-domain":{"post":{"tags":["ToolsController"],"summary":"Lookup and validate a DKIM record","operationId":"lookupDkimDomain","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LookupDkimDomainOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/LookupDkimDomainResults"}}}}}}},"/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-spf-record":{"post":{"tags":["ToolsController"],"summary":"Create an SPF record","operationId":"generateSpfRecord","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateSpfRecordOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GenerateSpfRecordResults"}}}}}}},"/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"],"summary":"Get a fake email by its ID","description":"Get a fake email by its ID","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"}}}}}},"delete":{"tags":["ToolsController"],"summary":"Delete a fake email address using the fake email domains","description":"Delete a fake email address using the fake email domains","operationId":"deleteNewFakeEmailAddress","parameters":[{"name":"emailAddress","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"}}}},"/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"}}}}}}},"/tools/check-email-blacklists":{"post":{"tags":["ToolsController"],"summary":"Check whether a domain or IP appears on configured DNS blacklists","operationId":"checkEmailBlacklist","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckEmailBlacklistOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CheckEmailBlacklistResults"}}}}}}},"/tools/check-email-auth-stack":{"post":{"tags":["ToolsController"],"summary":"Run a one-shot combined SPF, DKIM, DMARC, BIMI, MX, MTA-STS, and TLS-RPT check","operationId":"checkEmailAuthStack","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckEmailAuthStackOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CheckEmailAuthStackResults"}}}}}}},"/tools/check-email-audit":{"post":{"tags":["ToolsController"],"summary":"Run a one-shot free email audit across links, images, HTML, and client support","operationId":"checkEmailAudit","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckEmailAuditOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailAuditAnalysisResult"}}}}}}},"/tools/check-domain-monitor":{"post":{"tags":["ToolsController"],"summary":"Run a one-shot free domain monitor posture check","operationId":"checkDomainMonitor","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckDomainMonitorOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CheckDomainMonitorResults"}}}}}}},"/tools/check-dns-propagation":{"post":{"tags":["ToolsController"],"summary":"Check DNS propagation for a host and record type across configured resolvers","operationId":"checkDnsPropagation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckDnsPropagationOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CheckDnsPropagationResults"}}}}}}},"/tools/check-campaign-probe":{"post":{"tags":["ToolsController"],"summary":"Run a one-shot free campaign probe preflight check","operationId":"checkCampaignProbe","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckCampaignProbeOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CheckCampaignProbeResults"}}}}}}},"/tools/analyze-email-headers":{"post":{"tags":["ToolsController"],"summary":"Analyze email headers for auth results and delivery path","operationId":"analyzeEmailHeaders","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeEmailHeadersOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AnalyzeEmailHeadersResults"}}}}}}},"/tools/analyze-dmarc-report":{"post":{"tags":["ToolsController"],"summary":"Parse and summarize a DMARC aggregate XML report","operationId":"analyzeDmarcReport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeDmarcReportOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AnalyzeDmarcReportResults"}}}}}}},"/test/deliverability":{"get":{"tags":["DeliverabilityTestController"],"summary":"List deliverability/load tests","description":"List deliverability tests for the authenticated account.","operationId":"getDeliverabilityTests","parameters":[{"name":"page","in":"query","description":"Page index","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Page size","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"sort","in":"query","description":"Sort direction","required":false,"schema":{"type":"string","default":"DESC","enum":["ASC","DESC"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilityTestPageDto"}}}}}},"post":{"tags":["DeliverabilityTestController"],"summary":"Create deliverability/load test","description":"Create a deliverability test for inboxes or phone numbers using ALL, PATTERN, or EXPLICIT selector scope.","operationId":"createDeliverabilityTest","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDeliverabilityTestOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilityTestDto"}}}}}}},"/test/deliverability/{testId}/stop":{"post":{"tags":["DeliverabilityTestController"],"summary":"Stop deliverability/load test","description":"Stop a deliverability test and mark it terminal.","operationId":"stopDeliverabilityTest","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilityTestDto"}}}}}}},"/test/deliverability/{testId}/start":{"post":{"tags":["DeliverabilityTestController"],"summary":"Start or resume deliverability/load test","description":"Start a CREATED test or resume a PAUSED/SCHEDULED test.","operationId":"startDeliverabilityTest","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilityTestDto"}}}}}}},"/test/deliverability/{testId}/simulation-jobs":{"post":{"tags":["DeliverabilityTestController"],"summary":"Create deliverability simulation job","description":"Create and start a simulation job for a running deliverability test. Only one active simulation job is allowed per user.","operationId":"createDeliverabilitySimulationJob","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDeliverabilitySimulationJobOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilitySimulationJobDto"}}}}}}},"/test/deliverability/{testId}/simulation-jobs/{jobId}/resume":{"post":{"tags":["DeliverabilityTestController"],"summary":"Resume deliverability simulation job","description":"Resume a paused simulation job.","operationId":"resumeDeliverabilitySimulationJob","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilitySimulationJobDto"}}}}}}},"/test/deliverability/{testId}/simulation-jobs/{jobId}/pause":{"post":{"tags":["DeliverabilityTestController"],"summary":"Pause deliverability simulation job","description":"Pause a running simulation job.","operationId":"pauseDeliverabilitySimulationJob","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilitySimulationJobDto"}}}}}}},"/test/deliverability/{testId}/simulation-jobs/{jobId}/cancel":{"post":{"tags":["DeliverabilityTestController"],"summary":"Cancel deliverability simulation job","description":"Cancel a running or paused simulation job.","operationId":"cancelDeliverabilitySimulationJob","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilitySimulationJobDto"}}}}}}},"/test/deliverability/{testId}/pause":{"post":{"tags":["DeliverabilityTestController"],"summary":"Pause deliverability/load test","description":"Pause a RUNNING or SCHEDULED deliverability test.","operationId":"pauseDeliverabilityTest","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilityTestDto"}}}}}}},"/test/deliverability/{testId}/duplicate":{"post":{"tags":["DeliverabilityTestController"],"summary":"Duplicate deliverability/load test","description":"Create a fresh deliverability test using an existing test configuration, including selector scope, exclusions, and expectations.","operationId":"duplicateDeliverabilityTest","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilityTestDto"}}}}}}},"/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"}}}}}}},"/sms/{smsId}/codes":{"post":{"tags":["SmsController"],"summary":"Extract verification codes from an SMS","description":"Extract one-time passcodes and verification tokens from SMS body content. Deterministic `PATTERN` extraction is available now. Use method flags to control fallback behavior for QA.","operationId":"getSmsCodes","parameters":[{"name":"smsId","in":"path","description":"ID of SMS to extract codes from","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractCodesOptions"}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExtractCodesResult"}}}}}}},"/sms/send":{"post":{"tags":["SmsController"],"operationId":"sendSms","parameters":[{"name":"fromPhoneNumber","in":"query","description":"Phone number to send from in E.164 format","required":false,"schema":{"type":"string"}},{"name":"fromPhoneId","in":"query","description":"Phone number ID to send from in UUID form","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SmsSendOptions"}}},"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":["RulesetController"],"summary":"Test a ruleset","description":"Test an inbox or phone ruleset","operationId":"testRuleset","parameters":[{"name":"id","in":"path","description":"ID of ruleset","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RulesetTestOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxRulesetTestResult"}}}}}}},"/rulesets/test-sending":{"post":{"tags":["RulesetController"],"summary":"Test sending with rulesets","description":"Test whether outbound emails to an email address would be blocked or allowed by inbox rulesets or whether a phone number can send SMS","operationId":"testRulesetSending","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestInboxRulesetSendingOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TestRulesetSendingResult"}}}}}}},"/rulesets/test-receiving":{"post":{"tags":["RulesetController"],"summary":"Test receiving with rulesets","description":"Test whether inbound emails from an email address would be blocked or allowed by inbox rulesets or test if phone number can receive SMS","operationId":"testRulesetReceiving","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestRulesetReceivingOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TestRulesetReceivingResult"}}}}}}},"/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":{"post":{"tags":["PhoneController"],"summary":"Add phone number to your account. Only works if you have already added a plan and an initial phone number in your account and acknowledged the pricing and terms of service by enabling API phone creation.","description":"Create new phone number","operationId":"createPhoneNumber","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePhoneNumberOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PhoneNumberDto"}}}}}}},"/phone/validate":{"post":{"tags":["PhoneController"],"summary":"Verify validity of a phone number","description":"Validate a phone number","operationId":"validatePhoneNumber","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidatePhoneNumberOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PhoneNumberValidationDto"}}}}}}},"/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"],"summary":"Test sending an SMS to a number","description":"Test a phone number by sending an SMS to it. NOTE this is only for internal use to check that a phone number is working. For end-to-end phone testing see https://docs.mailslurp.com/txt-sms/","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/numbers/{phoneNumberId}/sms":{"get":{"tags":["PhoneController"],"summary":"List SMS messages for a phone number","description":"Get SMS messages for a phone number","operationId":"getSmsByPhoneNumber","parameters":[{"name":"phoneNumberId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in SMS list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in SMS list pagination. Maximum size is 100. Use page index and sort to page through larger results","required":false,"schema":{"maximum":100,"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":"unreadOnly","in":"query","description":"Optional filter for unread SMS only. All SMS are considered unread until they are viewed in the dashboard or requested directly","required":false,"schema":{"type":"boolean","default":false}},{"name":"since","in":"query","description":"Optional filter SMSs received after given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Optional filter SMSs received before given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"search","in":"query","description":"Optional search filter","required":false,"schema":{"type":"string"}},{"name":"favourite","in":"query","description":"Optionally filter results for favourites only","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageSmsProjection"}}}}}},"post":{"tags":["PhoneController"],"summary":"Send TXT message from a phone number","description":"Send SMS from a phone number","operationId":"sendSmsFromPhoneNumber","parameters":[{"name":"phoneNumberId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SmsSendOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SentSmsDto"}}}}}}},"/phone/emergency-addresses":{"get":{"tags":["PhoneController"],"summary":"Get emergency addresses","description":"List emergency addresses","operationId":"getEmergencyAddresses","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EmergencyAddressDto"}}}}}}},"post":{"tags":["PhoneController"],"summary":"Create an emergency address","description":"Add an emergency address to a phone number","operationId":"createEmergencyAddress","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEmergencyAddressOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmergencyAddress"}}}}}}},"/phone/consent":{"get":{"tags":["PhoneController"],"summary":"Get consent status","description":"Get the status of phone usage consent","operationId":"getConsentStatus","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConsentStatusDto"}}}}}},"post":{"tags":["PhoneController"],"summary":"Set consent status","description":"Give or revoke consent for phone usage","operationId":"setConsentStatus","parameters":[{"name":"agree","in":"query","required":true,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConsentStatusDto"}}}}}}},"/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"}}}},"/mfa/totp/device/otpAuthUrl":{"post":{"tags":["MFAController"],"summary":"Create a TOTP device from an OTP Auth URL","description":"Create a virtual TOTP device for a given OTP Auth URL such as otpauth://totp/MyApp:alice@example.com?secret=ABC123&issuer=MyApp&period=30&digits=6&algorithm=SHA1. You can provider overrides in the options for each component of the URL.","operationId":"createTotpDeviceForOtpAuthUrl","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTotpDeviceOtpAuthUrlOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TotpDeviceDto"}}}}}}},"/mfa/totp/device/custom":{"post":{"tags":["MFAController"],"summary":"Create a TOTP device from custom options","description":"Create a virtual TOTP device for custom options specifying all parameters of the TOTP device.","operationId":"createTotpDeviceForCustom","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTotpDeviceCustomOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TotpDeviceDto"}}}}}}},"/mfa/totp/device/base32SecretKey":{"post":{"tags":["MFAController"],"summary":"Create a TOTP device from an base32 secret key","description":"Create a virtual TOTP device for a given secret key. This is usually present as an alternative login option when pairing OTP devices.","operationId":"createTotpDeviceForBase32SecretKey","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTotpDeviceBase32SecretKeyOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TotpDeviceDto"}}}}}}},"/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"}},{"name":"include","in":"query","description":"Optional inboxIds to include in result","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}],"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 `mxslurp.click`.","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":"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":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookProjection"}}}}}},"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/PageRulesetDto"}}}}}},"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/CreateRulesetOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RulesetDto"}}}}}}},"/inboxes/{inboxId}/plus-addresses/get-or-create":{"post":{"tags":["InboxController"],"summary":"Get or create a plus address by full address","description":"Looks up an inbox plus address using a full email address like `inbox+alias@domain.com`. Returns an existing plus address if found, otherwise creates one.","operationId":"getOrCreateInboxPlusAddress","parameters":[{"name":"inboxId","in":"path","description":"ID of the inbox you want to target","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"fullAddress","in":"query","description":"Full recipient address including +suffix. Example: `inbox+alias@domain.com`","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PlusAddressDto"}}}}}}},"/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"}}}}}}},"/inboxes/get-or-create-plus-address":{"post":{"tags":["InboxController"],"summary":"Get or create a plus address by full address without inbox ID","description":"Looks up an inbox plus address using a full email address like `inbox+alias@domain.com`. Resolves the base inbox from the full address for the authenticated user, then returns an existing plus address if found, otherwise creates one.","operationId":"getOrCreatePlusAddressByFullAddress","parameters":[{"name":"fullAddress","in":"query","description":"Full recipient address including +suffix. Example: `inbox+alias@domain.com`","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PlusAddressDto"}}}}}}},"/inboxes/available":{"post":{"tags":["InboxController"],"summary":"Is email address available","description":"Returns whether an email address is available","operationId":"isEmailAddressAvailable","parameters":[{"name":"emailAddress","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailAvailableResult"}}}}}}},"/imap/server/update-flags":{"post":{"tags":["ImapController"],"description":"Update message flags","operationId":"imapServerUpdateFlags","parameters":[{"name":"inboxId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImapUpdateFlagsOptions"}}},"required":true},"responses":{"204":{"description":"No Content"}}}},"/imap/server/status":{"post":{"tags":["ImapController"],"summary":"Get status for mailbox","operationId":"imapServerStatus","parameters":[{"name":"inboxId","in":"query","description":"Inbox ID to list","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImapServerStatusOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ImapServerStatusResult"}}}}}}},"/imap/server/search":{"post":{"tags":["ImapController"],"summary":"Search messages in an inbox","operationId":"imapServerSearch","parameters":[{"name":"inboxId","in":"query","description":"Inbox ID to search","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImapServerSearchOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ImapServerSearchResult"}}}}}}},"/imap/server/mailbox":{"post":{"tags":["ImapController"],"summary":"Create a new mailbox if possible","operationId":"imapServerMailbox","parameters":[{"name":"name","in":"query","description":"Inbox email address to create","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ImapServerMailboxResult"}}}}}}},"/imap/server/list":{"post":{"tags":["ImapController"],"summary":"List messages in an inbox","operationId":"imapServerList","parameters":[{"name":"inboxId","in":"query","description":"Inbox ID to list","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImapServerListOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ImapServerListResult"}}}}}}},"/imap/server/get":{"post":{"tags":["ImapController"],"summary":"Get a message by email ID","operationId":"imapServerGet","parameters":[{"name":"emailId","in":"query","description":"Email ID to get","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"inboxId","in":"query","description":"Inbox ID to search","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ImapServerGetResult"}}}}}}},"/imap/server/fetch":{"post":{"tags":["ImapController"],"summary":"Fetch message in an inbox","operationId":"imapServerFetch","parameters":[{"name":"inboxId","in":"query","description":"Inbox ID to search","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"seqNum","in":"query","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ImapServerFetchResult"}}}}}}},"/guest-portal":{"get":{"tags":["GuestPortalController"],"summary":"Get guest portals","description":"Get portals","operationId":"getGuestPortals","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GuestPortalDto"}}}}}}},"post":{"tags":["GuestPortalController"],"summary":"Create a portal page for your customers or clients to log into email accounts and view emails.","description":"Create a guest login page for customers or clients to access assigned email addresses","operationId":"createGuestPortal","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePortalOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GuestPortalDto"}}}}}}},"/guest-portal/{portalId}/user":{"get":{"tags":["GuestPortalController"],"summary":"Get all guest users for portal","description":"Get customers for a portal","operationId":"getGuestPortalUsers","parameters":[{"name":"portalId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"search","in":"query","description":"Optional search term","required":false,"schema":{"type":"string"}},{"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":"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/PageGuestPortalUsers"}}}}}},"post":{"tags":["GuestPortalController"],"summary":"Create a portal guest user","description":"Add customer to portal","operationId":"createGuestPortalUser","parameters":[{"name":"portalId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePortalUserOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GuestPortalUserCreateDto"}}}}}}},"/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<form \n  action=\"https://api.mailslurp.com/forms\"\n  method=\"post\"\n>\n  <input name=\"_to\" type=\"hidden\" value=\"test@example.com\"/>\n  <textarea name=\"feedback\"></textarea>\n  <button type=\"submit\">Submit</button>\n</form>\n```\n\n#### URL Example\n```html\n<form \n  action=\"https://api.mailslurp.com/forms?_to=test@example.com\"\n  method=\"post\"\n>\n  <textarea name=\"feedback\"></textarea>\n  <button type=\"submit\">Submit</button>\n</form>\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: `<form enctype=\"multipart/form-data\">`.\n\n","operationId":"submitForm","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"_to":{"type":"string","description":"The email address that submitted form should be sent to."},"_subject":{"type":"string","description":"Optional subject of the email that will be sent."},"_emailAddress":{"type":"string","description":"Email address of the submitting user. Include this if you wish to record the submitters email address and reply to it later."},"_successMessage":{"type":"string","description":"Optional success message to display if no _redirectTo present."},"_spamCheck":{"type":"string","description":"Optional but recommended field that catches spammers out. Include as a hidden form field but LEAVE EMPTY. Spam-bots will usually fill every field. If the _spamCheck field is filled the form submission will be ignored."},"otherParameters":{"type":"string","description":"All other parameters or fields will be accepted and attached to the sent email. This includes files and any HTML form field with a name. These fields will become the body of the email that is sent."}}}},"multipart/form-data":{"schema":{"type":"object","properties":{"_to":{"type":"string","description":"The email address that submitted form should be sent to."},"_subject":{"type":"string","description":"Optional subject of the email that will be sent."},"_emailAddress":{"type":"string","description":"Email address of the submitting user. Include this if you wish to record the submitters email address and reply to it later."},"_successMessage":{"type":"string","description":"Optional success message to display if no _redirectTo present."},"_spamCheck":{"type":"string","description":"Optional but recommended field that catches spammers out. Include as a hidden form field but LEAVE EMPTY. Spam-bots will usually fill every field. If the _spamCheck field is filled the form submission will be ignored."},"otherParameters":{"type":"string","description":"All other parameters or fields will be accepted and attached to the sent email. This includes files and any HTML form field with a name. These fields will become the body of the email that is sent."}}}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/export":{"get":{"tags":["ExportController"],"summary":"Export inboxes link callable via browser","operationId":"exportEntities","parameters":[{"name":"exportType","in":"query","required":true,"schema":{"type":"string","enum":["INBOXES","CONTACTS","ATTACHMENTS","EMAILS"]}},{"name":"apiKey","in":"query","required":true,"schema":{"type":"string"}},{"name":"outputFormat","in":"query","required":true,"schema":{"type":"string","enum":["CSV_DEFAULT","CSV_EXCEL"]}},{"name":"filter","in":"query","required":false,"schema":{"type":"string"}},{"name":"listSeparatorToken","in":"query","required":false,"schema":{"type":"string"}},{"name":"excludePreviouslyExported","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"createdEarliestTime","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"createdOldestTime","in":"query","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string","format":"byte"}}}}}},"post":{"tags":["ExportController"],"summary":"Get export link","operationId":"getExportLink","parameters":[{"name":"exportType","in":"query","required":true,"schema":{"type":"string","enum":["INBOXES","CONTACTS","ATTACHMENTS","EMAILS"]}},{"name":"apiKey","in":"query","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExportLink"}}}}}}},"/emails":{"get":{"tags":["EmailController"],"summary":"Get all emails in all inboxes in paginated form. Email API list all.","description":"Primary paginated email listing endpoint. Returns emails across inboxes with support for inbox filters, unread-only, search, date boundaries, favourites, connector sync, and plus-address filtering.","operationId":"getEmailsPaginated","parameters":[{"name":"inboxId","in":"query","description":"Optional inbox ids to filter by. Can be repeated. By default will use all inboxes belonging to your account.","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"name":"page","in":"query","description":"Optional page index in email list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in email list pagination. Maximum size is 100. Use page index and sort to page through larger results","required":false,"schema":{"maximum":100,"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":"unreadOnly","in":"query","description":"Optional filter for unread emails only. All emails are considered unread until they are viewed in the dashboard or requested directly","required":false,"schema":{"type":"boolean","default":false}},{"name":"searchFilter","in":"query","description":"Optional search filter. Full email addresses match sender and receiving inbox email or receiving plus-address full address exactly. Address-like fragments containing @ (for example +alias@) also match sender, receiving inbox email, and receiving plus-address full address by contains. General text search matches sender, subject, and ID.","required":false,"schema":{"type":"string"}},{"name":"since","in":"query","description":"Optional filter emails received after given date time. If unset will use time 24hours prior to now.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Optional filter emails received before given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"syncConnectors","in":"query","description":"Sync connectors","required":false,"schema":{"type":"boolean"}},{"name":"plusAddressId","in":"query","description":"Optional plus address ID filter","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"favourited","in":"query","description":"Optional filter emails that are favourited","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageEmailProjection"}}}}}},"post":{"tags":["EmailController"],"summary":"Send email","description":"Sends an email from an existing inbox, or creates a temporary inbox when `inboxId` is not provided. Supports `useDomainPool` and `virtualSend` inbox creation behavior for convenience sends.","operationId":"sendEmailSourceOptional","parameters":[{"name":"inboxId","in":"query","description":"ID of the inbox you want to send the email from","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"useDomainPool","in":"query","description":"Use domain pool. Optionally create inbox to send from using the mailslurp domain pool.","required":false,"schema":{"type":"boolean"}},{"name":"virtualSend","in":"query","description":"Optionally create inbox to send from that is a virtual inbox and won't send to external addresses","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendEmailOptions"}}},"required":true},"responses":{"201":{"description":"Created"}}},"delete":{"tags":["EmailController"],"summary":"Delete all emails in all inboxes.","description":"Deletes all emails for the authenticated account context. This operation is destructive and cannot be undone.","operationId":"deleteAllEmails","responses":{"204":{"description":"No Content"}}}},"/emails/{emailId}/validate":{"post":{"tags":["EmailController"],"summary":"Validate email HTML contents","description":"Runs HTML validation on the email body when HTML is present. Non-HTML emails are treated as valid for this check.","operationId":"validateEmail","parameters":[{"name":"emailId","in":"path","description":"ID of email","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ValidationDto"}}}}}}},"/emails/{emailId}/screenshot/binary":{"post":{"tags":["EmailController"],"summary":"Take a screenshot of an email in a browser","description":"Renders the email in a browser engine and returns PNG bytes. Intended for visual QA and rendering regression checks.","operationId":"getEmailScreenshotAsBinary","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetEmailScreenshotOptions"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/emails/{emailId}/screenshot/base64":{"post":{"tags":["EmailController"],"summary":"Take a screenshot of an email in a browser and return base64 encoded string","description":"Renders the email in a browser engine and returns PNG data as base64. Useful for APIs and dashboards that cannot easily stream binary responses.","operationId":"getEmailScreenshotAsBase64","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetEmailScreenshotOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailScreenshotResult"}}}}}}},"/emails/{emailId}/imap-flag-operation":{"post":{"tags":["EmailController"],"summary":"Set IMAP flags associated with a message. Only supports '\\Seen' flag.","description":"Applies RFC3501 IMAP flag operations on a message. Current implementation supports read/unread semantics via the `\\\\Seen` flag only.","operationId":"applyImapFlagOperation","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImapFlagOperationOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailPreview"}}}}}}},"/emails/{emailId}/forward":{"post":{"tags":["EmailController"],"summary":"Forward email to recipients","description":"Forwards an existing email to new recipients. Uses the owning inbox context unless overridden by allowed sender options.","operationId":"forwardEmail","parameters":[{"name":"emailId","in":"path","description":"ID of email","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForwardEmailOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SentEmailDto"}}}}}}},"/emails/{emailId}/device-previews":{"get":{"tags":["DevicePreviewsController"],"summary":"List previous device preview runs for an email","operationId":"getDevicePreviewRuns","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DevicePreviewRunDto"}}}}}}},"post":{"tags":["DevicePreviewsController"],"summary":"Create a new device preview run for an email","operationId":"createDevicePreviewRun","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDevicePreviewOptions"}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CreateDevicePreviewRunResult"}}}}}}},"/emails/{emailId}/contentMatch":{"post":{"tags":["EmailController"],"summary":"Run regex against hydrated email body and return matches","description":"Executes a Java regex pattern over hydrated email body text and returns the full match plus capture groups. Pattern syntax follows Java `Pattern` rules.","operationId":"getEmailContentMatch","parameters":[{"name":"emailId","in":"path","description":"ID of email to match against","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentMatchOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailContentMatchResult"}}}}}}},"/emails/{emailId}/codes":{"post":{"tags":["EmailController"],"summary":"Extract verification codes from an email","description":"Extracts one-time passcodes and similar tokens from email content. Supports deterministic extraction now with method/fallback flags (`AUTO`, `PATTERN`, `LLM`, `OCR`, `OCR_THEN_LLM`) for QA and future advanced pipelines.","operationId":"getEmailCodes","parameters":[{"name":"emailId","in":"path","description":"ID of email to extract codes from","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractCodesOptions"}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExtractCodesResult"}}}}}}},"/emails/{emailId}/check-email-body":{"post":{"tags":["EmailController"],"summary":"Check email body for broken links, images, and spelling issues","description":"Runs content quality checks against hydrated email body content. This endpoint performs outbound HTTP checks for linked resources, so avoid use with sensitive or stateful URLs.","operationId":"checkEmailBody","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CheckEmailBodyResults"}}}}}}},"/emails/{emailId}/check-email-body-feature-support":{"post":{"tags":["EmailController"],"summary":"Check client support for features used in a stored email body","description":"Detects HTML/CSS features in the target email body and reports compatibility across major email clients and devices.","operationId":"checkEmailBodyFeatureSupport","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CheckEmailBodyFeatureSupportResults"}}}}}}},"/emails/{emailId}/check-email-audit":{"post":{"tags":["EmailController"],"summary":"Run aggregate email audit for a stored email","description":"Runs the same message-level audit bundle used by the email audit dashboard in one request. Combines content checks, HTML validation, compatibility analysis, and reputation verdict rollup when available.","operationId":"checkEmailAudit_1","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailAuditAnalysisResult"}}}}}}},"/emails/{emailId}/audit":{"post":{"tags":["EmailController"],"summary":"Persist aggregate email audit for a stored email","description":"Runs the aggregate audit bundle for the target email and stores the resulting audit record for later review and history tracking.","operationId":"createEmailAuditForEmail","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailAuditDto"}}}}}}},"/emails/search":{"post":{"tags":["EmailController"],"summary":"Get all emails by search criteria. Return in paginated form.","description":"Searches emails by sender/recipient/address/subject/id fields and returns paginated matches. Does not perform full-text body search.","operationId":"searchEmails","parameters":[{"name":"syncConnectors","in":"query","description":"Sync connectors","required":false,"schema":{"type":"boolean"}},{"name":"favourited","in":"query","description":"Search only favourited emails","required":false,"schema":{"type":"boolean"}},{"name":"plusAddressId","in":"query","description":"Optional plus address ID filter","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchEmailsOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageEmailProjection"}}}}}}},"/emails/device-previews/{runId}/cancel":{"post":{"tags":["DevicePreviewsController"],"summary":"Cancel a running device preview run","operationId":"cancelDevicePreviewRun","parameters":[{"name":"runId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelDevicePreviewRunOptions"}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CancelDevicePreviewRunResult"}}}}}}},"/emails/device-previews/feedback":{"get":{"tags":["DevicePreviewsController"],"summary":"List device preview feedback","operationId":"getDevicePreviewFeedbackItems","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"source","in":"query","required":false,"schema":{"type":"string","enum":["API_SERVICE","LAB_USER","END_USER","SYSTEM"]}},{"name":"runId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["OPEN","ACKNOWLEDGED","RESOLVED","DISMISSED"]}},{"name":"provider","in":"query","required":false,"schema":{"type":"string","enum":["GMAIL","OUTLOOK","YAHOO"]}},{"name":"category","in":"query","required":false,"schema":{"type":"string","enum":["GENERAL","RUN_QUALITY","SCREENSHOT_QUALITY","PROVIDER_ISSUE","BUG_REPORT","FEATURE_REQUEST","NOTE"]}},{"name":"search","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DevicePreviewFeedbackListDto"}}}}}},"post":{"tags":["DevicePreviewsController"],"summary":"Create device preview feedback","operationId":"createDevicePreviewFeedback","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDevicePreviewFeedbackOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DevicePreviewFeedbackDto"}}}}}}},"/emails/check-email-client-support":{"post":{"tags":["EmailController"],"summary":"Check email-client support for a provided HTML body","description":"Evaluates HTML/CSS features in the supplied body and reports support coverage across major email clients and platforms.","operationId":"checkEmailClientSupport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckEmailClientSupportOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CheckEmailClientSupportResults"}}}}}}},"/emails/can-send":{"post":{"tags":["EmailController"],"summary":"Check whether an email send would be accepted","description":"Validates sender/inbox context and recipient eligibility before attempting a send. Useful for preflight checks in UI or test workflows.","operationId":"canSend","parameters":[{"name":"inboxId","in":"query","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":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CanSendEmailResults"}}}}}}},"/email-verification/email-address-list":{"post":{"tags":["EmailVerificationController"],"summary":"Validate a list of email addresses. Per unit billing. See your plan for pricing.","description":"Verify a list of email addresses is valid and can be contacted.","operationId":"validateEmailAddressList","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateEmailAddressListOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ValidateEmailAddressListResult"}}}}}}},"/email-audits":{"get":{"tags":["EmailAuditController"],"summary":"List email audits","operationId":"getEmailAudits","parameters":[{"name":"emailId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"since","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EmailAuditDto"}}}}}}},"post":{"tags":["EmailAuditController"],"summary":"Create email audit","operationId":"createEmailAudit","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEmailAuditOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailAuditDto"}}}}}}},"/domains":{"get":{"tags":["DomainController"],"summary":"Get domains","description":"List all custom domains you have created","operationId":"getDomains","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DomainPreview"}}}}}}},"post":{"tags":["DomainController"],"summary":"Create Domain","description":"Link a domain that you own with MailSlurp so you can create email addresses using it. Endpoint returns DNS records used for validation. You must add these verification records to your host provider's DNS setup to verify the domain.","operationId":"createDomain","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDomainOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainDto"}}}}}}},"/domains/{id}/wildcard":{"get":{"tags":["DomainController"],"summary":"Get catch all wild card inbox for domain","description":"Get the catch all inbox for a domain for missed emails","operationId":"getDomainWildcardCatchAllInbox","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxDto"}}}}}},"post":{"tags":["DomainController"],"summary":"Add catch all wild card inbox to domain","description":"Add a catch all inbox to a domain so that any emails sent to it that cannot be matched will be sent to the catch all inbox generated","operationId":"addDomainWildcardCatchAll","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainDto"}}}}}}},"/domain-monitor/monitors":{"get":{"tags":["DomainMonitorController"],"summary":"List domain monitors","operationId":"getDomainMonitors","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DomainMonitorDto"}}}}}}},"post":{"tags":["DomainMonitorController"],"summary":"Create domain monitor","operationId":"createDomainMonitor","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDomainMonitorOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainMonitorDto"}}}}}}},"/domain-monitor/monitors/{monitorId}/run-now":{"post":{"tags":["DomainMonitorController"],"summary":"Run monitor now","operationId":"runDomainMonitorNow","parameters":[{"name":"monitorId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainMonitorRunNowResult"}}}}}}},"/domain-monitor/monitors/{monitorId}/alert-sinks":{"get":{"tags":["DomainMonitorController"],"summary":"List alert sinks for monitor","operationId":"getDomainMonitorAlertSinks","parameters":[{"name":"monitorId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DomainMonitorAlertSinkDto"}}}}}}},"post":{"tags":["DomainMonitorController"],"summary":"Create alert sink for monitor","operationId":"createDomainMonitorAlertSink","parameters":[{"name":"monitorId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDomainMonitorAlertSinkOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainMonitorAlertSinkDto"}}}}}}},"/domain-monitor/monitors/run-due":{"post":{"tags":["DomainMonitorController"],"summary":"Run due monitors for user","operationId":"runDueDomainMonitors","parameters":[{"name":"maxRuns","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainMonitorRunDueResult"}}}}}}},"/createInbox":{"post":{"tags":["CommonActionsController"],"summary":"Create new random inbox","description":"Returns an Inbox with an `id` and an `emailAddress`","operationId":"createRandomInbox","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"}}}}}}},"/contacts":{"get":{"tags":["ContactController"],"summary":"Get all contacts","operationId":"getContacts","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ContactProjection"}}}}}}},"post":{"tags":["ContactController"],"summary":"Create a contact","operationId":"createContact","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContactOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ContactDto"}}}}}}},"/consent/opt-in/send":{"post":{"tags":["ConsentController"],"summary":"Send a verification code to a user once they have explicitly submitted their email address","description":"Send double-opt in consent for an email address","operationId":"sendOptInConsentForEmailAddress","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptInConsentOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OptInConsentSendResult"}}}}}}},"/connectors":{"get":{"tags":["ConnectorController"],"summary":"Get inbox connectors","description":"List inbox connectors that sync external emails to MailSlurp inboxes","operationId":"getConnectors","parameters":[{"name":"page","in":"query","description":"Optional page index in connector list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in connector 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/PageConnector"}}}}}},"post":{"tags":["ConnectorController"],"summary":"Create an inbox connector","description":"Sync emails between external mailboxes and MailSlurp inboxes","operationId":"createConnector","parameters":[{"name":"inboxId","in":"query","description":"Optional inbox ID to associate with the connector","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectorOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectorDto"}}}}}},"delete":{"tags":["ConnectorController"],"summary":"Delete all inbox connectors","operationId":"deleteAllConnector","responses":{"204":{"description":"No Content"}}}},"/connectors/{id}/sync":{"post":{"tags":["ConnectorController"],"summary":"Sync an inbox connector","operationId":"syncConnector","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"since","in":"query","description":"Date to request emails since","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"folder","in":"query","description":"Which folder to sync emails with","required":false,"schema":{"type":"string"}},{"name":"logging","in":"query","description":"Enable or disable logging for the sync operation","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectorSyncRequestResult"}}}}}}},"/connectors/{id}/sync-settings":{"get":{"tags":["ConnectorController"],"summary":"Get an inbox connector sync settings","description":"Get sync settings for connection with external inbox","operationId":"getConnectorSyncSettings","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OptionalConnectorSyncSettingsDto"}}}}}},"post":{"tags":["ConnectorController"],"summary":"Create an inbox connector sync settings","description":"Configure automatic pull or emails from external inboxes using an interval or schedule","operationId":"createConnectorSyncSettings","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectorSyncSettingsOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectorSyncSettingsDto"}}}}}},"delete":{"tags":["ConnectorController"],"summary":"Create an inbox connector sync settings","description":"Configure automatic pull or emails from external inboxes using an interval or schedule","operationId":"deleteConnectorSyncSettings","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/connectors/{id}/smtp":{"get":{"tags":["ConnectorController"],"summary":"Get an inbox connector SMTP connection","description":"Get SMTP connection for external inbox","operationId":"getConnectorSmtpConnection","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OptionalConnectorSmtpConnectionDto"}}}}}},"post":{"tags":["ConnectorController"],"summary":"Create an inbox connector SMTP connection","description":"Allows sending via connector and email is routed to connected inbox and sent via SMTP","operationId":"createConnectorSmtpConnection","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectorSmtpConnectionOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectorSmtpConnectionDto"}}}}}},"delete":{"tags":["ConnectorController"],"summary":"Delete an inbox connector SMTP connection","description":"Delete SMTP connection for external inbox","operationId":"deleteConnectorSmtpConnection","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}},"patch":{"tags":["ConnectorController"],"summary":"Update an inbox connector SMTP connection","description":"Update SMTP connection for external inbox","operationId":"updateConnectorSmtpConnection","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectorSmtpConnectionOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectorSmtpConnectionDto"}}}}}}},"/connectors/{id}/smtp/test":{"post":{"tags":["ConnectorController"],"summary":"Test an inbox connector SMTP connection","description":"Test the SMTP connection for a connector","operationId":"testConnectorSmtpConnection","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectorSmtpConnectionOptions"}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectorSmtpConnectionTestResult"}}}}}}},"/connectors/{id}/send":{"post":{"tags":["ConnectorController"],"summary":"Send from an inbox connector","operationId":"sendEmailFromConnector","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"useFallback","in":"query","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendEmailOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SentEmailDto"}}}}}}},"/connectors/{id}/imap":{"get":{"tags":["ConnectorController"],"summary":"Get an inbox connector IMAP connection","description":"Get IMAP connection for external inbox","operationId":"getConnectorImapConnection","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OptionalConnectorImapConnectionDto"}}}}}},"post":{"tags":["ConnectorController"],"summary":"Create an inbox connector IMAP connection","description":"Allows the reading of emails in an external mailbox and syncing to a MailSlurp inbox","operationId":"createConnectorImapConnection","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectorImapConnectionOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectorImapConnectionDto"}}}}}},"delete":{"tags":["ConnectorController"],"summary":"Delete an inbox connector IMAP connection","description":"Delete IMAP connection for external inbox","operationId":"deleteConnectorImapConnection","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}},"patch":{"tags":["ConnectorController"],"summary":"Update an inbox connector IMAP connection","description":"Update IMAP connection for external inbox","operationId":"updateConnectorImapConnection","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectorImapConnectionOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectorImapConnectionDto"}}}}}}},"/connectors/{id}/imap/test":{"post":{"tags":["ConnectorController"],"summary":"Test an inbox connector IMAP connection","description":"Test the IMAP connection for a connector","operationId":"testConnectorImapConnection","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectorImapConnectionOptions"}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectorImapConnectionTestResult"}}}}}}},"/connectors/withOptions":{"post":{"tags":["ConnectorController"],"summary":"Create an inbox connector with options","description":"Sync emails between external mailboxes and MailSlurp inboxes","operationId":"createConnectorWithOptions","parameters":[{"name":"inboxId","in":"query","description":"Optional inbox ID to associate with the connector","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectorWithOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectorDto"}}}}}}},"/connectors/connections/smtp/test":{"post":{"tags":["ConnectorController"],"summary":"Test an inbox connector SMTP connection options","description":"Test the SMTP connection options for a connector","operationId":"testConnectorSmtpConnectionOptions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectorSmtpConnectionOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectorSmtpConnectionTestResult"}}}}}}},"/connectors/connections/imap/test":{"post":{"tags":["ConnectorController"],"summary":"Test an inbox connector IMAP connection options","description":"Test the IMAP connection options for a connector","operationId":"testConnectorImapConnectionOptions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectorImapConnectionOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectorImapConnectionTestResult"}}}}}}},"/campaign-probe/probes":{"get":{"tags":["CampaignProbeController"],"summary":"List campaign probes","operationId":"getCampaignProbes","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CampaignProbeDto"}}}}}}},"post":{"tags":["CampaignProbeController"],"summary":"Create campaign probe","operationId":"createCampaignProbe","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCampaignProbeOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CampaignProbeDto"}}}}}}},"/campaign-probe/probes/{probeId}/run-now":{"post":{"tags":["CampaignProbeController"],"summary":"Run campaign probe now","operationId":"runCampaignProbeNow","parameters":[{"name":"probeId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCampaignProbeRunOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CampaignProbeRunNowResult"}}}}}}},"/campaign-probe/probes/run-due":{"post":{"tags":["CampaignProbeController"],"summary":"Run due campaign probes for user","operationId":"runDueCampaignProbes","parameters":[{"name":"maxRuns","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CampaignProbeRunDueResult"}}}}}}},"/bulk/send":{"post":{"tags":["BulkActionsController"],"summary":"Bulk Send Emails","operationId":"bulkSendEmails","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkSendEmailOptions"}}},"required":true},"responses":{"201":{"description":"Created"}}}},"/bulk/inboxes":{"post":{"tags":["BulkActionsController"],"summary":"Bulk create Inboxes (email addresses)","operationId":"bulkCreateInboxes","parameters":[{"name":"count","in":"query","description":"Number of inboxes to be created in bulk","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InboxDto"}}}}}}},"delete":{"tags":["BulkActionsController"],"summary":"Bulk Delete Inboxes","operationId":"bulkDeleteInboxes","requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}},"required":true},"responses":{"204":{"description":"No Content"}}}},"/bounce/filter-recipients":{"post":{"tags":["BounceController"],"summary":"Filter a list of email recipients and remove those who have bounced","description":"Prevent email sending errors by remove recipients who have resulted in past email bounces or complaints","operationId":"filterBouncedRecipient","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilterBouncedRecipientsOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/FilterBouncedRecipientsResult"}}}}}}},"/audit-logs/search":{"post":{"tags":["api-audit-log-controller"],"operationId":"searchAuditLogs","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditLogSearchOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AuditLogPageDto"}}}}}}},"/attachments":{"get":{"tags":["AttachmentController"],"summary":"Get email attachments","description":"Get all attachments in paginated response. Each entity contains meta data for the attachment such as `name` and `content-type`. Use the `attachmentId` and the download endpoints to get the file contents.","operationId":"getAttachments","parameters":[{"name":"page","in":"query","description":"Optional page index for list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size for 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":"fileNameFilter","in":"query","description":"Optional file name and content type 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"}},{"name":"inboxId","in":"query","description":"Optional inboxId to filter attachments by","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"emailId","in":"query","description":"Optional emailId to filter attachments by","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"sentEmailId","in":"query","description":"Optional sentEmailId to filter attachments by","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"include","in":"query","description":"Optional list of IDs to include in result","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageAttachmentEntity"}}}}}},"post":{"tags":["AttachmentController"],"summary":"Upload an attachment for sending using base64 file encoding. Returns an array whose first element is the ID of the uploaded attachment.","operationId":"uploadAttachment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadAttachmentOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}},"delete":{"tags":["AttachmentController"],"summary":"Delete all attachments","description":"Delete all attachments","operationId":"deleteAllAttachments","responses":{"204":{"description":"No Content"}}}},"/attachments/{attachmentId}/text":{"post":{"tags":["AttachmentController"],"summary":"Extract text from an attachment","description":"Extract text content from an attachment using the requested method. `NATIVE` decoding is available now for text-like files. OCR/LLM methods are wired for future use and may return not implemented unless fallback is enabled.","operationId":"extractAttachmentText","parameters":[{"name":"attachmentId","in":"path","description":"ID of attachment","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractAttachmentTextOptions"}}}},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExtractAttachmentTextResult"}}}}}}},"/attachments/multipart":{"post":{"tags":["AttachmentController"],"summary":"Upload an attachment for sending using a Multipart Form request. Returns an array whose first element is the ID of the uploaded attachment.","operationId":"uploadMultipartForm","parameters":[{"name":"contentId","in":"query","description":"Optional content ID of attachment","required":false,"schema":{"type":"string"}},{"name":"contentType","in":"query","description":"Optional content type of attachment","required":false,"schema":{"type":"string"}},{"name":"filename","in":"query","description":"Optional name of file","required":false,"schema":{"type":"string"}},{"name":"contentTypeHeader","in":"query","description":"Optional content type header of attachment","required":false,"schema":{"type":"string"}},{"name":"x-filename","in":"query","description":"Optional filename header of attachment","required":false,"schema":{"type":"string"}},{"name":"x-filename-raw","in":"query","description":"Optional raw filename header of attachment that will be converted to punycode","required":false,"schema":{"type":"string"}},{"name":"x-filesize","in":"query","description":"Optional content size of attachment","required":false,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"required":["file"],"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/attachments/bytes":{"post":{"tags":["AttachmentController"],"summary":"Upload an attachment for sending using file byte stream input octet stream. Returns an array whose first element is the ID of the uploaded attachment.","operationId":"uploadAttachmentBytes","parameters":[{"name":"contentType","in":"header","required":false,"schema":{"type":"string"}},{"name":"contentType","in":"query","description":"Optional contentType for file. For instance `application/pdf`","required":false,"schema":{"type":"string"}},{"name":"contentId","in":"query","description":"Optional content ID (CID) to save upload with","required":false,"schema":{"type":"string"}},{"name":"filename","in":"query","description":"Optional filename to save upload with","required":false,"schema":{"type":"string"}},{"name":"fileSize","in":"query","description":"Optional byte length to save upload with","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"filename","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/aliases":{"get":{"tags":["AliasController"],"summary":"Get all email aliases you have created","description":"Get all email aliases in paginated form","operationId":"getAliases","parameters":[{"name":"search","in":"query","description":"Optional search term","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Optional page index in alias list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in alias 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/PageAlias"}}}}}},"post":{"tags":["AliasController"],"summary":"Create an email alias. Must be verified by clicking link inside verification email that will be sent to the address. Once verified the alias will be active.","description":"Email aliases use a MailSlurp randomly generated email address (or a custom domain inbox that you provide) to mask or proxy a real email address. Emails sent to the alias address will be forwarded to the hidden email address it was created for. If you want to send a reply use the threadId attached","operationId":"createAlias","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAliasOptions"}}},"required":true},"responses":{"201":{"description":"Created","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AliasDto"}}}}}}},"/aliases/{aliasId}/emails":{"get":{"tags":["AliasController"],"summary":"Get emails for an alias","description":"Get paginated emails for an alias by ID","operationId":"getAliasEmails","parameters":[{"name":"aliasId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index alias email list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size alias email 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":"Optional filter by sent after given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Optional filter by sent before given date time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageEmailProjection"}}}}}},"post":{"tags":["AliasController"],"summary":"Send an email from an alias inbox","description":"Send an email from an alias. Replies to the email will be forwarded to the alias masked email address","operationId":"sendAliasEmail","parameters":[{"name":"aliasId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendEmailOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SentEmailDto"}}}}}}},"/ai/transformer":{"get":{"tags":["AIController"],"summary":"List transformers","description":"List all AI transforms","operationId":"getTransformers","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in SMS list pagination. Maximum size is 100. Use page index and sort to page through larger results","required":false,"schema":{"maximum":100,"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":"include","in":"query","description":"Optional list of IDs to include in result","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageAITransformProjection"}}}}}},"post":{"tags":["AIController"],"summary":"Create a transformer for reuse in automations","description":"Save an AI transform instructions and schema for use with webhooks and automations","operationId":"createTransformer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AITransformCreateOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AITransformDto"}}}}}},"delete":{"tags":["AIController"],"summary":"Delete all transformers","description":"Delete all AI transformers and schemas","operationId":"deleteTransformers","responses":{"204":{"description":"No Content"}}}},"/ai/transformer/results/export":{"post":{"tags":["AIController"],"summary":"Export transformer results","description":"Export AI transformer results in formats such as Excel, CSV, XML etc.","operationId":"exportTransformerResults","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportTransformerOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExportTransformerResponse"}}}}}}},"/ai/transformer/results/export/{id}":{"post":{"tags":["AIController"],"summary":"Get export transformer results job","description":"Get the job status for an export","operationId":"getExportTransformerResultsJob","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExportTransformerResultJobDto"}}}}}}},"/ai/transformer/mappings":{"get":{"tags":["AIController"],"summary":"Get transformer mappings","description":"Get AI transformer mappings to other entities","operationId":"getTransformerMappings","parameters":[{"name":"aiTransformId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"entityId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"entityType","in":"query","required":false,"schema":{"type":"string","enum":["INBOX","PHONE"]}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size. Maximum size is 100. Use page index and sort to page through larger results","required":false,"schema":{"maximum":100,"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"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageAITransformMappingProjection"}}}}}},"post":{"tags":["AIController"],"summary":"Create transformer mapping","description":"Create AI transformer mappings to other entities","operationId":"createTransformerMappings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAITransformerMappingOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AITransformMappingDto"}}}}}},"delete":{"tags":["AIController"],"summary":"Delete all transformer mapping","description":"Delete all AI transformer mappings","operationId":"deleteAllTransformerMappings","responses":{"204":{"description":"No Content"}}}},"/ai/transformer/mappings/{id}/match":{"post":{"tags":["AIController"],"summary":"Test transformer mapping match result","description":"Evaluate transform mapping match conditions for given email, sms, or attachment","operationId":"testTransformerMappingMatch","parameters":[{"name":"id","in":"path","description":"ID of transform mapping","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"emailId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"smsId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"attachmentId","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AITransformMappingMatchResult"}}}}}}},"/ai/transformer/invoke":{"post":{"tags":["AIController"],"summary":"Invoke a transformer","description":"Execute an AI transformer to generate structured content","operationId":"invokeTransformer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvokeTransformerOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConditionalStructuredContentResult"}}}}}}},"/ai/structured-content/validate":{"post":{"tags":["AIController"],"summary":"Validate structured content schema","description":"Check if a schema is valid and can be used to extract data using AI","operationId":"validateStructuredOutputSchema","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StructuredOutputSchema"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StructuredOutputSchemaValidation"}}}}}}},"/ai/structured-content/sms":{"post":{"tags":["AIController"],"summary":"Generate structured content for a TXT message","description":"Use output schemas to extract data from an SMS using AI","operationId":"generateStructuredContentFromSms","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateStructuredContentSmsOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StructuredContentResultDto"}}}}}}},"/ai/structured-content/email":{"post":{"tags":["AIController"],"summary":"Generate structured content for an email","description":"Use output schemas to extract data from an email using AI","operationId":"generateStructuredContentFromEmail","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateStructuredContentEmailOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StructuredContentResultDto"}}}}}}},"/ai/structured-content/attachment":{"post":{"tags":["AIController"],"summary":"Generate structured content for an attachment","description":"Use output schemas to extract data from an attachment using AI","operationId":"generateStructuredContentFromAttachment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateStructuredContentAttachmentOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StructuredContentResultDto"}}}}}}},"/ai-transformers/{transformerId}/webhooks":{"post":{"tags":["WebhookController"],"summary":"Attach a WebHook URL to an AI transformer","description":"Get notified whenever AI transformation pipeline converts and email or SMS into structured data via a WebHook URL.","operationId":"createWebhookForAITransformer","parameters":[{"name":"transformerId","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"}}}}}}},"/webhooks/{webhookId}":{"get":{"tags":["WebhookController"],"summary":"Get a webhook","operationId":"getWebhook","parameters":[{"name":"webhookId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookDto"}}}}}},"delete":{"tags":["WebhookController"],"summary":"Delete a webhook","operationId":"deleteWebhookById","parameters":[{"name":"webhookId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}},"patch":{"tags":["WebhookController"],"summary":"Update a webhook","operationId":"updateWebhook","parameters":[{"name":"webhookId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"inboxId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"aiTransformerId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"phoneNumberId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"overrideAuth","in":"query","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookDto"}}}}}}},"/test/deliverability/{testId}":{"get":{"tags":["DeliverabilityTestController"],"summary":"Get deliverability/load test","description":"Get deliverability test configuration and latest progress counters.","operationId":"getDeliverabilityTest","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilityTestDto"}}}}}},"delete":{"tags":["DeliverabilityTestController"],"summary":"Delete deliverability/load test","description":"Delete test and all persisted entity-level results.","operationId":"deleteDeliverabilityTest","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeleteResult"}}}}}},"patch":{"tags":["DeliverabilityTestController"],"summary":"Update deliverability/load test","description":"Update metadata, timeout, and expectations for a non-running non-terminal test.","operationId":"updateDeliverabilityTest","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDeliverabilityTestOptions"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilityTestDto"}}}}}}},"/inboxes/smtp-access":{"get":{"tags":["InboxController"],"description":"Get SMTP access usernames and passwords","operationId":"getSmtpAccess","parameters":[{"name":"inboxId","in":"query","description":"Inbox ID","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SmtpAccessDetails"}}}}}},"patch":{"tags":["InboxController"],"description":"Update SMTP access usernames and passwords","operationId":"updateSmtpAccess","parameters":[{"name":"inboxId","in":"query","description":"Inbox ID","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSmtpAccessOptions"}}},"required":true},"responses":{"204":{"description":"No Content"}}}},"/inboxes/imap-access":{"get":{"tags":["InboxController"],"description":"Get IMAP access usernames and passwords","operationId":"getImapAccess","parameters":[{"name":"inboxId","in":"query","description":"Inbox ID","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ImapAccessDetails"}}}}}},"patch":{"tags":["InboxController"],"description":"Update IMAP access usernames and passwords","operationId":"updateImapAccess","parameters":[{"name":"inboxId","in":"query","description":"Inbox ID","required":false,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateImapAccessOptions"}}},"required":true},"responses":{"204":{"description":"No Content"}}}},"/emails/{emailId}/read":{"patch":{"tags":["EmailController"],"summary":"Mark an email as read or unread","description":"Sets read state for one email. Useful when implementing custom mailbox workflows that treat viewed messages as unread.","operationId":"markAsRead","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"read","in":"query","description":"What value to assign to email read property. Default true.","required":false,"schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailPreview"}}}}}}},"/emails/read":{"patch":{"tags":["EmailController"],"summary":"Mark all emails as read or unread","description":"Sets read state for all emails, optionally scoped to one inbox. Use `read=false` to reset unread state in bulk.","operationId":"markAllAsRead","parameters":[{"name":"read","in":"query","description":"What value to assign to email read property. Default true.","required":false,"schema":{"type":"boolean","default":true}},{"name":"inboxId","in":"query","description":"Optional inbox ID filter","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/webhooks/{webhookId}/wait":{"get":{"tags":["WebhookController"],"summary":"Wait for webhook results for a webhook","operationId":"waitForWebhookResults","parameters":[{"name":"webhookId","in":"path","description":"ID of webhook to get results for","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"expectedCount","in":"query","description":"Expected result count","required":true,"schema":{"maximum":100,"type":"integer","format":"int32"}},{"name":"timeout","in":"query","description":"Max time to wait in milliseconds","required":true,"schema":{"maximum":300000,"minimum":1000,"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookResultDto"}}}}}}}},"/webhooks/{webhookId}/results":{"get":{"tags":["WebhookController"],"summary":"Get a webhook results for a webhook","operationId":"getWebhookResults","parameters":[{"name":"webhookId","in":"path","description":"ID of webhook to get results for","required":true,"schema":{"type":"string","format":"uuid"}},{"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"}},{"name":"unseenOnly","in":"query","description":"Filter for unseen exceptions only","required":false,"schema":{"type":"boolean"}},{"name":"resultType","in":"query","description":"Filter by result type","required":false,"schema":{"type":"string","enum":["BAD_RESPONSE","EXCEPTION","SUCCESS","REDRIVEN"]}},{"name":"eventName","in":"query","description":"Filter by event name","required":false,"schema":{"type":"string","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]}},{"name":"minStatusCode","in":"query","description":"Minimum response status","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"maxStatusCode","in":"query","description":"Maximum response status","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"inboxId","in":"query","description":"Inbox ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"smsId","in":"query","description":"Sms ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"attachmentId","in":"query","description":"Attachment ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"emailId","in":"query","description":"Email ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"phoneId","in":"query","description":"Phone ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"aiTransformerId","in":"query","description":"AI Transformer ID","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageWebhookResult"}}}}}}},"/webhooks/{webhookId}/results/count":{"get":{"tags":["WebhookController"],"summary":"Get a webhook results count for a webhook","operationId":"getWebhookResultsCount","parameters":[{"name":"webhookId","in":"path","description":"ID of webhook to get results for","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CountDto"}}}}}}},"/webhooks/test":{"get":{"tags":["WebhookController"],"description":"Get test webhook payload example. Response content depends on eventName passed. Uses `EMAIL_RECEIVED` as default.","operationId":"getTestWebhookPayload","parameters":[{"name":"eventName","in":"query","required":false,"schema":{"type":"string","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AbstractWebhookPayload"}}}}}}},"/webhooks/test/new-sms-payload":{"get":{"tags":["WebhookController"],"summary":"Get webhook test payload for new sms event","operationId":"getTestWebhookPayloadNewSms","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookNewSmsPayload"}}}}}}},"/webhooks/test/new-email-payload":{"get":{"tags":["WebhookController"],"summary":"Get webhook test payload for new email event","operationId":"getTestWebhookPayloadNewEmail","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookNewEmailPayload"}}}}}}},"/webhooks/test/new-contact-payload":{"get":{"tags":["WebhookController"],"summary":"Get webhook test payload for new contact event","operationId":"getTestWebhookPayloadNewContact","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookNewContactPayload"}}}}}}},"/webhooks/test/new-attachment-payload":{"get":{"tags":["WebhookController"],"summary":"Get webhook test payload for new attachment event","operationId":"getTestWebhookPayloadNewAttachment","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookNewAttachmentPayload"}}}}}}},"/webhooks/test/new-ai-transform-result-payload":{"get":{"tags":["WebhookController"],"summary":"Get webhook test payload for new ai transform result event","operationId":"getTestWebhookPayloadNewAITransformResult","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookNewAITransformResultPayload"}}}}}}},"/webhooks/test/email-read-payload":{"get":{"tags":["WebhookController"],"description":"Get webhook test payload for email opened event","operationId":"getTestWebhookPayloadEmailRead","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookEmailReadPayload"}}}}}}},"/webhooks/test/email-opened-payload":{"get":{"tags":["WebhookController"],"description":"Get webhook test payload for email opened event","operationId":"getTestWebhookPayloadEmailOpened","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookEmailOpenedPayload"}}}}}}},"/webhooks/test/email-bounce-recipient-payload":{"get":{"tags":["WebhookController"],"description":"Get webhook test payload for bounce recipient","operationId":"getTestWebhookPayloadBounceRecipient","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookBounceRecipientPayload"}}}}}}},"/webhooks/test/email-bounce-payload":{"get":{"tags":["WebhookController"],"description":"Get webhook test payload for bounce","operationId":"getTestWebhookPayloadBounce","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookBouncePayload"}}}}}}},"/webhooks/test/delivery-status-payload":{"get":{"tags":["WebhookController"],"summary":"Get webhook test payload for delivery status event","operationId":"getTestWebhookPayloadDeliveryStatus","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/WebhookDeliveryStatusPayload"}}}}}}},"/webhooks/results":{"get":{"tags":["WebhookController"],"summary":"Get results for all webhooks","operationId":"getAllWebhookResults","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"}},{"name":"unseenOnly","in":"query","description":"Filter for unseen exceptions only","required":false,"schema":{"type":"boolean"}},{"name":"resultType","in":"query","description":"Filter by result type","required":false,"schema":{"type":"string","enum":["BAD_RESPONSE","EXCEPTION","SUCCESS","REDRIVEN"]}},{"name":"eventName","in":"query","description":"Filter by event name","required":false,"schema":{"type":"string","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]}},{"name":"minStatusCode","in":"query","description":"Minimum response status","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"maxStatusCode","in":"query","description":"Maximum response status","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"inboxId","in":"query","description":"Inbox ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"smsId","in":"query","description":"Sms ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"attachmentId","in":"query","description":"Attachment ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"emailId","in":"query","description":"Email ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"phoneId","in":"query","description":"Phone ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"aiTransformerId","in":"query","description":"AI Transformer ID","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageWebhookResult"}}}}}}},"/webhooks/results/{webhookResultId}":{"get":{"tags":["WebhookController"],"summary":"Get a webhook result for a webhook","operationId":"getWebhookResult","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/WebhookResultDto"}}}}}}},"/webhooks/results/unseen-count":{"get":{"tags":["WebhookController"],"summary":"Get count of unseen webhook results with error status","operationId":"getWebhookResultsUnseenErrorCount","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UnseenErrorCountDto"}}}}}}},"/webhooks/paginated":{"get":{"tags":["WebhookController"],"summary":"List Webhooks Paginated","description":"List webhooks in paginated form. Allows for page index, page size, and sort direction.","operationId":"getAllWebhooks","parameters":[{"name":"page","in":"query","description":"Optional page index in list pagination","required":false,"schema":{"maximum":9223372036854775807,"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size for paginated result list.","required":false,"schema":{"maximum":100,"minimum":1,"type":"integer","format":"int32","default":20}},{"name":"sort","in":"query","description":"Optional createdAt sort direction ASC or DESC","required":false,"schema":{"type":"string","default":"DESC","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":"inboxId","in":"query","description":"Filter by inboxId","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"aiTransformerId","in":"query","description":"Filter by aiTransformerId","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"phoneId","in":"query","description":"Filter by phoneId","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"before","in":"query","description":"Filter by created at before the given timestamp","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"health","in":"query","description":"Filter by webhook health","required":false,"schema":{"type":"string","enum":["HEALTHY","UNHEALTHY"]}},{"name":"eventType","in":"query","description":"Optional event type","required":false,"schema":{"type":"string","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]}},{"name":"url","in":"query","description":"Optional url endpoint filter","required":false,"schema":{"type":"string"}},{"name":"eventTypeSource","in":"query","description":"Webhook source type category such as phone, inbox, aiTranformer","required":false,"schema":{"type":"string","enum":["INBOX","PHONE","AI_TRANSFORMER"]}},{"name":"includeAccountWide","in":"query","description":"Include account scope webhooks when passing phoneId, inboxId, or aiTransformerId filters","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageWebhookProjection"}}}}}}},"/webhooks/endpoints":{"get":{"tags":["WebhookController"],"summary":"List Webhooks endpoints Paginated","description":"List webhooks URL in paginated form. Allows for page index, page size, and sort direction.","operationId":"getAllWebhookEndpoints","parameters":[{"name":"page","in":"query","description":"Optional page index in list pagination","required":false,"schema":{"maximum":9223372036854775807,"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size for paginated result list.","required":false,"schema":{"maximum":100,"minimum":1,"type":"integer","format":"int32","default":20}},{"name":"sort","in":"query","description":"Optional createdAt sort direction ASC or DESC","required":false,"schema":{"type":"string","default":"DESC","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":"inboxId","in":"query","description":"Filter by inboxId","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"phoneId","in":"query","description":"Filter by phoneId","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"before","in":"query","description":"Filter by created at before the given timestamp","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"health","in":"query","description":"Filter by webhook health","required":false,"schema":{"type":"string","enum":["HEALTHY","UNHEALTHY"]}},{"name":"eventType","in":"query","description":"Optional event type","required":false,"schema":{"type":"string","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageWebhookEndpointProjection"}}}}}}},"/webhooks/account/paginated":{"get":{"tags":["WebhookController"],"summary":"List account webhooks Paginated","description":"List account webhooks in paginated form. Allows for page index, page size, and sort direction.","operationId":"getAllAccountWebhooks","parameters":[{"name":"page","in":"query","description":"Optional page index in list pagination","required":false,"schema":{"maximum":9223372036854775807,"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size for paginated result list.","required":false,"schema":{"maximum":100,"minimum":1,"type":"integer","format":"int32","default":20}},{"name":"sort","in":"query","description":"Optional createdAt sort direction ASC or DESC","required":false,"schema":{"type":"string","default":"DESC","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"}},{"name":"eventType","in":"query","description":"Optional event type","required":false,"schema":{"type":"string","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]}},{"name":"health","in":"query","description":"Filter by webhook health","required":false,"schema":{"type":"string","enum":["HEALTHY","UNHEALTHY"]}},{"name":"searchFilter","in":"query","description":"Optional search filter","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageWebhookProjection"}}}}}}},"/waitForNthEmail":{"get":{"tags":["WaitForController"],"summary":"Wait for or fetch the email with a given index in the inbox specified. If index doesn't exist waits for it to exist or timeout to occur.","description":"If nth email is already present in inbox then return it. If not hold the connection open until timeout expires or the nth email is received and returned.","operationId":"waitForNthEmail","parameters":[{"name":"inboxId","in":"query","description":"Id of the inbox you are fetching emails from","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"index","in":"query","description":"Zero based index of the email to wait for. If an inbox has 1 email already and you want to wait for the 2nd email pass index=1","required":false,"schema":{"maximum":2147483647,"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"timeout","in":"query","description":"Max milliseconds to wait for the nth email if not already present","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"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Email"}}}}}}},"/waitForLatestEmail":{"get":{"tags":["WaitForController"],"summary":"Fetch inbox's latest email or if empty wait for an email to arrive","description":"Will return either the last received email or wait for an email to arrive and return that. If you need to wait for an email for a non-empty inbox set `unreadOnly=true` or see the other receive methods such as `waitForNthEmail` or `waitForEmailCount`.","operationId":"waitForLatestEmail","parameters":[{"name":"inboxId","in":"query","description":"Id of the inbox we are fetching emails from","required":false,"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":"before","in":"query","description":"Filter for emails that were before after 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"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Email"}}}}}}},"/waitForEmailCount":{"get":{"tags":["WaitForController"],"summary":"Wait for and return count number of emails. Hold connection until inbox count matches expected or timeout occurs","description":"If inbox contains count or more emails at time of request then return count worth of emails. If not wait until the count is reached and return those or return an error if timeout is exceeded.","operationId":"waitForEmailCount","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 that 1","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"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":"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"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EmailPreview"}}}}}}}},"/user/info":{"get":{"tags":["UserController"],"description":"Get account information for your user","operationId":"getUserInfo","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserInfoDto"}}}}}}},"/user/favorites":{"get":{"tags":["UserController"],"operationId":"getEntityFavorites","parameters":[{"name":"page","in":"query","description":"Optional page index","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size","required":false,"schema":{"maximum":100,"type":"integer","format":"int32","default":20}},{"name":"sort","in":"query","description":"Optional createdAt sort direction ASC or DESC","required":false,"schema":{"type":"string","default":"DESC","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"}},{"name":"filter","in":"query","description":"Optional type filter","required":false,"schema":{"type":"string","enum":["INBOX","EMAIL","ATTACHMENT","PHONE","SMS"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageEntityFavouriteItems"}}}}}}},"/user/events":{"get":{"tags":["UserController"],"operationId":"getEntityEvents","parameters":[{"name":"page","in":"query","description":"Optional page index","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size","required":false,"schema":{"maximum":100,"type":"integer","format":"int32","default":20}},{"name":"sort","in":"query","description":"Optional createdAt sort direction ASC or DESC","required":false,"schema":{"type":"string","default":"DESC","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"}},{"name":"inboxId","in":"query","description":"Optional inbox ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"emailId","in":"query","description":"Optional email ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"phoneId","in":"query","description":"Optional phone ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"smsId","in":"query","description":"Optional SMS ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"attachmentId","in":"query","description":"Optional attachment ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"filter","in":"query","description":"Optional type filter","required":false,"schema":{"type":"string","enum":["WEBHOOK_EVENT","INBOX_FORWARDER_EVENT","INBOX_REPLIER_EVENT","INBOX_RULESET_EVENT","ALIAS_EVENT"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageEntityEventItems"}}}}}}},"/user/automations":{"get":{"tags":["UserController"],"operationId":"getEntityAutomations","parameters":[{"name":"page","in":"query","description":"Optional page index","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size","required":false,"schema":{"maximum":100,"type":"integer","format":"int32","default":20}},{"name":"sort","in":"query","description":"Optional createdAt sort direction ASC or DESC","required":false,"schema":{"type":"string","default":"DESC","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"}},{"name":"inboxId","in":"query","description":"Optional inbox ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"phoneId","in":"query","description":"Optional phone ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"filter","in":"query","description":"Optional automation type filter","required":false,"schema":{"type":"string","enum":["INBOX_FORWARDER","INBOX_REPLIER","INBOX_RULESET"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageEntityAutomationItems"}}}}}}},"/tracking/pixels/{id}":{"get":{"tags":["TrackingController"],"summary":"Get pixel","operationId":"getTrackingPixel","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TrackingPixelDto"}}}}}}},"/tools/fake-emails":{"get":{"tags":["ToolsController"],"summary":"Get fake emails for an address","description":"Get fake emails for an address","operationId":"getFakeEmailsForAddress","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"emailAddress","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FakeEmailPreview"}}}}}}}},"/tools/fake-email/html":{"get":{"tags":["ToolsController"],"summary":"Get raw fake email content","description":"Retrieve the raw content of a fake email by its ID","operationId":"getFakeEmailRaw","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"text/plain;charset=utf-8":{"schema":{"type":"string"}},"text/html;charset=utf-8":{"schema":{"type":"string"}},"text/plain; charset=utf-8":{"schema":{"type":"string"}},"text/html; charset=utf-8":{"schema":{"type":"string"}}}}}}},"/tools/fake-email/byEmailAddress":{"get":{"tags":["ToolsController"],"operationId":"getFakeEmailByEmailAddress","parameters":[{"name":"emailAddress","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/FakeEmailResult"}}}}}}},"/test/deliverability/{testId}/status":{"get":{"tags":["DeliverabilityTestController"],"summary":"Poll deliverability/load test status","description":"Poll test progress. Evaluation is throttled with a 5-second cache window to protect backing data stores.","operationId":"pollDeliverabilityTestStatus","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilityPollStatusResultDto"}}}}}}},"/test/deliverability/{testId}/simulation-jobs/{jobId}":{"get":{"tags":["DeliverabilityTestController"],"summary":"Get deliverability simulation job","description":"Get simulation job status and progress counters.","operationId":"getDeliverabilitySimulationJob","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilitySimulationJobDto"}}}}}}},"/test/deliverability/{testId}/simulation-jobs/{jobId}/events":{"get":{"tags":["DeliverabilityTestController"],"summary":"Get deliverability simulation job events","description":"Get paged simulation events including send successes and failures.","operationId":"getDeliverabilitySimulationJobEvents","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"DESC","enum":["ASC","DESC"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilitySimulationJobEventPageDto"}}}}}}},"/test/deliverability/{testId}/simulation-jobs/latest":{"get":{"tags":["DeliverabilityTestController"],"summary":"Get latest deliverability simulation job","description":"Get the most recent simulation job for a deliverability test.","operationId":"getLatestDeliverabilitySimulationJob","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilitySimulationJobDto"}}}}}}},"/test/deliverability/{testId}/results":{"get":{"tags":["DeliverabilityTestController"],"summary":"Get deliverability/load test entity results","description":"Get paged per-entity expectation results with optional matched/unmatched filtering.","operationId":"getDeliverabilityTestResults","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"matched","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"ASC","enum":["ASC","DESC"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilityEntityResultPageDto"}}}}}}},"/test/deliverability/{testId}/results/export":{"get":{"tags":["DeliverabilityTestController"],"summary":"Export deliverability/load test entity results as CSV","description":"Export per-entity deliverability results including expectation-level pass/fail counts. The latest status is evaluated with the same polling safeguards before export.","operationId":"exportDeliverabilityTestResults","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"matched","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK"}}}},"/test/deliverability/{testId}/report/export":{"get":{"tags":["DeliverabilityTestController"],"summary":"Export deliverability/load test report as PDF","description":"Export a PDF report for a terminal deliverability test (COMPLETE, FAILED, or STOPPED), including configuration, summary outcomes, and detailed entity-level results.","operationId":"exportDeliverabilityTestReport","parameters":[{"name":"testId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/test/deliverability/analytics/series":{"get":{"tags":["DeliverabilityTestController"],"summary":"Get deliverability analytics time series","description":"Compare deliverability runs over a time range with bucketed chart metrics and run-level rows for table views.","operationId":"getDeliverabilityAnalyticsSeries","parameters":[{"name":"since","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"scope","in":"query","required":false,"schema":{"type":"string","enum":["INBOX","PHONE"]}},{"name":"bucket","in":"query","required":false,"schema":{"type":"string","default":"DAY","enum":["HOUR","DAY"]}},{"name":"runLimit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilityAnalyticsSeriesDto"}}}}}}},"/test/deliverability/analytics/hotspots":{"get":{"tags":["DeliverabilityTestController"],"summary":"Get deliverability failure hotspots","description":"Find commonly failing entities and phone country/variant dimensions across deliverability runs in a time range.","operationId":"getDeliverabilityFailureHotspots","parameters":[{"name":"since","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"scope","in":"query","required":false,"schema":{"type":"string","enum":["INBOX","PHONE"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliverabilityFailureHotspotsDto"}}}}}}},"/templates/{templateId}/preview/json":{"get":{"tags":["TemplateController"],"summary":"Get template preview Json","description":"Get email template preview with passed template variables in JSON format. Pass template variables as query params.","operationId":"getTemplatePreviewJson","parameters":[{"name":"templateId","in":"path","description":"Template ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TemplatePreview"}}}}}}},"/templates/{templateId}/preview/html":{"get":{"tags":["TemplateController"],"summary":"Get template preview HTML","description":"Get email template preview with passed template variables in HTML format for browsers. Pass template variables as query params.","operationId":"getTemplatePreviewHtml","parameters":[{"name":"templateId","in":"path","description":"Template ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"text/html;charset=utf-8":{"schema":{"type":"string"}},"text/html":{"schema":{"type":"string"}}}}}}},"/templates/paginated":{"get":{"tags":["TemplateController"],"summary":"List templates","description":"Get all templates in paginated format","operationId":"getAllTemplates","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":"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/PageTemplateProjection"}}}}}}},"/sms":{"get":{"tags":["SmsController"],"operationId":"getAllSmsMessages","parameters":[{"name":"phoneNumber","in":"query","description":"Optional receiving phone number to filter SMS messages for","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in SMS list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in SMS list pagination. Maximum size is 100. Use page index and sort to page through larger results","required":false,"schema":{"maximum":100,"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":"Optional filter SMSs received after given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Optional filter SMSs received before given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"search","in":"query","description":"Optional search filter","required":false,"schema":{"type":"string"}},{"name":"favourite","in":"query","description":"Optionally filter results for favourites only","required":false,"schema":{"type":"boolean","default":false}},{"name":"include","in":"query","description":"Optional list of IDs to include in result","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageSmsProjection"}}}}}},"delete":{"tags":["SmsController"],"summary":"Delete all SMS messages","description":"Delete all SMS messages or all messages for a given phone number","operationId":"deleteSmsMessages","parameters":[{"name":"phoneNumberId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/sms/{smsId}":{"get":{"tags":["SmsController"],"summary":"Get SMS content including body. Expects SMS to exist by ID. For SMS that may not have arrived yet use the WaitForController.","description":"Returns a SMS summary object with content.","operationId":"getSmsMessage","parameters":[{"name":"smsId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SmsDto"}}}}}},"delete":{"tags":["SmsController"],"summary":"Delete SMS message.","description":"Delete an SMS message","operationId":"deleteSmsMessage","parameters":[{"name":"smsId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/sms/unreadCount":{"get":{"tags":["SmsController"],"summary":"Get unread SMS count","description":"Get number of SMS unread. Unread means has not been viewed in dashboard or returned in an email API response","operationId":"getUnreadSmsCount","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UnreadCount"}}}}}}},"/sms/sent":{"get":{"tags":["SmsController"],"summary":"Get all SMS messages in all phone numbers in paginated form. .","description":"By default returns all SMS messages across all phone numbers sorted by ascending created at date. Responses are paginated. You can restrict results to a list of phone number IDs. You can also filter out read messages","operationId":"getSentSmsMessagesPaginated","parameters":[{"name":"phoneNumber","in":"query","description":"Optional phone number to filter sent SMS messages for","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in SMS list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in SMS list pagination. Maximum size is 100. Use page index and sort to page through larger results","required":false,"schema":{"maximum":100,"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":"Optional filter SMSs received after given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Optional filter SMSs received before given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"search","in":"query","description":"Optional search filter","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageSentSmsProjection"}}}}}},"delete":{"tags":["SmsController"],"summary":"Delete all sent SMS messages","description":"Delete all sent SMS messages or all messages for a given phone number","operationId":"deleteSentSmsMessages","parameters":[{"name":"phoneNumberId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/sms/sent/{sentSmsId}":{"get":{"tags":["SmsController"],"summary":"Get sent SMS content including body. Expects sent SMS to exist by ID.","description":"Returns an SMS summary object with content.","operationId":"getSentSmsMessage","parameters":[{"name":"sentSmsId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SentSmsDto"}}}}}},"delete":{"tags":["SmsController"],"summary":"Delete sent SMS message.","description":"Delete a sent SMS message","operationId":"deleteSentSmsMessage","parameters":[{"name":"sentSmsId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/sms/sent/count":{"get":{"tags":["SmsController"],"summary":"Get sent SMS count","description":"Get number of sent SMS","operationId":"getSentSmsCount","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CountDto"}}}}}}},"/sms/count":{"get":{"tags":["SmsController"],"summary":"Get SMS count","description":"Get number of SMS","operationId":"getSmsCount","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CountDto"}}}}}}},"/sent":{"get":{"tags":["SentEmailsController"],"summary":"Get all sent emails in paginated form","operationId":"getSentEmails","parameters":[{"name":"inboxId","in":"query","description":"Optional inboxId to filter sender of sent emails by","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in inbox sent email list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox sent email 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/PageSentEmailProjection"}}}}}},"delete":{"tags":["SentEmailsController"],"summary":"Delete all sent email receipts","operationId":"deleteAllSentEmails","responses":{"204":{"description":"No Content"}}}},"/sent/{sentId}/delivery-status":{"get":{"tags":["SentEmailsController"],"description":"Get all sent email delivery statuses","operationId":"getSentDeliveryStatusesBySentId","parameters":[{"name":"sentId","in":"path","description":"ID of the sent email that you want to get the delivery status of. Sent email object is returned when sending an email","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in delivery status list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in delivery status 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/PageDeliveryStatus"}}}}}}},"/sent/{id}":{"get":{"tags":["SentEmailsController"],"summary":"Get sent email receipt","operationId":"getSentEmail","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SentEmailDto"}}}}}},"delete":{"tags":["SentEmailsController"],"summary":"Delete sent email receipt","operationId":"deleteSentEmail","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/sent/{id}/urls":{"get":{"tags":["SentEmailsController"],"summary":"Get sent email URL for viewing in browser or downloading","description":"Get a list of URLs for sent email content as text/html or raw SMTP message for viewing the message in a browser.","operationId":"getSentEmailPreviewURLs","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailPreviewUrls"}}}}}}},"/sent/{id}/tracking-pixels":{"get":{"tags":["SentEmailsController"],"description":"Get all tracking pixels for a sent email in paginated form","operationId":"getSentEmailTrackingPixels","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in sent email tracking pixel list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in sent email tracking pixel 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"}}}}}}},"/sent/{id}/html":{"get":{"tags":["SentEmailsController"],"summary":"Get sent email HTML content","operationId":"getSentEmailHTMLContent","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/sent/{emailId}/raw":{"get":{"tags":["SentEmailsController"],"summary":"Get raw sent email string. Returns unparsed raw SMTP message with headers and body.","description":"Returns a raw, unparsed, and unprocessed sent email. If your client has issues processing the response it is likely due to the response content-type which is text/plain. If you need a JSON response content-type use the getRawSentEmailJson endpoint","operationId":"getRawSentEmailContents","parameters":[{"name":"emailId","in":"path","description":"ID of email","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/sent/{emailId}/raw/json":{"get":{"tags":["SentEmailsController"],"summary":"Get raw sent email in JSON. Unparsed SMTP message in JSON wrapper format.","description":"Returns a raw, unparsed, and unprocessed sent email wrapped in a JSON response object for easier handling when compared with the getRawSentEmail text/plain response","operationId":"getRawSentEmailJson","parameters":[{"name":"emailId","in":"path","description":"ID of email","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RawEmailJson"}}}}}}},"/sent/tracking-pixels":{"get":{"tags":["SentEmailsController"],"description":"Get all sent email tracking pixels in paginated form","operationId":"getAllSentTrackingPixels","parameters":[{"name":"page","in":"query","description":"Optional page index in sent email tracking pixel list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in sent email tracking pixel 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"}}}}}}},"/sent/queue-results":{"get":{"tags":["SentEmailsController"],"summary":"Get results of email sent with queues in paginated form","operationId":"getSentEmailsWithQueueResults","parameters":[{"name":"page","in":"query","description":"Optional page index in inbox sent email list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox sent email 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/PageSentEmailWithQueueProjection"}}}}}}},"/sent/organization":{"get":{"tags":["SentEmailsController"],"description":"Get all sent organization emails in paginated form","operationId":"getSentOrganizationEmails","parameters":[{"name":"inboxId","in":"query","description":"Optional inboxId to filter sender of sent emails by","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in sent email list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in sent email 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/PageSentEmailProjection"}}}}}}},"/sent/delivery-status":{"get":{"tags":["SentEmailsController"],"description":"Get all sent email delivery statuses","operationId":"getSentDeliveryStatuses","parameters":[{"name":"page","in":"query","description":"Optional page index in delivery status list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in delivery status 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/PageDeliveryStatus"}}}}}}},"/sent/delivery-status/{deliveryId}":{"get":{"tags":["SentEmailsController"],"description":"Get a sent email delivery status","operationId":"getSentDeliveryStatus","parameters":[{"name":"deliveryId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeliveryStatusDto"}}}}}}},"/sent/delivery-status/wait-for":{"get":{"tags":["SentEmailsController"],"description":"Wait for delivery statuses","operationId":"waitForDeliveryStatuses","parameters":[{"name":"sentId","in":"query","description":"Optional sent email ID filter","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"inboxId","in":"query","description":"Optional inbox ID filter","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"timeout","in":"query","description":"Optional timeout milliseconds","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"index","in":"query","description":"Zero based index of the delivery status to wait for. If 1 delivery status already and you want to wait for the 2nd pass index=1","required":false,"schema":{"maximum":2147483647,"minimum":0,"type":"integer","format":"int32"}},{"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/DeliveryStatusDto"}}}}}}},"/rulesets/{id}":{"get":{"tags":["RulesetController"],"summary":"Get a ruleset","description":"Get ruleset","operationId":"getRuleset","parameters":[{"name":"id","in":"path","description":"ID of ruleset","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RulesetDto"}}}}}},"delete":{"tags":["RulesetController"],"summary":"Delete a ruleset","description":"Delete ruleset","operationId":"deleteRuleset","parameters":[{"name":"id","in":"path","description":"ID of ruleset","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/repliers/{id}/events":{"get":{"tags":["InboxReplierController"],"summary":"Get an inbox replier event list","description":"Get inbox ruleset events","operationId":"getInboxReplierEvents","parameters":[{"name":"id","in":"path","description":"ID of inbox replier","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in inbox replier event list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox replier event 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"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageInboxReplierEvents"}}}}}}},"/repliers/events":{"get":{"tags":["InboxReplierController"],"summary":"Get inbox replier event list","description":"Get all inbox ruleset events","operationId":"getAllInboxReplierEvents","parameters":[{"name":"inboxReplierId","in":"query","description":"ID of inbox replier","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"inboxId","in":"query","description":"ID of inbox","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"emailId","in":"query","description":"ID of email","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"sentId","in":"query","description":"ID of sent","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in inbox replier event list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox replier event 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"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageInboxReplierEvents"}}}}}}},"/phone/summary":{"get":{"tags":["PhoneController"],"summary":"Get phone summary","description":"Get overview of assigned phones","operationId":"getPhoneSummary","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PhoneSummaryDto"}}}}}}},"/phone/releases":{"get":{"tags":["PhoneController"],"summary":"Get all phone number releases","description":"List released or deleted phone numbers","operationId":"getAllPhoneNumberReleases","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","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":"DESC","enum":["ASC","DESC"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagePhoneNumberReleaseProjection"}}}}}}},"/phone/releases/{releaseId}":{"get":{"tags":["PhoneController"],"summary":"Get phone number release","description":"Get a released or deleted phone numbers","operationId":"getPhoneNumberRelease","parameters":[{"name":"releaseId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PhoneNumberReleaseProjection"}}}}}}},"/phone/releases/{releaseId}/reassign":{"get":{"tags":["PhoneController"],"summary":"Reassign phone number release","description":"Reassign phone number that was released or deleted","operationId":"reassignPhoneNumberRelease","parameters":[{"name":"releaseId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PhoneNumberDto"}}}}}}},"/phone/plans":{"get":{"tags":["PhoneController"],"summary":"Get phone plans","description":"Get phone number plans","operationId":"getPhonePlans","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhonePlanDto"}}}}}}}},"/phone/plans/availability":{"get":{"tags":["PhoneController"],"summary":"Get phone plans availability","operationId":"getPhonePlansAvailability","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PhonePlanAvailability"}}}}}}},"/phone/numbers":{"get":{"tags":["PhoneController"],"summary":"Get phone numbers","description":"List phone numbers for account","operationId":"getPhoneNumbers","parameters":[{"name":"phoneCountry","in":"query","description":"Optional phone country","required":false,"schema":{"type":"string","enum":["US","GB","AU","CA","EE","HK","PL","PT","NL","IL","FI","SE"]}},{"name":"page","in":"query","description":"Optional page index for list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size for 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"}},{"name":"search","in":"query","description":"Optional search filter","required":false,"schema":{"type":"string"}},{"name":"include","in":"query","description":"Optional phoneIds to include in result","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"name":"favourite","in":"query","description":"Optionally filter results for favourites only","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagePhoneNumberProjection"}}}}}},"delete":{"tags":["PhoneController"],"summary":"Delete all phone numbers","description":"Remove all phone number from account","operationId":"deleteAllPhoneNumber","responses":{"204":{"description":"No Content"}}}},"/phone/numbers/{phoneNumberId}/sms-sent":{"get":{"tags":["PhoneController"],"summary":"List sent TXT messages for a phone number","description":"Get sent SMS messages for a phone number","operationId":"getSentSmsByPhoneNumber","parameters":[{"name":"phoneNumberId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in SMS list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in SMS list pagination. Maximum size is 100. Use page index and sort to page through larger results","required":false,"schema":{"maximum":100,"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":"Optional filter SMSs received after given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Optional filter SMSs received before given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"search","in":"query","description":"Optional search filter","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageSentSmsProjection"}}}}}}},"/phone/numbers/{phoneNumberId}/message-threads":{"get":{"tags":["PhoneController"],"summary":"Get the latest message preview for a thread","description":"List message threads for a phone","operationId":"getPhoneMessageThreads","parameters":[{"name":"phoneNumberId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagePhoneMessageThreadProjection"}}}}}}},"/phone/numbers/{phoneNumberId}/message-threads/{otherNumber}":{"get":{"tags":["PhoneController"],"summary":"Get messages in a phone thread","description":"List message thread messages for a phone message thread","operationId":"getPhoneMessageThreadItems","parameters":[{"name":"phoneNumberId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"otherNumber","in":"path","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagePhoneMessageThreadItemProjection"}}}}}},"delete":{"tags":["PhoneController"],"summary":"Delete messages in a phone thread","description":"Delete all messages in an SMS thread","operationId":"deletePhoneMessageThreadItems","parameters":[{"name":"phoneNumberId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"otherNumber","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmptyResponseDto"}}}}}}},"/phone/numbers/{phoneId}/webhooks/paginated":{"get":{"tags":["WebhookController"],"summary":"Get paginated webhooks for a phone number","operationId":"getPhoneNumberWebhooksPaginated","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":"phoneId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"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"}},{"name":"eventType","in":"query","description":"Optional event type","required":false,"schema":{"type":"string","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]}},{"name":"searchFilter","in":"query","description":"Optional search filter","required":false,"schema":{"type":"string"}},{"name":"health","in":"query","description":"Filter by webhook health","required":false,"schema":{"type":"string","enum":["HEALTHY","UNHEALTHY"]}},{"name":"includeAccountWide","in":"query","description":"Include account scope phone webhooks","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageWebhookProjection"}}}}}}},"/phone/numbers/message-threads":{"get":{"tags":["PhoneController"],"summary":"Get the latest messages for all phones","description":"List all message threads for all phones","operationId":"getAllPhoneMessageThreads","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagePhoneMessageThreadProjection"}}}}}}},"/phone/numbers/by-phone-number":{"get":{"tags":["PhoneController"],"summary":"Get a phone number by phone number","description":"Get a phone number by phone number","operationId":"getPhoneNumberByPhoneNumber","parameters":[{"name":"phoneNumber","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PhoneNumberDto"}}}}}}},"/phone/numbers/by-name":{"get":{"tags":["PhoneController"],"summary":"Get a phone number by name","description":"Get a phone number by name","operationId":"getPhoneNumberByName","parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PhoneNumberDto"}}}}}}},"/phone/emergency-addresses/{addressId}":{"get":{"tags":["PhoneController"],"summary":"Get an emergency address","description":"Fetch an emergency address by ID","operationId":"getEmergencyAddress","parameters":[{"name":"addressId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmergencyAddress"}}}}}},"delete":{"tags":["PhoneController"],"summary":"Delete an emergency address","description":"Delete an emergency address","operationId":"deleteEmergencyAddress","parameters":[{"name":"addressId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmptyResponseDto"}}}}}}},"/missed-sms":{"get":{"tags":["MissedSmsController"],"summary":"Get all missed SMS messages in paginated format","operationId":"getAllMissedSmsMessages","parameters":[{"name":"phoneNumber","in":"query","description":"Optional receiving phone number to filter missed SMS for","required":false,"schema":{"type":"string","format":"uuid"}},{"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":{"maximum":100,"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":"Optional filter missed SMS after given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Optional filter missed SMS before given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"search","in":"query","description":"Optional search filter","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageMissedSmsProjection"}}}}}}},"/missed-sms/{missedSmsId}":{"get":{"tags":["MissedSmsController"],"summary":"Get missed SMS content","description":"Returns a missed SMS with full content.","operationId":"getMissedSmsMessage","parameters":[{"name":"missedSmsId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/MissedSmsDto"}}}}}}},"/missed-sms/count":{"get":{"tags":["MissedSmsController"],"summary":"Get missed SMS count","operationId":"getMissedSmsCount","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CountDto"}}}}}}},"/missed-emails":{"get":{"tags":["MissedEmailController"],"summary":"Get all MissedEmails in paginated format","operationId":"getAllMissedEmails","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"}},{"name":"inboxId","in":"query","description":"Optional inbox ID filter","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageMissedEmailProjection"}}}}}}},"/missed-emails/{missedEmailId}":{"get":{"tags":["MissedEmailController"],"summary":"Get MissedEmail","description":"List emails that were missed due to plan limits.","operationId":"getMissedEmail","parameters":[{"name":"missedEmailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/MissedEmailDto"}}}}}}},"/missed-emails/waitForNthMissedEmail":{"get":{"tags":["MissedEmailController"],"summary":"Wait for Nth missed email","description":"Wait for 0 based index missed email","operationId":"waitForNthMissedEmail","parameters":[{"name":"inboxId","in":"query","description":"Optional inbox ID filter","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"timeout","in":"query","description":"Optional timeout milliseconds","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"index","in":"query","description":"Zero based index of the email to wait for. If 1 missed email already and you want to wait for the 2nd email pass index=1","required":true,"schema":{"maximum":2147483647,"minimum":0,"type":"integer","format":"int32"}},{"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/MissedEmailDto"}}}}}}},"/missed-emails/unknown":{"get":{"tags":["MissedEmailController"],"summary":"Get all unknown missed emails in paginated format","description":"Unknown missed emails are emails that were sent to MailSlurp but could not be assigned to an existing inbox.","operationId":"getAllUnknownMissedEmails","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"}},{"name":"inboxId","in":"query","description":"Optional inbox ID filter","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageUnknownMissedEmailProjection"}}}}}}},"/mfa/totp/device/{id}":{"get":{"tags":["MFAController"],"summary":"Get a TOTP device by ID","description":"Get Time-Based One-Time Password (TOTP) device by its ID.","operationId":"getTotpDevice","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TotpDeviceDto"}}}}}}},"/mfa/totp/device/{id}/code":{"get":{"tags":["MFAController"],"summary":"Get a TOTP device code by device ID","description":"Get Time-Based One-Time Password for a device by its ID.","operationId":"getTotpDeviceCode","parameters":[{"name":"at","in":"query","description":"Optional time to get code for. If not provided, current time is used.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"minSecondsUntilExpire","in":"query","description":"Optional minimum time until code expires. Will hold thread open until period reached.","required":false,"schema":{"maximum":30,"minimum":1,"type":"integer","format":"int32","default":5}},{"name":"id","in":"path","description":"ID of the TOTP device to get the code for","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TotpDeviceCodeDto"}}}}}}},"/mfa/totp/device/by":{"get":{"tags":["MFAController"],"summary":"Get a TOTP device by username, issuer, or name. Returns empty if not found.","description":"Get Time-Based One-Time Password (TOTP) device by its username and issuer mapping.","operationId":"getTotpDeviceBy","parameters":[{"name":"name","in":"query","description":"Optional name filter","required":false,"schema":{"type":"string"}},{"name":"issuer","in":"query","description":"Optional issuer filter","required":false,"schema":{"type":"string"}},{"name":"username","in":"query","description":"Optional username filter","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TotpDeviceOptionalDto"}}}}}}},"/inboxes/{inboxId}/webhooks/paginated":{"get":{"tags":["WebhookController"],"summary":"Get paginated webhooks for an Inbox","operationId":"getInboxWebhooksPaginated","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":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"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"}},{"name":"health","in":"query","description":"Filter by webhook health","required":false,"schema":{"type":"string","enum":["HEALTHY","UNHEALTHY"]}},{"name":"eventType","in":"query","description":"Optional event type","required":false,"schema":{"type":"string","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]}},{"name":"includeAccountWide","in":"query","description":"Include account scope inbox webhooks","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageWebhookProjection"}}}}}}},"/inboxes/{inboxId}/tracking-pixels":{"get":{"tags":["InboxController"],"summary":"List inbox tracking pixels","description":"List all tracking pixels sent from an inbox","operationId":"listInboxTrackingPixels","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in inbox tracking pixel list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox tracking pixel 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/PageTrackingPixelProjection"}}}}}}},"/inboxes/{inboxId}/sent":{"get":{"tags":["InboxController"],"summary":"Get Inbox Sent Emails","description":"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.","operationId":"getInboxSentEmails","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in inbox sent email list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox sent email 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 sent email search","required":false,"schema":{"type":"string"}},{"name":"since","in":"query","description":"Optional filter by sent after given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Optional filter by sent before given date time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageSentEmailProjection"}}}}},"deprecated":true}},"/inboxes/{inboxId}/sent/count":{"get":{"tags":["InboxController"],"summary":"Get sent email count in inbox","operationId":"getInboxSentCount","parameters":[{"name":"inboxId","in":"path","description":"Id of inbox that emails were sent from","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CountDto"}}}}}}},"/inboxes/{inboxId}/scheduled-jobs":{"get":{"tags":["InboxController"],"summary":"Get all scheduled email sending jobs for the inbox","description":"Schedule sending of emails using scheduled jobs.","operationId":"getScheduledJobsByInboxId","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in scheduled job list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in scheduled job 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/PageScheduledJobs"}}}}}}},"/inboxes/{inboxId}/plus-addresses":{"get":{"tags":["InboxController"],"summary":"Get sub address plus address aliases for an inbox","description":"Returns paginated list of all plus alias addresses found for an inbox based on received emails that used the inbox address with a +xyz alias.","operationId":"getInboxPlusAddresses","parameters":[{"name":"page","in":"query","description":"Optional page index in inbox tracking pixel list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox tracking pixel 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":"inboxId","in":"path","description":"ID of the inbox you want to send the email from","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagePlusAddressProjection"}}}}}}},"/inboxes/{inboxId}/plus-addresses/{plusAddressId}":{"get":{"tags":["InboxController"],"summary":"Get sub address plus address for an inbox","description":"Returns a plus address object based on emails that used the inbox address with a +xyz alias.","operationId":"getInboxPlusAddress","parameters":[{"name":"plusAddressId","in":"path","description":"ID of the plus address you want to fetch","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"inboxId","in":"path","description":"ID of the inbox you want to fetch","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PlusAddressDto"}}}}}}},"/inboxes/{inboxId}/plus-addresses/{plusAddressId}/emails":{"get":{"tags":["InboxController"],"summary":"Get emails for a given inbox plus address","description":"Returns paginated list of all emails for a given plus alias addresses found for an inbox based on received emails that used the inbox address with a +xyz alias.","operationId":"getInboxPlusAddressEmailsForPlusAddressId","parameters":[{"name":"plusAddressId","in":"path","description":"The plus address ID to fetch emails for.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in inbox tracking pixel list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox tracking pixel 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":"inboxId","in":"path","description":"ID of the inbox you want to send the email from","required":true,"schema":{"type":"string","format":"uuid"}},{"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/PageEmailPreview"}}}}}}},"/inboxes/{inboxId}/plus-addresses/emails":{"get":{"tags":["InboxController"],"summary":"Get emails for a given inbox plus address","description":"Returns paginated list of all emails for a given plus alias addresses found for an inbox based on received emails that used the inbox address with a +xyz alias.","operationId":"getInboxPlusAddressEmails","parameters":[{"name":"plusAddress","in":"query","description":"The plus address to fetch emails for. If your inbox address is `123@test.com` and the email was sent to `123+abc@test.com` then the plus address is `abc`","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"Optional page index in inbox tracking pixel list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox tracking pixel 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":"inboxId","in":"path","description":"ID of the inbox you want to send the email from","required":true,"schema":{"type":"string","format":"uuid"}},{"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/PageEmailPreview"}}}}}}},"/inboxes/{inboxId}/emails":{"get":{"tags":["InboxController"],"summary":"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.","description":"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","operationId":"getEmails","parameters":[{"name":"inboxId","in":"path","description":"Id of inbox that emails belongs to","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"size","in":"query","description":"Alias for limit. Assessed first before assessing any passed limit.","required":false,"schema":{"maximum":100,"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"Limit the result set, ordered by received date time sort direction. Maximum 100. For more listing options see the email controller","required":false,"schema":{"maximum":100,"type":"integer","format":"int32"}},{"name":"sort","in":"query","description":"Sort the results by received date and direction ASC or DESC","required":false,"schema":{"type":"string","enum":["ASC","DESC"]}},{"name":"retryTimeout","in":"query","description":"Maximum milliseconds to spend retrying inbox database until minCount emails are returned","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"delayTimeout","in":"query","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"minCount","in":"query","description":"Minimum acceptable email count. Will cause request to hang (and retry) until minCount is satisfied or retryTimeout is reached.","required":false,"schema":{"type":"integer","format":"int64"}},{"name":"unreadOnly","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"before","in":"query","description":"Exclude emails received after this ISO 8601 date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"since","in":"query","description":"Exclude emails received before this ISO 8601 date time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EmailPreview"}}}}}}}},"/inboxes/{inboxId}/emails/paginated":{"get":{"tags":["InboxController"],"summary":"Get inbox emails paginated","description":"Get a paginated list of emails in an inbox. Does not hold connections open.","operationId":"getInboxEmailsPaginated","parameters":[{"name":"page","in":"query","description":"Optional page index in inbox emails list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox emails 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":"Optional filter by received after given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Optional filter by received before given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"inboxId","in":"path","description":"Id of inbox that emails belongs to","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"syncConnectors","in":"query","description":"Sync connectors before fetching emails","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageEmailPreview"}}}}}}},"/inboxes/{inboxId}/emails/count":{"get":{"tags":["InboxController"],"summary":"Get email count in inbox","operationId":"getInboxEmailCount","parameters":[{"name":"inboxId","in":"path","description":"Id of inbox that emails belongs to","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CountDto"}}}}}}},"/inboxes/{inboxId}/delivery-status":{"get":{"tags":["InboxController"],"description":"Get all email delivery statuses for an inbox","operationId":"getDeliveryStatusesByInboxId","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in delivery status list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in delivery status 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/PageDeliveryStatus"}}}}},"deprecated":true}},"/inboxes/tags":{"get":{"tags":["InboxController"],"summary":"Get inbox tags","description":"Get all inbox tags","operationId":"getInboxTags","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"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/inboxes/tags/paginated":{"get":{"tags":["InboxController"],"summary":"Get inbox tags paginated","description":"Get all inbox tags paginated","operationId":"getInboxTagsPaginated","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"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageInboxTags"}}}}}}},"/inboxes/tags/inboxes":{"get":{"tags":["InboxController"],"summary":"Get inboxes for a tag","description":"Get all inboxes for a given inbox tag","operationId":"getInboxesByTag","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":"tag","in":"query","description":"Tag to filter by","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageInboxProjection"}}}}}}},"/inboxes/scheduled-jobs":{"get":{"tags":["InboxController"],"summary":"Get all scheduled email sending jobs for account","description":"Schedule sending of emails using scheduled jobs. These can be inbox or account level.","operationId":"getAllScheduledJobs","parameters":[{"name":"page","in":"query","description":"Optional page index in scheduled job list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in scheduled job 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"}},{"name":"inboxId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageScheduledJobs"}}}}}}},"/inboxes/scheduled-jobs/{jobId}":{"get":{"tags":["InboxController"],"summary":"Get a scheduled email job","description":"Get a scheduled email job details.","operationId":"getScheduledJob","parameters":[{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ScheduledJobDto"}}}}}},"delete":{"tags":["InboxController"],"summary":"Cancel a scheduled email job","description":"Get a scheduled email job and cancel it. Will fail if status of job is already cancelled, failed, or complete.","operationId":"cancelScheduledJob","parameters":[{"name":"jobId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ScheduledJobDto"}}}}}}},"/inboxes/plus-addresses":{"get":{"tags":["InboxController"],"summary":"Get all sub address plus address aliases for an inbox","description":"Returns paginated list of all plus alias addresses found for in account based on received emails that used the inbox address with a +xyz alias.","operationId":"getAllPlusAddresses","parameters":[{"name":"page","in":"query","description":"Optional page index in inbox tracking pixel list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox tracking pixel 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":"inboxId","in":"query","description":"Optional inboxId filter","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PagePlusAddressProjection"}}}}}}},"/inboxes/plus-addresses/{plusAddressId}":{"get":{"tags":["InboxController"],"summary":"Get sub address plus address by ID","description":"Returns a plus address object based on emails that used the inbox address with a +xyz alias.","operationId":"getInboxPlusAddressById","parameters":[{"name":"plusAddressId","in":"path","description":"ID of the plus address you want to fetch","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"inboxId","in":"query","description":"ID of the inbox you want to filter for","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PlusAddressDto"}}}}}}},"/inboxes/paginated":{"get":{"tags":["InboxController"],"summary":"List All Inboxes Paginated","description":"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.","operationId":"getAllInboxes","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":"favourite","in":"query","description":"Optionally filter results for favourites only","required":false,"schema":{"type":"boolean","default":false}},{"name":"search","in":"query","description":"Optionally filter by search words partial matching name and email address","required":false,"schema":{"type":"string"}},{"name":"tag","in":"query","description":"Optionally filter by tags. Will return inboxes that include given tags","required":false,"schema":{"type":"string"}},{"name":"teamAccess","in":"query","description":"DEPRECATED. Optionally filter by team access.","required":false,"deprecated":true,"schema":{"type":"boolean"}},{"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"}},{"name":"inboxType","in":"query","description":"Optional filter by inbox type","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":"inboxFunction","in":"query","description":"Optional filter by inbox function","required":false,"schema":{"type":"string","enum":["ALIAS","THREAD","CATCH_ALL","CONNECTOR","ACCOUNT","GUEST","OAUTH_CONNECTION_GMAIL"]}},{"name":"domainId","in":"query","description":"Optional domain ID filter","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageInboxProjection"}}}}}}},"/inboxes/outboxes":{"get":{"tags":["InboxController"],"summary":"List all inboxes with sent emails","description":"List inboxes that have sent emails","operationId":"getOutboxes","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"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageInboxProjection"}}}}}}},"/inboxes/organization":{"get":{"tags":["InboxController"],"summary":"List Organization Inboxes Paginated","description":"List organization inboxes in paginated form. These are inboxes created with `allowTeamAccess` flag enabled. Organization inboxes are `readOnly` for non-admin users. The results are available on the `content` property of the returned object. This method allows for page index (zero based), page size (how many results to return), and a sort direction (based on createdAt time). ","operationId":"getOrganizationInboxes","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":"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/PageOrganizationInboxProjection"}}}}},"deprecated":true}},"/inboxes/offset-paginated":{"get":{"tags":["InboxController"],"summary":"List All Inboxes Offset Paginated","description":"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.","operationId":"getAllInboxesOffsetPaginated","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":"favourite","in":"query","description":"Optionally filter results for favourites only","required":false,"schema":{"type":"boolean","default":false}},{"name":"search","in":"query","description":"Optionally filter by search words partial matching name and email address","required":false,"schema":{"type":"string"}},{"name":"tag","in":"query","description":"Optionally filter by tags. Will return inboxes that include given tags","required":false,"schema":{"type":"string"}},{"name":"teamAccess","in":"query","description":"DEPRECATED. Optionally filter by team access.","required":false,"deprecated":true,"schema":{"type":"boolean"}},{"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"}},{"name":"inboxType","in":"query","description":"Optional filter by inbox type","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":"inboxFunction","in":"query","description":"Optional filter by inbox function","required":false,"schema":{"type":"string","enum":["ALIAS","THREAD","CATCH_ALL","CONNECTOR","ACCOUNT","GUEST","OAUTH_CONNECTION_GMAIL"]}},{"name":"domainId","in":"query","description":"Optional domain ID filter","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageInboxProjection"}}}}}}},"/inboxes/imap-smtp-access":{"get":{"tags":["InboxController"],"description":"Get IMAP and SMTP access usernames and passwords","operationId":"getImapSmtpAccess","parameters":[{"name":"inboxId","in":"query","description":"Inbox ID","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ImapSmtpAccessDetails"}}}}}}},"/inboxes/imap-smtp-access/servers":{"get":{"tags":["InboxController"],"description":"Get IMAP and SMTP server hosts","operationId":"getImapSmtpAccessServers","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ImapSmtpAccessServers"}}}}}}},"/inboxes/imap-smtp-access/env":{"get":{"tags":["InboxController"],"description":"Get IMAP and SMTP access details in .env format","operationId":"getImapSmtpAccessEnv","parameters":[{"name":"inboxId","in":"query","description":"Inbox ID","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/inboxes/ids":{"get":{"tags":["InboxController"],"summary":"Get all inbox IDs","description":"Get list of inbox IDs","operationId":"getInboxIds","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxIdsResult"}}}}},"deprecated":true}},"/inboxes/getLatestEmail":{"get":{"tags":["InboxController"],"summary":"Get latest email in an inbox. Use `WaitForController` to get emails that may not have arrived yet.","description":"Get the newest email in an inbox or wait for one to arrive","operationId":"getLatestEmailInInbox","parameters":[{"name":"inboxId","in":"query","description":"ID of the inbox you want to get the latest email from","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"timeoutMillis","in":"query","description":"Timeout milliseconds to wait for latest email","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Email"}}}}}}},"/inboxes/exists":{"get":{"tags":["InboxController"],"summary":"Does inbox exist","description":"Check if inboxes exist by email address. Useful if you are sending emails to mailslurp addresses","operationId":"doesInboxExist","parameters":[{"name":"emailAddress","in":"query","description":"Email address","required":true,"schema":{"type":"string"}},{"name":"allowCatchAll","in":"query","description":"Allow catch all","required":false,"schema":{"type":"boolean"}},{"name":"ipAddress","in":"query","description":"IP address","required":false,"schema":{"type":"string"}},{"name":"sender","in":"query","description":"Sender","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxExistsDto"}}}}}}},"/inboxes/count":{"get":{"tags":["InboxController"],"summary":"Get total inbox count","operationId":"getInboxCount","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CountDto"}}}}}}},"/inboxes/byName":{"get":{"tags":["InboxController"],"summary":"Search for an inbox with the given name","description":"Get a inbox result by name","operationId":"getInboxByName","parameters":[{"name":"name","in":"query","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxByNameResult"}}}}}}},"/inboxes/byEmailAddress":{"get":{"tags":["InboxController"],"summary":"Search for an inbox with the provided email address","description":"Get a inbox result by email address","operationId":"getInboxByEmailAddress","parameters":[{"name":"emailAddress","in":"query","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxByEmailAddressResult"}}}}}}},"/inboxes/automations":{"get":{"tags":["InboxController"],"summary":"Does inbox have automations","description":"Check if an inbox has automations.","operationId":"doesInboxHaveAutomations","responses":{"201":{"description":"Created"}}}},"/guest-portal/{portalId}":{"get":{"tags":["GuestPortalController"],"summary":"Get a client email portal","description":"Fetch a customer guest portal","operationId":"getGuestPortal","parameters":[{"name":"portalId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GuestPortalDto"}}}}}}},"/guest-portal/{portalId}/user/{guestId}":{"get":{"tags":["GuestPortalController"],"summary":"Get guest user for portal","description":"Get customer for portal","operationId":"getGuestPortalUser","parameters":[{"name":"portalId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"guestId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GuestPortalUserDto"}}}}}}},"/guest-portal/user":{"get":{"tags":["GuestPortalController"],"summary":"Get all guest users for portal","description":"Get all customers for a portal","operationId":"getAllGuestPortalUsers","parameters":[{"name":"portalId","in":"query","description":"Optional portal ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"search","in":"query","description":"Optional search term","required":false,"schema":{"type":"string"}},{"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":"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/PageGuestPortalUsers"}}}}}}},"/guest-portal/user/{guestId}":{"get":{"tags":["GuestPortalController"],"summary":"Get guest user","description":"Get customer by ID","operationId":"getGuestPortalUserById","parameters":[{"name":"guestId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GuestPortalUserDto"}}}}}}},"/groups/{groupId}":{"get":{"tags":["GroupController"],"summary":"Get group","operationId":"getGroup","parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GroupDto"}}}}}},"delete":{"tags":["GroupController"],"summary":"Delete group","operationId":"deleteGroup","parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/groups/{groupId}/contacts-paginated":{"get":{"tags":["GroupController"],"description":"Get group and paginated contacts belonging to it","operationId":"getGroupWithContactsPaginated","parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in group contact pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in group contact 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/PageContactProjection"}}}}}}},"/groups/paginated":{"get":{"tags":["GroupController"],"summary":"Get all Contact Groups in paginated format","operationId":"getAllGroups","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":"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/PageGroupProjection"}}}}}}},"/forwarders/{id}/events":{"get":{"tags":["InboxForwarderController"],"summary":"Get an inbox forwarder event list","description":"Get inbox forwarder events","operationId":"getInboxForwarderEvents","parameters":[{"name":"id","in":"path","description":"ID of inbox forwarder","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in inbox forwarder event list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox forwarder event 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"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageInboxForwarderEvents"}}}}}}},"/forwarders/{id}/events/{eventId}":{"get":{"tags":["InboxForwarderController"],"summary":"Get an inbox forwarder event","description":"Get inbox forwarder event","operationId":"getInboxForwarderEvent","parameters":[{"name":"id","in":"path","description":"ID of inbox forwarder","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"eventId","in":"path","description":"ID of inbox forwarder event","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxForwarderEventDto"}}}}}}},"/forwarders/events":{"get":{"tags":["InboxForwarderController"],"summary":"Get all inbox forwarder events","description":"Get all inbox forwarder events","operationId":"getAllInboxForwarderEvents","parameters":[{"name":"page","in":"query","description":"Optional page index in inbox forwarder event list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox forwarder event list pagination","required":false,"schema":{"type":"integer","format":"int32","default":20}},{"name":"inboxId","in":"query","description":"Optional inbox ID to filter for","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"emailId","in":"query","description":"Optional email ID to filter for","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"sentId","in":"query","description":"Optional sent ID to filter for","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"sort","in":"query","description":"Optional createdAt sort direction ASC or DESC","required":false,"schema":{"type":"string","default":"ASC","enum":["ASC","DESC"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageInboxForwarderEvents"}}}}}}},"/forwarders/events/{eventId}":{"get":{"tags":["InboxForwarderController"],"summary":"Get a forwarder event","description":"Get forwarder event","operationId":"getForwarderEvent","parameters":[{"name":"eventId","in":"path","description":"ID of inbox forwarder event","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/InboxForwarderEventDto"}}}}}}},"/expired":{"get":{"tags":["ExpiredController"],"summary":"List records of expired inboxes","description":"Inboxes created with an expiration date will expire after the given date. An ExpiredInboxRecord is created that records the inboxes old ID and email address. You can still read emails in the inbox (using the inboxes old ID) but the email address associated with the inbox can no longer send or receive emails. Fetch expired inbox records to view the old inboxes properties","operationId":"getExpiredInboxes","parameters":[{"name":"page","in":"query","description":"Optional page index in inbox sent email list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in inbox sent email 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"}},{"name":"inboxId","in":"query","description":"Optionally filter by inbox ID","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageExpiredInboxRecordProjection"}}}}}}},"/expired/{expiredId}":{"get":{"tags":["ExpiredController"],"summary":"Get an expired inbox record","description":"Inboxes created with an expiration date will expire after the given date and be moved to an ExpiredInbox entity. You can still read emails in the inbox but it can no longer send or receive emails. Fetch the expired inboxes to view the old inboxes properties","operationId":"getExpiredInboxRecord","parameters":[{"name":"expiredId","in":"path","description":"ID of the ExpiredInboxRecord you want to retrieve. This is different from the ID of the inbox you are interested in. See other methods for getting ExpiredInboxRecord for an inbox inboxId","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExpiredInboxDto"}}}}}}},"/expired/inbox/{inboxId}":{"get":{"tags":["ExpiredController"],"summary":"Get expired inbox record for a previously existing inbox","description":"Use the inboxId to return an ExpiredInboxRecord if an inbox has expired. Inboxes expire and are disabled if an expiration date is set or plan requires. Returns 404 if no expired inbox is found for the inboxId","operationId":"getExpiredInboxByInboxId","parameters":[{"name":"inboxId","in":"path","description":"ID of inbox you want to retrieve (not the inbox ID)","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExpiredInboxDto"}}}}}}},"/expired/defaults":{"get":{"tags":["ExpiredController"],"summary":"Get default expiration settings","description":"Return default times used for inbox expiration","operationId":"getExpirationDefaults","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ExpirationDefaults"}}}}}}},"/emails/{emailId}/urls":{"get":{"tags":["EmailController"],"summary":"Get email URLs for viewing in browser or downloading","description":"Returns precomputed URLs for preview and raw message access for the specified email.","operationId":"getEmailPreviewURLs","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailPreviewUrls"}}}}}}},"/emails/{emailId}/textLines":{"get":{"tags":["EmailController"],"summary":"Extract normalized text lines from email body","description":"Converts email body content to line-based plain text with optional HTML entity decoding and custom line separator.","operationId":"getEmailTextLines","parameters":[{"name":"emailId","in":"path","description":"ID of email to fetch text for","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"decodeHtmlEntities","in":"query","description":"Decode HTML entities","required":false,"schema":{"type":"boolean"}},{"name":"lineSeparator","in":"query","description":"Line separator character","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailTextLinesResult"}}}}}}},"/emails/{emailId}/summary":{"get":{"tags":["EmailController"],"summary":"Get email summary (headers/metadata only)","description":"Returns lightweight metadata and headers for an email. Use `getEmail` for hydrated body content or `getRawEmail` for original SMTP content.","operationId":"getEmailSummary","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"decode","in":"query","description":"Deprecated and ignored. Retained for backwards compatibility.","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailPreview"}}}}}}},"/emails/{emailId}/signature":{"get":{"tags":["EmailController"],"summary":"Extract signature from an inbound email","description":"Attempts to parse a sender signature block from an email body. Uses raw MIME content parts when possible and falls back to hydrated body parsing. This is heuristic and may not be accurate for all email clients or formats.","operationId":"getEmailSignature","parameters":[{"name":"emailId","in":"path","description":"ID of email to extract signature from","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailSignatureParseResult"}}}}}}},"/emails/{emailId}/raw":{"get":{"tags":["EmailController"],"summary":"Get raw email string. Returns unparsed raw SMTP message with headers and body.","description":"Returns the original unparsed SMTP/MIME message as `text/plain`. Use JSON variant if your client expects JSON transport.","operationId":"getRawEmailContents","parameters":[{"name":"emailId","in":"path","description":"ID of email","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}}}},"/emails/{emailId}/raw/json":{"get":{"tags":["EmailController"],"summary":"Get raw email in JSON. Unparsed SMTP message in JSON wrapper format.","description":"Returns the original unparsed SMTP/MIME message wrapped in a JSON DTO for API clients that avoid plain-text stream responses.","operationId":"getRawEmailJson","parameters":[{"name":"emailId","in":"path","description":"ID of email","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RawEmailJson"}}}}}}},"/emails/{emailId}/links":{"get":{"tags":["EmailController"],"summary":"Extract links from an email HTML body","description":"Parses HTML content and extracts link URLs (`href`). For non-HTML emails this endpoint returns a validation error.","operationId":"getEmailLinks","parameters":[{"name":"emailId","in":"path","description":"ID of email to fetch text for","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"selector","in":"query","description":"Optional HTML query selector for links","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailLinksResult"}}}}}}},"/emails/{emailId}/html":{"get":{"tags":["EmailController"],"summary":"Get hydrated email HTML for browser rendering","description":"Returns hydrated HTML body directly with `text/html` content type. Supports temporary access/browser usage and optional CID replacement for inline asset rendering.","operationId":"getEmailHTML","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"replaceCidImages","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"text/html;charset=utf-8":{"schema":{"type":"string"}},"text/html":{"schema":{"type":"string"}}}}}}},"/emails/{emailId}/htmlQuery":{"get":{"tags":["EmailController"],"summary":"Query hydrated HTML body and return matching text lines","description":"Applies a JSoup/CSS selector to hydrated HTML email body and returns matching text lines.","operationId":"getEmailHTMLQuery","parameters":[{"name":"emailId","in":"path","description":"ID of email to perform HTML query on","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"htmlSelector","in":"query","description":"HTML selector to search for. Uses JQuery/JSoup/CSS style selector like '.my-div' to match content. See https://jsoup.org/apidocs/org/jsoup/select/Selector.html for more information.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailTextLinesResult"}}}}}}},"/emails/{emailId}/html/json":{"get":{"tags":["EmailController"],"summary":"Get hydrated email HTML wrapped in JSON","description":"Returns hydrated HTML body and subject in a JSON DTO. Useful for API clients that need structured response payloads instead of raw HTML responses.","operationId":"getEmailHTMLJson","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"replaceCidImages","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailHtmlDto"}}}}}}},"/emails/{emailId}/device-previews/offset-paginated":{"get":{"tags":["DevicePreviewsController"],"summary":"List previous device preview runs for an email in paginated form","operationId":"getDevicePreviewRunsOffsetPaginated","parameters":[{"name":"emailId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"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 for paginated result list.","required":false,"schema":{"maximum":100,"type":"integer","format":"int32","default":20}},{"name":"sort","in":"query","description":"Optional createdAt sort direction ASC or DESC","required":false,"schema":{"type":"string","default":"DESC","enum":["ASC","DESC"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageDevicePreviewRunProjection"}}}}}}},"/emails/{emailId}/contentPart":{"get":{"tags":["EmailController"],"summary":"Get email content part by content type","description":"Extracts one MIME body part by `contentType` and optional `index`, returned in a structured DTO with metadata.","operationId":"getEmailContentPart","parameters":[{"name":"emailId","in":"path","description":"ID of email to match against","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"contentType","in":"query","description":"Content type","required":true,"schema":{"type":"string"}},{"name":"strict","in":"query","description":"Strict content type match","required":false,"schema":{"type":"boolean"}},{"name":"index","in":"query","description":"Index of content type part if multiple","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/EmailContentPartResult"}},"application/xml;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/EmailContentPartResult"}},"application/json; charset=UTF-8":{"schema":{"$ref":"#/components/schemas/EmailContentPartResult"}},"application/xml; charset=UTF-8":{"schema":{"$ref":"#/components/schemas/EmailContentPartResult"}}}}}}},"/emails/{emailId}/contentPart/raw":{"get":{"tags":["EmailController"],"summary":"Get multipart content part as raw response","description":"Extracts one MIME body part by `contentType` and optional `index`, and returns raw content with matching response content type when valid.","operationId":"getEmailContentPartContent","parameters":[{"name":"emailId","in":"path","description":"ID of email to match against","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"contentType","in":"query","description":"Content type","required":true,"schema":{"type":"string"}},{"name":"strict","in":"query","description":"Strict content type match","required":false,"schema":{"type":"boolean"}},{"name":"index","in":"query","description":"Index of content type part if multiple. Starts from 0 and applies to the result list after selecting for your content type. Content type parts are sorted by order found in original MIME message.","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/emails/{emailId}/body":{"get":{"tags":["EmailController"],"summary":"Get email body as string. Returned as `plain/text` with content type header.","description":"Returns hydrated email body text as a string with content type aligned to the underlying body format.","operationId":"downloadBody","parameters":[{"name":"emailId","in":"path","description":"ID of email","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"type":"string"}},"text/html":{"schema":{"type":"string"}}}}}}},"/emails/{emailId}/body-bytes":{"get":{"tags":["EmailController"],"summary":"Get email body in bytes. Returned as `octet-stream` with content type header.","description":"Streams hydrated email body bytes with content type derived from the message body format.","operationId":"downloadBodyBytes","parameters":[{"name":"emailId","in":"path","description":"ID of email","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"default":{"description":"default response","content":{"application/octet-stream":{"schema":{"type":"string","format":"byte"}}}}}}},"/emails/{emailId}/attachments":{"get":{"tags":["EmailController"],"summary":"List attachment metadata for an email","description":"Returns metadata for all attachment IDs associated with the email (name, content type, size, and IDs).","operationId":"getEmailAttachments","parameters":[{"name":"emailId","in":"path","description":"ID of email","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AttachmentMetaData"}}}}}}}},"/emails/{emailId}/attachments/{attachmentId}":{"get":{"tags":["EmailController"],"summary":"Get email attachment bytes. Returned as `octet-stream` with content type header. If you have trouble with byte responses try the `downloadAttachmentBase64` response endpoints and convert the base 64 encoded content to a file or string.","description":"Returns attachment bytes by attachment ID. Use attachment IDs from email payloads or attachment listing endpoints.","operationId":"downloadAttachment","parameters":[{"name":"emailId","in":"path","description":"ID of email","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"attachmentId","in":"path","description":"ID of attachment","required":true,"schema":{"type":"string"}},{"name":"apiKey","in":"query","description":"Can pass apiKey in url for this request if you wish to download the file in a browser. Content type will be set to original content type of the attachment file. This is so that browsers can download the file correctly.","required":false,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/octet-stream":{"schema":{"type":"string","format":"byte"}}}}}}},"/emails/{emailId}/attachments/{attachmentId}/metadata":{"get":{"tags":["EmailController"],"summary":"Get email attachment metadata. This is the `contentType` and `contentLength` of an attachment. To get the individual attachments  use the `downloadAttachment` methods.","description":"Returns metadata for a specific attachment ID (name, content type, and size fields).","operationId":"getAttachmentMetaData","parameters":[{"name":"emailId","in":"path","description":"ID of email","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"attachmentId","in":"path","description":"ID of attachment","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AttachmentMetaData"}}}}}}},"/emails/{emailId}/attachments/{attachmentId}/base64":{"get":{"tags":["EmailController"],"summary":"Get email attachment as base64 encoded string as an alternative to binary responses. Decode the `base64FileContents` as a `utf-8` encoded string or array of bytes depending on the `contentType`.","description":"Returns attachment payload as base64 in JSON. Useful for clients that cannot reliably consume binary streaming responses.","operationId":"downloadAttachmentBase64","parameters":[{"name":"emailId","in":"path","description":"ID of email","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"attachmentId","in":"path","description":"ID of attachment","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DownloadAttachmentDto"}}}}}}},"/emails/unreadCount":{"get":{"tags":["EmailController"],"summary":"Get unread email count","description":"Returns unread email count. An email is considered read after dashboard/API retrieval depending on your read workflow.","operationId":"getUnreadEmailCount","parameters":[{"name":"inboxId","in":"query","description":"Inbox ID filter for unread count scope","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UnreadCount"}}}}}}},"/emails/threads":{"get":{"tags":["EmailController"],"summary":"List email threads in paginated form","description":"Lists conversation threads inferred from `Message-ID`, `In-Reply-To`, and `References`. Supports filtering by inbox, search text, and time range.","operationId":"getEmailThreads","parameters":[{"name":"htmlSelector","in":"query","description":"Optional inbox filter. Query parameter name is `htmlSelector` for legacy compatibility.","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in email thread pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in email thread pagination. Maximum size is 100. Use page index and sort to page through larger results","required":false,"schema":{"maximum":100,"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 search filter for email threads.","required":false,"schema":{"type":"string"}},{"name":"since","in":"query","description":"Optional filter email threads created since time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Optional filter emails threads created before given date time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageEmailThreadProjection"}}}}}}},"/emails/threads/{threadId}":{"get":{"tags":["EmailController"],"summary":"Get email thread metadata by thread ID","description":"Returns thread metadata built from RFC 5322 `Message-ID`, `In-Reply-To`, and `References` headers. Use `getEmailThreadItems` to fetch the thread messages.","operationId":"getEmailThread","parameters":[{"name":"threadId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailThreadDto"}}}}}}},"/emails/threads/{threadId}/items":{"get":{"tags":["EmailController"],"summary":"Get messages in a specific email thread","description":"Returns all messages in a thread ordered by `createdAt` using the requested sort direction.","operationId":"getEmailThreadItems","parameters":[{"name":"threadId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"sort","in":"query","description":"Optional createdAt sort direction ASC or DESC","required":false,"schema":{"type":"string","default":"ASC","enum":["ASC","DESC"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailThreadItemsDto"}}}}}}},"/emails/organization":{"get":{"tags":["EmailController"],"summary":"List organization-visible emails","description":"Returns paginated emails visible through organization/team access. Supports inbox filtering, unread-only filtering, search, favourites, plus-address filtering, and optional connector sync.","operationId":"getOrganizationEmailsPaginated","parameters":[{"name":"inboxId","in":"query","description":"Optional inbox ids to filter by. Can be repeated. By default will use all inboxes belonging to your account.","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"name":"page","in":"query","description":"Optional page index in email list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in email list pagination. Maximum size is 100. Use page index and sort to page through larger results","required":false,"schema":{"maximum":100,"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":"unreadOnly","in":"query","description":"Optional filter for unread emails only. All emails are considered unread until they are viewed in the dashboard or requested directly","required":false,"schema":{"type":"boolean","default":false}},{"name":"searchFilter","in":"query","description":"Optional search filter search filter for emails.","required":false,"schema":{"type":"string"}},{"name":"since","in":"query","description":"Optional filter emails received after given date time. If unset will use time 24hours prior to now.","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Optional filter emails received before given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"syncConnectors","in":"query","description":"Sync connectors","required":false,"schema":{"type":"boolean"}},{"name":"favourited","in":"query","description":"Search only favorited emails","required":false,"schema":{"type":"boolean"}},{"name":"plusAddressId","in":"query","description":"Optional plus address ID filter","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageEmailProjection"}}}}}}},"/emails/offset-paginated":{"get":{"tags":["EmailController"],"summary":"Get all emails in all inboxes in paginated form. Email API list all.","description":"Offset-style pagination endpoint for listing emails across inboxes. Supports inbox filters, unread-only, search, date boundaries, favourites, connector sync, plus-address filtering, and explicit include IDs.","operationId":"getEmailsOffsetPaginated","parameters":[{"name":"inboxId","in":"query","description":"Optional inbox ids to filter by. Can be repeated. By default will use all inboxes belonging to your account.","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}},{"name":"page","in":"query","description":"Optional page index in email list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in email list pagination. Maximum size is 100. Use page index and sort to page through larger results","required":false,"schema":{"maximum":100,"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":"unreadOnly","in":"query","description":"Optional filter for unread emails only. All emails are considered unread until they are viewed in the dashboard or requested directly","required":false,"schema":{"type":"boolean","default":false}},{"name":"searchFilter","in":"query","description":"Optional search filter. Full email addresses match sender and receiving inbox email or receiving plus-address full address exactly. Address-like fragments containing @ (for example +alias@) also match sender, receiving inbox email, and receiving plus-address full address by contains. General text search matches sender, subject, and ID.","required":false,"schema":{"type":"string"}},{"name":"since","in":"query","description":"Optional filter emails received after given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Optional filter emails received before given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"favourited","in":"query","description":"Optional filter emails that are favourited","required":false,"schema":{"type":"boolean"}},{"name":"syncConnectors","in":"query","description":"Sync connectors","required":false,"schema":{"type":"boolean"}},{"name":"plusAddressId","in":"query","description":"Optional plus address ID filter","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"include","in":"query","description":"Optional list of IDs to include in result","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageEmailProjection"}}}}}}},"/emails/latest":{"get":{"tags":["EmailController"],"summary":"Get latest email in all inboxes. Most recently received.","description":"Returns the most recently received email across all inboxes or an optional subset of inbox IDs.","operationId":"getLatestEmail","parameters":[{"name":"inboxIds","in":"query","description":"Optional set of inboxes to filter by. Only get the latest email from these inbox IDs. If not provided will search across all inboxes","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Email"}}}}}}},"/emails/latestIn":{"get":{"tags":["EmailController"],"summary":"Get latest email in an inbox. Use `WaitForController` to get emails that may not have arrived yet.","description":"Returns the newest email for the specified inbox ID. For polling/wait semantics use wait endpoints.","operationId":"getLatestEmailInInbox_1","parameters":[{"name":"inboxId","in":"query","description":"ID of the inbox you want to get the latest email from","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Email"}}}}}}},"/emails/gravatarFor":{"get":{"tags":["EmailController"],"summary":"Get Gravatar URL for an email address","description":"Builds a Gravatar image URL from the provided email address and optional size. This endpoint does not fetch image bytes; it only returns the computed URL.","operationId":"getGravatarUrlForEmailAddress","parameters":[{"name":"emailAddress","in":"query","required":true,"schema":{"type":"string"}},{"name":"size","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/GravatarUrl"}}}}}}},"/emails/emails/count":{"get":{"tags":["EmailController"],"summary":"Get email count","description":"Returns total email count for the authenticated user, or count scoped to a specific inbox when `inboxId` is provided.","operationId":"getEmailCount","parameters":[{"name":"inboxId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CountDto"}}}}}}},"/emails/device-previews":{"get":{"tags":["DevicePreviewsController"],"summary":"List previous device preview runs for account","operationId":"getDevicePreviewRunsForAccount","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DevicePreviewRunDto"}}}}}}}},"/emails/device-previews/{runId}":{"get":{"tags":["DevicePreviewsController"],"summary":"Get device preview run status","operationId":"getDevicePreviewRun","parameters":[{"name":"runId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DevicePreviewRunDto"}}}}}},"delete":{"tags":["DevicePreviewsController"],"summary":"Delete local device preview run data","operationId":"deleteDevicePreviewRun","parameters":[{"name":"runId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeleteDevicePreviewRunResult"}}}}}}},"/emails/device-previews/{runId}/screenshots/{screenshotId}/image":{"get":{"tags":["DevicePreviewsController"],"summary":"Get a seeded device preview screenshot image","operationId":"getDevicePreviewRunScreenshot","parameters":[{"name":"runId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"screenshotId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string","format":"byte"}}}}}}},"/emails/device-previews/{runId}/results":{"get":{"tags":["DevicePreviewsController"],"summary":"Get device preview run results","operationId":"getDevicePreviewRunResults","parameters":[{"name":"runId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DevicePreviewRunResultsDto"}}}}}}},"/emails/device-previews/{runId}/providers/{provider}":{"get":{"tags":["DevicePreviewsController"],"summary":"Get provider-level progress for a device preview run","operationId":"getDevicePreviewRunProviderProgress","parameters":[{"name":"runId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"provider","in":"path","required":true,"schema":{"type":"string","enum":["GMAIL","OUTLOOK","YAHOO"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DevicePreviewProviderProgressDto"}}}}}}},"/email-verification/validation-requests":{"get":{"tags":["EmailVerificationController"],"summary":"Validate a list of email addresses. Per unit billing. See your plan for pricing.","description":"List email verification requests","operationId":"getValidationRequests","parameters":[{"name":"page","in":"query","description":"Optional page index in list pagination","required":false,"schema":{"maximum":9223372036854775807,"minimum":0,"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size for paginated result list.","required":false,"schema":{"maximum":100,"minimum":1,"type":"integer","format":"int32","default":20}},{"name":"sort","in":"query","description":"Optional createdAt sort direction ASC or DESC","required":false,"schema":{"type":"string","default":"DESC","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"}},{"name":"isValid","in":"query","description":"Filter where email is valid is true or false","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageEmailValidationRequest"}}}}}}},"/email-audits/{auditId}":{"get":{"tags":["EmailAuditController"],"summary":"Get email audit","operationId":"getEmailAudit","parameters":[{"name":"auditId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailAuditDto"}}}}}},"delete":{"tags":["EmailAuditController"],"summary":"Delete email audit","operationId":"deleteEmailAudit","parameters":[{"name":"auditId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/email-audits/{auditId}/compare/{otherAuditId}":{"get":{"tags":["EmailAuditController"],"summary":"Compare two email audits","operationId":"compareEmailAudits","parameters":[{"name":"auditId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"otherAuditId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/EmailAuditComparisonDto"}}}}}}},"/domains/mailslurp-domains":{"get":{"tags":["DomainController"],"summary":"Get MailSlurp domains","description":"List all MailSlurp domains used with non-custom email addresses","operationId":"getMailSlurpDomains","parameters":[{"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"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainGroupsDto"}}}}}}},"/domains/issues":{"get":{"tags":["DomainController"],"summary":"Get domain issues","description":"List domain issues for domains you have created","operationId":"getDomainIssues","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainIssuesDto"}}}}}}},"/domains/available-domains":{"get":{"tags":["DomainController"],"summary":"Get all usable domains","description":"List all domains available for use with email address creation","operationId":"getAvailableDomains","parameters":[{"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"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainGroupsDto"}}}}}}},"/domains/available-domain-regions":{"get":{"tags":["DomainController"],"summary":"Get all usable domains with account region status","description":"List all domains available for use with email address creation, including account-region and create/send enablement flags.","operationId":"getAvailableDomainRegions","parameters":[{"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"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainRegionGroupsDto"}}}}}}},"/domain-monitor/monitors/{monitorId}/summary":{"get":{"tags":["DomainMonitorController"],"summary":"Get domain monitor summary","operationId":"getDomainMonitorSummary","parameters":[{"name":"monitorId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"dkimSelector","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainMonitorSummaryDto"}}}}}}},"/domain-monitor/monitors/{monitorId}/series":{"get":{"tags":["DomainMonitorController"],"summary":"Get monitor trend series","operationId":"getDomainMonitorSeries","parameters":[{"name":"monitorId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"since","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"bucket","in":"query","required":false,"schema":{"type":"string","default":"DAY","enum":["HOUR","DAY"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainMonitorSeriesDto"}}}}}}},"/domain-monitor/monitors/{monitorId}/runs":{"get":{"tags":["DomainMonitorController"],"summary":"List monitor runs","operationId":"getDomainMonitorRuns","parameters":[{"name":"monitorId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"since","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["HEALTHY","DEGRADED","CRITICAL","FAILED"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DomainMonitorRunDto"}}}}}}}},"/domain-monitor/monitors/{monitorId}/runs/{runId}":{"get":{"tags":["DomainMonitorController"],"summary":"Get monitor run","operationId":"getDomainMonitorRun","parameters":[{"name":"monitorId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"runId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainMonitorRunDto"}}}}}}},"/domain-monitor/monitors/{monitorId}/runs/{runId}/compare/{otherRunId}":{"get":{"tags":["DomainMonitorController"],"summary":"Compare two monitor runs","operationId":"compareDomainMonitorRuns","parameters":[{"name":"monitorId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"runId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"otherRunId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainMonitorRunComparisonDto"}}}}}}},"/domain-monitor/monitors/{monitorId}/insights":{"get":{"tags":["DomainMonitorController"],"summary":"Get monitor insights","operationId":"getDomainMonitorInsights","parameters":[{"name":"monitorId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"since","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DomainMonitorInsightsDto"}}}}}}},"/domain-monitor/monitors/{monitorId}/auth-stack":{"get":{"tags":["DomainMonitorController"],"summary":"Get current auth stack for monitor domain","operationId":"getDomainMonitorAuthStack","parameters":[{"name":"monitorId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"dkimSelector","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CheckEmailAuthStackResults"}}}}}}},"/contacts/{contactId}":{"get":{"tags":["ContactController"],"summary":"Get contact","operationId":"getContact","parameters":[{"name":"contactId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ContactDto"}}}}}},"delete":{"tags":["ContactController"],"summary":"Delete contact","operationId":"deleteContact","parameters":[{"name":"contactId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/contacts/{contactId}/download":{"get":{"tags":["ContactController"],"summary":"Get contact vCard vcf file","operationId":"getContactVCard","parameters":[{"name":"contactId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK"}},"deprecated":true}},"/contacts/paginated":{"get":{"tags":["ContactController"],"summary":"Get all contacts","operationId":"getAllContacts","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":"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"}},{"name":"search","in":"query","description":"Search terms","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageContactProjection"}}}}}}},"/consent/opt-in":{"get":{"tags":["ConsentController"],"operationId":"getOptInIdentities","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"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageOptInIdentityProjection"}}}}}},"delete":{"tags":["ConsentController"],"operationId":"revokeOptInConsentForEmailAddress","parameters":[{"name":"emailAddress","in":"query","description":"Email address to revoke consent for","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OptInSendingConsentDto"}}}}}}},"/consent/opt-in/sending-consent":{"get":{"tags":["ConsentController"],"operationId":"checkSendingConsentForEmailAddress","parameters":[{"name":"emailAddress","in":"query","description":"Email address to check consent for","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OptInSendingConsentDto"}}}}}}},"/connectors/{id}/events":{"get":{"tags":["ConnectorController"],"summary":"Get an inbox connector events","operationId":"getConnectorEvents","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in connector list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in connector 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"}},{"name":"eventType","in":"query","description":"Filter by event type","required":false,"schema":{"type":"string","enum":["SEND","SYNC"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageConnectorEvents"}}}}}}},"/connectors/provider-settings":{"get":{"tags":["ConnectorController"],"summary":"Get SMTP and IMAP connection settings for common mail providers","description":"Get common mail provider SMTP and IMAP connection settings","operationId":"getConnectorProviderSettings","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectorProviderSettingsDto"}}}}}}},"/connectors/events":{"get":{"tags":["ConnectorController"],"summary":"Get all inbox connector events","operationId":"getAllConnectorEvents","parameters":[{"name":"id","in":"query","description":"Optional connector ID","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in connector list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in connector 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"}},{"name":"eventType","in":"query","description":"Filter by event type","required":false,"schema":{"type":"string","enum":["SEND","SYNC"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageConnectorEvents"}}}}}}},"/connectors/events/{id}":{"get":{"tags":["ConnectorController"],"summary":"Get an inbox connector event","operationId":"getConnectorEvent","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ConnectorEventDto"}}}}}}},"/connectors/by-name":{"get":{"tags":["ConnectorController"],"summary":"Get connector by name","description":"Find an inbox connector by name","operationId":"getConnectorByName","parameters":[{"name":"name","in":"query","description":"Name to search for connector by","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OptionalConnectorDto"}}}}}}},"/connectors/by-inbox-id":{"get":{"tags":["ConnectorController"],"summary":"Get connector by inbox ID","description":"Find an inbox connector by inbox ID","operationId":"getConnectorByInboxId","parameters":[{"name":"inboxId","in":"query","description":"Inbox ID to search for connector by","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OptionalConnectorDto"}}}}}}},"/connectors/by-email-address":{"get":{"tags":["ConnectorController"],"summary":"Get connector by email address","description":"Find an inbox connector by email address","operationId":"getConnectorByEmailAddress","parameters":[{"name":"emailAddress","in":"query","description":"Email address to search for connector by","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/OptionalConnectorDto"}}}}}}},"/campaign-probe/probes/{probeId}/series":{"get":{"tags":["CampaignProbeController"],"summary":"Get campaign probe trend series","operationId":"getCampaignProbeSeries","parameters":[{"name":"probeId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"since","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"bucket","in":"query","required":false,"schema":{"type":"string","default":"DAY","enum":["HOUR","DAY"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CampaignProbeSeriesDto"}}}}}}},"/campaign-probe/probes/{probeId}/runs":{"get":{"tags":["CampaignProbeController"],"summary":"List campaign probe runs","operationId":"getCampaignProbeRuns","parameters":[{"name":"probeId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"since","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["HEALTHY","WARNING","FAILED"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CampaignProbeRunDto"}}}}}}}},"/campaign-probe/probes/{probeId}/runs/{runId}":{"get":{"tags":["CampaignProbeController"],"summary":"Get campaign probe run","operationId":"getCampaignProbeRun","parameters":[{"name":"probeId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"runId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CampaignProbeRunDto"}}}}}}},"/campaign-probe/probes/{probeId}/runs/{runId}/compare/{otherRunId}":{"get":{"tags":["CampaignProbeController"],"summary":"Compare two campaign probe runs","operationId":"compareCampaignProbeRuns","parameters":[{"name":"probeId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"runId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"otherRunId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CampaignProbeRunComparisonDto"}}}}}}},"/campaign-probe/probes/{probeId}/insights":{"get":{"tags":["CampaignProbeController"],"summary":"Get campaign probe insights","operationId":"getCampaignProbeInsights","parameters":[{"name":"probeId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"since","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/CampaignProbeInsightsDto"}}}}}}},"/bounce/tenant-status":{"get":{"tags":["BounceController"],"summary":"Get SES tenant status summary","description":"Get SES tenant sending and reputation status rows for this user. Includes complaint and bounce rates from CloudWatch.","operationId":"getTenantReputationStatusSummary","parameters":[{"name":"accountRegion","in":"query","description":"Optional account region filter","required":false,"schema":{"type":"string","enum":["US_WEST_2_ACCOUNT_STAGING","US_EAST_1_ACCOUNT_STAGING","EU_WEST_1_ACCOUNT_STAGING","US_WEST_2_ACCOUNT_SES_1","EU_WEST_1_ACCOUNT_SES_1","US_WEST_2_ACCOUNT_SES_2","EU_WEST_1_ACCOUNT_SES_2","US_WEST_2_ACCOUNT_BYTEWISE","EU_WEST_1_ACCOUNT_BYTEWISE","US_WEST_2","EU_WEST_1","US_EAST_1"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TenantReputationStatusSummaryDto"}}}}}}},"/bounce/tenant-findings":{"get":{"tags":["BounceController"],"summary":"Get SES tenant reputation findings","description":"Get SES tenant reputation recommendations/findings for this user.","operationId":"getTenantReputationFindings","parameters":[{"name":"accountRegion","in":"query","description":"Optional account region filter","required":false,"schema":{"type":"string","enum":["US_WEST_2_ACCOUNT_STAGING","US_EAST_1_ACCOUNT_STAGING","EU_WEST_1_ACCOUNT_STAGING","US_WEST_2_ACCOUNT_SES_1","EU_WEST_1_ACCOUNT_SES_1","US_WEST_2_ACCOUNT_SES_2","EU_WEST_1_ACCOUNT_SES_2","US_WEST_2_ACCOUNT_BYTEWISE","EU_WEST_1_ACCOUNT_BYTEWISE","US_WEST_2","EU_WEST_1","US_EAST_1"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/TenantReputationFindingsDto"}}}}}}},"/bounce/reputation-items":{"get":{"tags":["BounceController"],"summary":"Get paginated list of reputation items.","description":"List of complaints and bounces","operationId":"getReputationItems","parameters":[{"name":"page","in":"query","description":"Optional page index","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size","required":false,"schema":{"maximum":100,"type":"integer","format":"int32","default":20}},{"name":"sort","in":"query","description":"Optional createdAt sort direction ASC or DESC","required":false,"schema":{"type":"string","default":"DESC","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/PageReputationItems"}}}}}}},"/bounce/recipients":{"get":{"tags":["BounceController"],"summary":"Get paginated list of bounced recipients.","description":"Bounced recipients are email addresses that you have sent emails to that did not accept the sent email. Once a recipient is bounced you cannot send emails to that address.","operationId":"getBouncedRecipients","parameters":[{"name":"page","in":"query","description":"Optional page index ","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size ","required":false,"schema":{"maximum":100,"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/PageBouncedRecipients"}}}}}}},"/bounce/recipients/{id}":{"get":{"tags":["BounceController"],"summary":"Get a bounced email.","description":"Bounced emails are email you have sent that were rejected by a recipient","operationId":"getBouncedRecipient","parameters":[{"name":"id","in":"path","description":"ID of the bounced recipient","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BouncedRecipientDto"}}}}}}},"/bounce/list-unsubscribe-recipients":{"get":{"tags":["BounceController"],"summary":"Get paginated list of unsubscribed recipients.","description":"Unsubscribed recipient have unsubscribed from a mailing list for a user or domain and cannot be contacted again.","operationId":"getListUnsubscribeRecipients","parameters":[{"name":"page","in":"query","description":"Optional page index","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size ","required":false,"schema":{"maximum":100,"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":"domainId","in":"query","description":"Filter by domainId","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageListUnsubscribeRecipients"}}}}}}},"/bounce/emails":{"get":{"tags":["BounceController"],"summary":"Get paginated list of bounced emails.","description":"Bounced emails are email you have sent that were rejected by a recipient","operationId":"getBouncedEmails","parameters":[{"name":"page","in":"query","description":"Optional page index","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size ","required":false,"schema":{"maximum":100,"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/PageBouncedEmail"}}}}}}},"/bounce/emails/{id}":{"get":{"tags":["BounceController"],"summary":"Get a bounced email.","description":"Bounced emails are email you have sent that were rejected by a recipient","operationId":"getBouncedEmail","parameters":[{"name":"id","in":"path","description":"ID of the bounced email to fetch","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/BouncedEmailDto"}}}}}}},"/bounce/complaints":{"get":{"tags":["BounceController"],"summary":"Get paginated list of complaints.","description":"SMTP complaints made against your account","operationId":"getComplaints","parameters":[{"name":"page","in":"query","description":"Optional page index ","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size ","required":false,"schema":{"maximum":100,"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/PageComplaint"}}}}}}},"/bounce/complaints/{id}":{"get":{"tags":["BounceController"],"summary":"Get complaint","description":"Get complaint","operationId":"getComplaint","parameters":[{"name":"id","in":"path","description":"ID of the complaint","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Complaint"}}}}}}},"/bounce/account-block":{"get":{"tags":["BounceController"],"summary":"Can account send email","description":"Check if account block status prevents sending","operationId":"getAccountBounceBlockStatus","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AccountBounceBlockDto"}}}}}}},"/audit-logs":{"get":{"tags":["api-audit-log-controller"],"operationId":"getAuditLogs","parameters":[{"name":"since","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"action","in":"query","required":false,"schema":{"type":"string"}},{"name":"userId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"actorUserId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"targetUserId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"resourceType","in":"query","required":false,"schema":{"type":"string"}},{"name":"resourceId","in":"query","required":false,"schema":{"type":"string"}},{"name":"outcome","in":"query","required":false,"schema":{"type":"string"}},{"name":"requestId","in":"query","required":false,"schema":{"type":"string"}},{"name":"ipAddress","in":"query","required":false,"schema":{"type":"string"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","format":"int32"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AuditLogPageDto"}}}}}}},"/audit-logs/{eventId}":{"get":{"tags":["api-audit-log-controller"],"operationId":"getAuditLogByEventId","parameters":[{"name":"eventId","in":"path","required":true,"schema":{"type":"string"}},{"name":"since","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AuditLogEventDto"}}}}}}},"/attachments/{attachmentId}":{"get":{"tags":["AttachmentController"],"summary":"Get an attachment entity","operationId":"getAttachment","parameters":[{"name":"attachmentId","in":"path","description":"ID of attachment","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AttachmentEntityDto"}}}}}},"delete":{"tags":["AttachmentController"],"summary":"Delete an attachment","description":"Delete an attachment","operationId":"deleteAttachment","parameters":[{"name":"attachmentId","in":"path","description":"ID of attachment","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"}}}},"/attachments/{attachmentId}/metadata":{"get":{"tags":["AttachmentController"],"summary":"Get email attachment metadata information","description":"Returns the metadata for an attachment. It is saved separately to the content of the attachment. Contains properties `name` and `content-type` and `content-length` in bytes for a given attachment.","operationId":"getAttachmentInfo","parameters":[{"name":"attachmentId","in":"path","description":"ID of attachment","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AttachmentMetaData"}}}}}}},"/attachments/{attachmentId}/bytes":{"get":{"tags":["AttachmentController"],"summary":"Download attachments. Get email attachment bytes. If you have trouble with byte responses try the `downloadAttachmentBase64` response endpoints.","description":"Returns the specified attachment for a given email as a stream / array of bytes. You can find attachment ids in email responses endpoint responses. The response type is application/octet-stream.","operationId":"downloadAttachmentAsBytes","parameters":[{"name":"attachmentId","in":"path","description":"ID of attachment","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"default response","content":{"application/octet-stream":{"schema":{"type":"string","format":"byte"}}}}}}},"/attachments/{attachmentId}/base64":{"get":{"tags":["AttachmentController"],"summary":"Get email attachment as base64 encoded string as alternative to binary responses. To read the content decode the Base64 encoded contents.","description":"Returns the specified attachment for a given email as a base 64 encoded string. The response type is application/json. This method is similar to the `downloadAttachment` method but allows some clients to get around issues with binary responses.","operationId":"downloadAttachmentAsBase64Encoded","parameters":[{"name":"attachmentId","in":"path","description":"ID of attachment","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DownloadAttachmentDto"}}}}}}},"/aliases/{aliasId}/threads":{"get":{"tags":["AliasController"],"summary":"Get threads created for an alias","description":"Returns threads created for an email alias in paginated form","operationId":"getAliasThreads","parameters":[{"name":"aliasId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"page","in":"query","description":"Optional page index in thread list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in thread 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":"Optional filter by sent after given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Optional filter by sent before given date time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageAliasThreadProjection"}}}}}}},"/aliases/threads":{"get":{"tags":["AliasController"],"summary":"Get all threads","description":"Returns threads created for all aliases in paginated form","operationId":"getThreadsPaginated","parameters":[{"name":"page","in":"query","description":"Optional page index in thread list pagination","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size in thread 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":"Optional filter by sent after given date time","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","description":"Optional filter by sent before given date time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageAliasThreadProjection"}}}}}}},"/aliases/threads/{threadId}":{"get":{"tags":["AliasController"],"summary":"Get a thread","description":"Return a thread associated with an alias","operationId":"getThread","parameters":[{"name":"threadId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AliasThreadProjection"}}}}}}},"/ai/transformer/{id}":{"get":{"tags":["AIController"],"summary":"Get a transformer","description":"Get AI transformer and schemas by ID","operationId":"getTransformer","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AITransformDto"}}}}}},"delete":{"tags":["AIController"],"summary":"Delete a transformer","description":"Delete an AI transformer and schemas by ID","operationId":"deleteTransformer","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/ai/transformer/results":{"get":{"tags":["AIController"],"summary":"Get transformer results","description":"Get AI transformer results","operationId":"getTransformerResults","parameters":[{"name":"emailId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"smsId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"attachmentId","in":"query","required":false,"schema":{"type":"string"}},{"name":"aiTransformId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"aiTransformMappingId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"entityId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"entityType","in":"query","required":false,"schema":{"type":"string","enum":["INBOX","PHONE"]}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size. Maximum size is 100. Use page index and sort to page through larger results","required":false,"schema":{"maximum":100,"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"]}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageAITransformResultProjection"}}}}}}},"/ai/transformer/results/{id}":{"get":{"tags":["AIController"],"summary":"Get transformer result","description":"Get AI transformer result","operationId":"getTransformerResult","parameters":[{"name":"id","in":"path","description":"ID of transform result","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AITransformResultDto"}}}}}}},"/ai/transformer/results/table":{"get":{"tags":["AIController"],"summary":"Get transformer results table","description":"Get AI transformer results in table format","operationId":"getTransformerResultsTable","parameters":[{"name":"emailId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"smsId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"attachmentId","in":"query","required":false,"schema":{"type":"string"}},{"name":"aiTransformId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"aiTransformMappingId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"entityId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"entityType","in":"query","required":false,"schema":{"type":"string","enum":["INBOX","PHONE"]}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"Optional page size. Maximum size is 100. Use page index and sort to page through larger results","required":false,"schema":{"maximum":100,"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":"includeMetaData","in":"query","required":true,"schema":{"type":"boolean"}},{"name":"flattenArraysToRows","in":"query","required":true,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/PageTableData"}}}}}}},"/ai/transformer/mappings/{id}":{"get":{"tags":["AIController"],"summary":"Get transformer mapping","description":"Get an AI transformer mapping","operationId":"getTransformerMapping","parameters":[{"name":"id","in":"path","description":"ID of transform mapping","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/AITransformMappingDto"}}}}}},"delete":{"tags":["AIController"],"summary":"Delete transformer mapping","description":"Delete an AI transformer mapping","operationId":"deleteTransformerMapping","parameters":[{"name":"id","in":"path","description":"ID of transform mapping","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/inboxes/{inboxId}/webhooks/{webhookId}":{"delete":{"tags":["WebhookController"],"summary":"Delete and disable a Webhook for an Inbox","operationId":"deleteWebhook","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"webhookId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/inboxes/{inboxId}/deleteAllInboxEmails":{"delete":{"tags":["InboxController"],"summary":"Delete all emails in a given inboxes.","description":"Deletes all emails in an inbox. Be careful as emails cannot be recovered","operationId":"deleteAllInboxEmails","parameters":[{"name":"inboxId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/inboxes/expired":{"delete":{"tags":["InboxController"],"summary":"Remove expired inboxes","description":"Remove any expired inboxes for your account (instead of waiting for scheduled removal on server)","operationId":"flushExpired","parameters":[{"name":"before","in":"query","description":"Optional expired at before flag to flush expired inboxes that have expired before the given time","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/FlushExpiredInboxesResult"}}}}}}},"/inboxes/by-tag":{"delete":{"tags":["InboxController"],"summary":"Delete inboxes by tag","description":"Permanently delete all inboxes by tag","operationId":"deleteAllInboxesByTag","parameters":[{"name":"tag","in":"query","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":"No Content"}}}},"/inboxes/by-name":{"delete":{"tags":["InboxController"],"summary":"Delete inboxes by name","description":"Permanently delete all inboxes by name","operationId":"deleteAllInboxesByName","parameters":[{"name":"name","in":"query","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":"No Content"}}}},"/inboxes/by-description":{"delete":{"tags":["InboxController"],"summary":"Delete inboxes by description","description":"Permanently delete all inboxes by description","operationId":"deleteAllInboxesByDescription","parameters":[{"name":"description","in":"query","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"204":{"description":"No Content"}}}},"/emptyInbox":{"delete":{"tags":["CommonActionsController"],"summary":"Delete all emails in an inbox","description":"Deletes all emails","operationId":"emptyInbox","parameters":[{"name":"inboxId","in":"query","description":"ID of inbox to empty","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/email-verification":{"delete":{"tags":["EmailVerificationController"],"summary":"Delete all validation requests","description":"Remove validation requests","operationId":"deleteAllValidationRequests","responses":{"204":{"description":"No Content"}}}},"/email-verification/{id}":{"delete":{"tags":["EmailVerificationController"],"summary":"Delete a validation record","description":"Delete a validation record","operationId":"deleteValidationRequest","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/domain-monitor/monitors/{monitorId}/alert-sinks/{sinkId}":{"delete":{"tags":["DomainMonitorController"],"summary":"Delete monitor alert sink","operationId":"deleteDomainMonitorAlertSink","parameters":[{"name":"monitorId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"sinkId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}},"/deleteEmailAddress":{"delete":{"tags":["CommonActionsController"],"summary":"Delete inbox email address by inbox id","description":"Deletes inbox email address","operationId":"deleteEmailAddress","parameters":[{"name":"inboxId","in":"query","description":"ID of inbox to delete","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"No Content"}}}}},"components":{"schemas":{"WebhookHeaderNameValue":{"required":["name","value"],"type":"object","properties":{"name":{"type":"string","description":"Name of header"},"value":{"type":"string","description":"Value of header"}},"description":"Name value pair for webhook header"},"WebhookHeaders":{"required":["headers"],"type":"object","properties":{"headers":{"type":"array","description":"List of header name value pairs to include with webhook requests","items":{"$ref":"#/components/schemas/WebhookHeaderNameValue"}}},"description":"Webhook HTTP headers to include with each request from MailSlurp to your server"},"WebhookDto":{"required":["basicAuth","createdAt","id","method","payloadJsonSchema","updatedAt","url","userId"],"type":"object","properties":{"id":{"type":"string","description":"ID of the Webhook","format":"uuid"},"userId":{"type":"string","description":"User ID of the Webhook","format":"uuid"},"basicAuth":{"type":"boolean","description":"Does webhook expect basic authentication? If true it means you created this webhook with a username and password. MailSlurp will use these in the URL to authenticate itself."},"name":{"type":"string","description":"Name of the webhook","nullable":true},"phoneId":{"type":"string","description":"The phoneNumberId that the Webhook will be triggered by. If null then webhook triggered at account level or inbox level if inboxId set","format":"uuid","nullable":true},"inboxId":{"type":"string","description":"The inbox that the Webhook will be triggered by. If null then webhook triggered at account level or phone level if phoneId set","format":"uuid","nullable":true},"requestBodyTemplate":{"type":"string","description":"Request body template for HTTP request that will be sent for the webhook. Use Moustache style template variables to insert values from the original event payload.","nullable":true},"url":{"type":"string","description":"URL of your server that the webhook will be sent to. The schema of the JSON that is sent is described by the payloadJsonSchema."},"method":{"type":"string","description":"HTTP method that your server endpoint must listen for","enum":["POST","DELETE","GET","PUT","PATCH","HEAD","OPTIONS","TRACE"]},"payloadJsonSchema":{"type":"string","description":"Deprecated. Fetch JSON Schema for webhook using the getJsonSchemaForWebhookPayload method"},"createdAt":{"type":"string","description":"When the webhook was created","format":"date-time","nullable":true},"updatedAt":{"type":"string","format":"date-time"},"eventName":{"type":"string","description":"Webhook trigger event name","nullable":true,"enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]},"requestHeaders":{"$ref":"#/components/schemas/WebhookHeaders"},"aiTransformId":{"type":"string","description":"ID of AI transformer for payload","format":"uuid","nullable":true},"ignoreInsecureSslCertificates":{"type":"boolean","description":"Should notifier ignore insecure SSL certificates","nullable":true},"useStaticIpRange":{"type":"boolean","description":"Should notifier use static IP range when sending webhook payload","nullable":true},"healthStatus":{"type":"string","description":"Webhook health","nullable":true,"enum":["HEALTHY","UNHEALTHY"]}},"description":"Representation of a webhook for an inbox. The URL specified will be using by MailSlurp whenever an email is received by the attached inbox. A webhook entity should have a URL that points to your server. Your server should accept HTTP/S POST requests and return a success 200. MailSlurp will retry your webhooks if they fail. See https://api.mailslurp.com/schemas/webhook-payload for the payload schema."},"CreateTemplateOptions":{"required":["content","name"],"type":"object","properties":{"name":{"type":"string","description":"Name of template"},"content":{"type":"string","description":"Template content. Can include moustache style variables such as {{var_name}}"}},"description":"Create template options"},"TemplateDto":{"required":["content","createdAt","id","name","variables"],"type":"object","properties":{"id":{"type":"string","description":"ID of template","format":"uuid"},"name":{"type":"string","description":"Template name"},"variables":{"type":"array","description":"Variables available in template that can be replaced with values","items":{"$ref":"#/components/schemas/TemplateVariable"}},"content":{"type":"string","description":"Content of the template"},"createdAt":{"type":"string","description":"Created at time","format":"date-time"}},"description":"Email template"},"TemplateVariable":{"required":["name","variableType"],"type":"object","properties":{"name":{"type":"string","description":"Name of variable. This can be used in a template as {{name}}"},"variableType":{"type":"string","description":"The type of variable","enum":["STRING"]}},"description":"Variable for use with email template"},"SmsDto":{"required":["body","createdAt","favourite","fromNumber","id","phoneNumber","read","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"phoneNumber":{"type":"string","format":"uuid"},"fromNumber":{"type":"string"},"toNumber":{"type":"string"},"favourite":{"type":"boolean"},"body":{"type":"string"},"read":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"RulesetTestOptions":{"required":["testTarget"],"type":"object","properties":{"testTarget":{"type":"string"}},"description":"Test options for inbox ruleset"},"InboxRulesetTestResult":{"required":["matches","rulesetMatches"],"type":"object","properties":{"rulesetMatches":{"type":"object","additionalProperties":{"type":"boolean","description":"Map of inbox ruleset ID to boolean of if target matches"},"description":"Map of inbox ruleset ID to boolean of if target matches"},"matches":{"type":"boolean"}},"description":"Result of test of inbox ruleset"},"UpdateInboxReplierOptions":{"required":["field","inboxId","match"],"type":"object","properties":{"inboxId":{"type":"string","description":"Inbox ID to attach replier to","format":"uuid"},"name":{"type":"string","description":"Name for replier","nullable":true},"field":{"type":"string","description":"Field to match against to trigger inbox replier for inbound email","enum":["RECIPIENTS","SENDER","SUBJECT","ATTACHMENTS"]},"match":{"minLength":1,"type":"string","description":"String or wildcard style match for field specified when evaluating reply rules"},"replyTo":{"type":"string","description":"Reply-to email address when sending replying","nullable":true},"subject":{"type":"string","description":"Subject override when replying to email","nullable":true},"from":{"type":"string","description":"Send email from address","nullable":true},"charset":{"type":"string","description":"Email reply charset","nullable":true},"isHTML":{"type":"boolean","description":"Send HTML email","nullable":true},"ignoreReplyTo":{"type":"boolean","description":"Ignore sender replyTo when responding. Send directly to the sender if enabled.","nullable":true},"body":{"type":"string","description":"Email body for reply","nullable":true},"templateId":{"type":"string","description":"ID of template to use when sending a reply","format":"uuid","nullable":true},"templateVariables":{"type":"object","additionalProperties":{"type":"object","description":"Template variable values","nullable":true},"description":"Template variable values","nullable":true}},"description":"Options for updating an inbox replier"},"InboxReplierDto":{"required":["createdAt","field","id","ignoreReplyTo","isHTML","match"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"inboxId":{"type":"string","format":"uuid","nullable":true},"name":{"type":"string","nullable":true},"field":{"type":"string","enum":["RECIPIENTS","SENDER","SUBJECT","ATTACHMENTS"]},"match":{"type":"string"},"replyTo":{"type":"string","nullable":true},"subject":{"type":"string","nullable":true},"from":{"type":"string","nullable":true},"charset":{"type":"string","nullable":true},"isHTML":{"type":"boolean"},"templateId":{"type":"string","format":"uuid","nullable":true},"templateVariables":{"type":"object","additionalProperties":{"type":"object","nullable":true},"nullable":true},"ignoreReplyTo":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"}},"description":"Inbox replier. Will automatically reply to inbound emails that match given field for an inbox."},"UpdatePhoneNumberOptions":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"}}},"PhoneNumberDto":{"required":["createdAt","favourite","id","phoneCountry","phoneNumber","phonePlan","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string"},"userId":{"type":"string","format":"uuid"},"complianceAddress":{"type":"string","format":"uuid"},"emergencyAddress":{"type":"string","format":"uuid"},"phoneNumber":{"type":"string"},"phoneCountry":{"type":"string","enum":["US","GB","AU","CA","EE","HK","PL","PT","NL","IL","FI","SE"]},"phonePlan":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"favourite":{"type":"boolean"},"phoneVariant":{"type":"string","enum":["LOCAL","MOBILE","TOLL_FREE"]}}},"SetPhoneFavouritedOptions":{"required":["state"],"type":"object","properties":{"state":{"type":"boolean","description":"Phone favourite state"}},"description":"Options for setting phone favourite state"},"SetInboxFavouritedOptions":{"required":["state"],"type":"object","properties":{"state":{"type":"boolean","description":"Is the inbox a favorite. Marking an inbox as a favorite is typically done in the dashboard for quick access or filtering"}},"description":"Options for setting inbox favourite state"},"InboxDto":{"title":"Inbox","required":["createdAt","emailAddress","favourite","id","readOnly","userId","virtualInbox"],"type":"object","properties":{"id":{"type":"string","description":"ID of the inbox. The ID is a UUID-V4 format string. Use the inboxId for calls to Inbox and Email Controller endpoints. See the emailAddress property for the email address or the inbox. To get emails in an inbox use the WaitFor and Inbox Controller methods `waitForLatestEmail` and `getEmails` methods respectively. Inboxes can be used with aliases to forward emails automatically.","format":"uuid"},"userId":{"type":"string","description":"ID of user that inbox belongs to","format":"uuid","nullable":true},"createdAt":{"type":"string","description":"When the inbox was created. Time stamps are in ISO DateTime Format `yyyy-MM-dd'T'HH:mm:ss.SSSXXX` e.g. `2000-10-31T01:30:00.000-05:00`.","format":"date-time"},"name":{"type":"string","description":"Name of the inbox and used as the sender name when sending emails .Displayed in the dashboard for easier search","nullable":true},"domainId":{"type":"string","description":"ID of custom domain used by the inbox if any","format":"uuid","nullable":true},"description":{"type":"string","description":"Description of an inbox for labelling and searching purposes","nullable":true},"emailAddress":{"type":"string","description":"The inbox's email address. Inbox projections and previews may not include the email address. To view the email address fetch the inbox entity directly. Send an email to this address and the inbox will receive and store it for you. Note the email address in MailSlurp match characters exactly and are case sensitive so `+123` additions are considered different addresses. To retrieve the email use the Inbox and Email Controller endpoints with the inbox ID."},"expiresAt":{"type":"string","description":"Inbox expiration time. When, if ever, the inbox should expire and be deleted. If null then this inbox is permanent and the emails in it won't be deleted. This is the default behavior unless expiration date is set. If an expiration date is set and the time is reached MailSlurp will expire the inbox and move it to an expired inbox entity. You can still access the emails belonging to it but it can no longer send or receive email.","format":"date-time","nullable":true},"favourite":{"type":"boolean","description":"Is the inbox a favorite inbox. Make an inbox a favorite is typically done in the dashboard for quick access or filtering"},"tags":{"type":"array","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.","nullable":true,"deprecated":true,"items":{"type":"string","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.","nullable":true}},"inboxType":{"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).","nullable":true,"enum":["HTTP_INBOX","SMTP_INBOX"]},"readOnly":{"type":"boolean","description":"Is the inbox readOnly for the caller. Read only means can not be deleted or modified. This flag is present when using team accounts and shared inboxes."},"virtualInbox":{"type":"boolean","description":"Virtual inbox can receive email but will not send emails to real recipients. Will save sent email record but never send an actual email. Perfect for testing mail server actions."},"functionsAs":{"type":"string","description":"Inbox function if used as a primitive for another system.","nullable":true,"enum":["ALIAS","THREAD","CATCH_ALL","CONNECTOR","ACCOUNT","GUEST","OAUTH_CONNECTION_GMAIL"]},"localPart":{"type":"string","description":"Local part of email addresses before the @ symbol","nullable":true},"domain":{"type":"string","description":"Domain name of the email address","nullable":true},"accountRegion":{"type":"string","description":"Region of the inbox","nullable":true,"enum":["US_WEST_2_ACCOUNT_STAGING","US_EAST_1_ACCOUNT_STAGING","EU_WEST_1_ACCOUNT_STAGING","US_WEST_2_ACCOUNT_SES_1","EU_WEST_1_ACCOUNT_SES_1","US_WEST_2_ACCOUNT_SES_2","EU_WEST_1_ACCOUNT_SES_2","US_WEST_2_ACCOUNT_BYTEWISE","EU_WEST_1_ACCOUNT_BYTEWISE","US_WEST_2","EU_WEST_1","US_EAST_1"]}},"description":"Representation of a MailSlurp inbox. An inbox has an ID and a real email address. Emails can be sent to or from this email address. Inboxes are either `SMTP` or `HTTP` mailboxes. The default, `HTTP` inboxes, use AWS SES to process emails and are best suited as test email accounts and do not support IMAP or POP3. `SMTP` inboxes use a custom mail server at `mxslurp.click` and support SMTP login, IMAP and POP3. Use the `EmailController` or the `InboxController` methods to send and receive emails and attachments. Inboxes may have a description, name, and tags for display purposes. You can also favourite an inbox for easier searching."},"UpdateGroupContacts":{"required":["contactIds"],"type":"object","properties":{"contactIds":{"type":"array","items":{"type":"string","format":"uuid"}}},"description":"Update group contacts options. Pass a list of contact ids to replace existing group contacts."},"ContactDto":{"required":["createdAt","emailAddresses","id","tags"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"groupId":{"type":"string","format":"uuid","nullable":true},"firstName":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"company":{"type":"string","nullable":true},"emailAddresses":{"type":"array","items":{"type":"string"}},"primaryEmailAddress":{"type":"string","nullable":true},"tags":{"type":"array","items":{"type":"string"}},"metaData":{"$ref":"#/components/schemas/JsonNode"},"optOut":{"type":"boolean","nullable":true},"createdAt":{"type":"string","format":"date-time"}},"description":"Contact object. For saving a user in contact book."},"GroupContactsDto":{"required":["contacts","group"],"type":"object","properties":{"group":{"$ref":"#/components/schemas/GroupDto"},"contacts":{"type":"array","items":{"$ref":"#/components/schemas/ContactDto"}}},"description":"Describes contacts attached to a contact group"},"GroupDto":{"required":["createdAt","id","name"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"}},"description":"Contact group data"},"JsonNode":{"type":"object","nullable":true},"InboxForwarderTestOptions":{"required":["testValue"],"type":"object","properties":{"testValue":{"type":"string"}},"description":"Options for testing an inbox forwarder against a value"},"InboxForwarderTestResult":{"required":["doesMatch","matches"],"type":"object","properties":{"matches":{"type":"object","additionalProperties":{"type":"boolean"}},"doesMatch":{"type":"boolean"}},"description":"Results of inbox forwarder test"},"CreateInboxForwarderOptions":{"required":["field","forwardToRecipients","match"],"type":"object","properties":{"field":{"type":"string","description":"Field to match against to trigger inbox forwarding for inbound email","enum":["RECIPIENTS","SENDER","SUBJECT","ATTACHMENTS"]},"match":{"minLength":1,"type":"string","description":"String or wildcard style match for field specified when evaluating forwarding rules"},"forwardToRecipients":{"type":"array","description":"Email addresses to forward an email to if it matches the field and match criteria of the forwarder","items":{"type":"string","description":"Email addresses to forward an email to if it matches the field and match criteria of the forwarder"}}},"description":"Options for creating an inbox forwarder"},"InboxForwarderDto":{"required":["createdAt","field","forwardToRecipients","id","match"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"inboxId":{"type":"string","format":"uuid","nullable":true},"name":{"type":"string","description":"Name of inbox forwarder","nullable":true},"field":{"type":"string","description":"Which field to match against","enum":["RECIPIENTS","SENDER","SUBJECT","ATTACHMENTS"]},"match":{"type":"string","description":"Wild-card type pattern to apply to field"},"forwardToRecipients":{"type":"array","description":"Who to send forwarded email to","items":{"type":"string","description":"Who to send forwarded email to"}},"createdAt":{"type":"string","format":"date-time"}},"description":"Inbox forwarder. Describes how an inbox will forward matching emails to designated recipients.","externalDocs":{"url":"https://docs.mailslurp.com/forwarders"}},"ReplyToEmailOptions":{"required":["body","isHTML"],"type":"object","properties":{"body":{"type":"string","description":"Body of the reply email you want to send"},"isHTML":{"type":"boolean","description":"Is the reply HTML"},"from":{"type":"string","description":"The from header that should be used. Optional","nullable":true},"replyTo":{"type":"string","description":"The replyTo header that should be used. Optional","nullable":true},"customHeaders":{"type":"object","additionalProperties":{"type":"string","description":"Optional custom headers","nullable":true},"description":"Optional custom headers","nullable":true},"charset":{"type":"string","description":"The charset that your message should be sent with. Optional. Default is UTF-8","nullable":true},"attachments":{"type":"array","description":"List of uploaded attachments to send with the reply. Optional.","nullable":true,"items":{"type":"string","description":"List of uploaded attachments to send with the reply. Optional.","nullable":true}},"templateVariables":{"type":"object","additionalProperties":{"type":"object","description":"Template variables if using a template","nullable":true},"description":"Template variables if using a template","nullable":true},"template":{"type":"string","description":"Template ID to use instead of body. Will use template variable map to fill defined variable slots.","format":"uuid","nullable":true},"sendStrategy":{"type":"string","description":"How an email should be sent based on its recipients","nullable":true,"enum":["SINGLE_MESSAGE"]},"useInboxName":{"type":"boolean","description":"Optionally use inbox name as display name for sender email address","nullable":true},"html":{"type":"boolean","writeOnly":true}},"description":"Options for replying to email with API"},"EmailRecipients":{"type":"object","properties":{"to":{"type":"array","items":{"$ref":"#/components/schemas/Recipient"}},"cc":{"type":"array","items":{"$ref":"#/components/schemas/Recipient"}},"bcc":{"type":"array","items":{"$ref":"#/components/schemas/Recipient"}}},"description":"The `To`,`CC`,`BCC` recipients stored in object form with email address and name accessible.","nullable":true},"Recipient":{"required":["emailAddress","rawValue"],"type":"object","properties":{"rawValue":{"type":"string"},"emailAddress":{"type":"string"},"name":{"type":"string","nullable":true}},"description":"Email recipient"},"Sender":{"required":["emailAddress","rawValue"],"type":"object","properties":{"rawValue":{"type":"string"},"emailAddress":{"type":"string"},"name":{"type":"string"}},"description":"Sender object containing from email address and from personal name if provided in address","nullable":true},"SentEmailDto":{"required":["createdAt","id","inboxId","sentAt","userId"],"type":"object","properties":{"id":{"type":"string","description":"ID of sent email","format":"uuid"},"userId":{"type":"string","description":"User ID","format":"uuid"},"inboxId":{"type":"string","description":"Inbox ID email was sent from","format":"uuid"},"domainId":{"type":"string","description":"Domain ID","format":"uuid","nullable":true},"to":{"type":"array","description":"Recipients email was sent to","nullable":true,"items":{"type":"string","description":"Recipients email was sent to","nullable":true}},"from":{"type":"string","description":"Sent from address","nullable":true},"sender":{"$ref":"#/components/schemas/Sender"},"recipients":{"$ref":"#/components/schemas/EmailRecipients"},"replyTo":{"type":"string","nullable":true},"cc":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"bcc":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"attachments":{"type":"array","description":"Array of IDs of attachments that were sent with this email","nullable":true,"items":{"type":"string","description":"Array of IDs of attachments that were sent with this email","nullable":true}},"subject":{"type":"string","nullable":true},"bodyMD5Hash":{"type":"string","description":"MD5 Hash","nullable":true},"body":{"type":"string","description":"Sent email body","nullable":true},"toContacts":{"type":"array","nullable":true,"items":{"type":"string","format":"uuid","nullable":true}},"toGroup":{"type":"string","format":"uuid","nullable":true},"charset":{"type":"string","nullable":true},"isHTML":{"type":"boolean","nullable":true},"sentAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"pixelIds":{"type":"array","nullable":true,"items":{"type":"string","format":"uuid","nullable":true}},"messageId":{"type":"string","description":"RFC 5322 Message-ID header value without angle brackets.","nullable":true},"messageIds":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"virtualSend":{"type":"boolean","nullable":true},"templateId":{"type":"string","format":"uuid","nullable":true},"templateVariables":{"type":"object","additionalProperties":{"type":"object","nullable":true},"nullable":true},"headers":{"type":"object","additionalProperties":{"type":"string","nullable":true},"nullable":true},"threadId":{"type":"string","description":"MailSlurp thread ID for email chain that enables lookup for In-Reply-To and References fields.","format":"uuid","nullable":true},"bodyExcerpt":{"type":"string","description":"An excerpt of the body of the email message for quick preview. Takes HTML content part if exists falls back to TEXT content part if not","nullable":true},"textExcerpt":{"type":"string","description":"An excerpt of the body of the email message for quick preview. Takes TEXT content part if exists","nullable":true},"inReplyTo":{"type":"string","description":"Parsed value of In-Reply-To header. A Message-ID in a thread.","nullable":true},"favourite":{"type":"boolean","description":"Is email favourited","nullable":true},"sizeBytes":{"type":"integer","description":"Size of raw email message in bytes","format":"int64","nullable":true},"html":{"type":"boolean","writeOnly":true}},"description":"Sent email details"},"CreateDevicePreviewOptions":{"type":"object","properties":{"providers":{"type":"array","description":"Optional providers to request for rendering. Defaults to ESP_DEFAULT_PROVIDERS when set, otherwise GMAIL and OUTLOOK.","items":{"type":"string","description":"Optional providers to request for rendering. Defaults to ESP_DEFAULT_PROVIDERS when set, otherwise GMAIL and OUTLOOK.","enum":["GMAIL","OUTLOOK","YAHOO"]}},"includeAllConfiguredProviders":{"type":"boolean","description":"Optional flag to request all configured providers in ESP. Defaults to false when omitted"}}},"CreateDevicePreviewRunResult":{"required":["created","run"],"type":"object","properties":{"run":{"$ref":"#/components/schemas/DevicePreviewRunDto"},"created":{"type":"boolean"}}},"DevicePreviewRunDto":{"required":["createdAt","emailId","runId","screenshotCount","status","targetCount","updatedAt"],"type":"object","properties":{"runId":{"type":"string","format":"uuid"},"emailId":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["CREATED","AWAITING_ARRIVAL","CAPTURING","PARTIAL_COMPLETE","COMPLETE","FAILED"]},"primaryScreenshotId":{"type":"string","format":"uuid"},"requestedProviders":{"type":"array","items":{"type":"string","enum":["GMAIL","OUTLOOK","YAHOO"]}},"importedProviders":{"type":"array","items":{"type":"string","enum":["GMAIL","OUTLOOK","YAHOO"]}},"warnings":{"type":"array","items":{"type":"string"}},"providerMessageIds":{"type":"object","additionalProperties":{"type":"string"}},"targetCount":{"type":"integer","format":"int64"},"screenshotCount":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"UpdateDevicePreviewFeedbackOptions":{"type":"object","properties":{"status":{"type":"string","enum":["OPEN","ACKNOWLEDGED","RESOLVED","DISMISSED"]},"rating":{"type":"integer","format":"int32"},"title":{"type":"string"},"comment":{"type":"string"},"internalNote":{"type":"string"},"appendInternalNote":{"type":"boolean"},"sessionId":{"type":"string"},"liveViewUrl":{"type":"string"},"metadata":{"type":"object","additionalProperties":{"type":"string"}}}},"DevicePreviewFeedbackDto":{"required":["category","feedbackId","source","status","userId"],"type":"object","properties":{"feedbackId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"source":{"type":"string","enum":["API_SERVICE","LAB_USER","END_USER","SYSTEM"]},"category":{"type":"string","enum":["GENERAL","RUN_QUALITY","SCREENSHOT_QUALITY","PROVIDER_ISSUE","BUG_REPORT","FEATURE_REQUEST","NOTE"]},"status":{"type":"string","enum":["OPEN","ACKNOWLEDGED","RESOLVED","DISMISSED"]},"rating":{"type":"integer","format":"int32"},"runId":{"type":"string","format":"uuid"},"targetId":{"type":"string","format":"uuid"},"screenshotId":{"type":"string","format":"uuid"},"provider":{"type":"string","enum":["GMAIL","OUTLOOK","YAHOO"]},"title":{"type":"string"},"comment":{"type":"string"},"internalNote":{"type":"string"},"sessionId":{"type":"string"},"liveViewUrl":{"type":"string"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"UpdateDomainOptions":{"type":"object","properties":{"catchAllInboxId":{"type":"string","format":"uuid","nullable":true}},"description":"Options for creating a domain to use with MailSlurp. You must have ownership access to this domain in order to verify it. Domains will not functionally currently until the domain has been verified. See https://www.mailslurp.com/guides/custom-domains for help."},"DomainDto":{"required":["createdAt","dkimTokens","domain","domainNameRecords","domainType","hasDuplicateRecords","hasMissingRecords","id","isVerified","updatedAt","userId","verificationToken"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"domain":{"type":"string","description":"Custom domain name"},"verificationToken":{"type":"string","description":"Verification tokens"},"dkimTokens":{"type":"array","description":"Unique token DKIM tokens","items":{"type":"string","description":"Unique token DKIM tokens"}},"duplicateRecordsMessage":{"type":"string","description":"If the domain is duplicate records.","nullable":true},"hasDuplicateRecords":{"type":"boolean","description":"Whether the domain has duplicated required records. If true then see the domain in the dashboard app."},"missingRecordsMessage":{"type":"string","description":"If the domain is missing records then show which pairs are missing.","nullable":true},"hasMissingRecords":{"type":"boolean","description":"Whether the domain has missing required records. If true then see the domain in the dashboard app."},"isVerified":{"type":"boolean","description":"Whether domain has been verified or not. If the domain is not verified after 72 hours there is most likely an issue with the domains DNS records."},"domainNameRecords":{"type":"array","description":"List of DNS domain name records (C, MX, TXT) etc that you must add to the DNS server associated with your domain provider.","items":{"$ref":"#/components/schemas/DomainNameRecord"}},"catchAllInboxId":{"type":"string","description":"The optional catch all inbox that will receive emails sent to the domain that cannot be matched.","format":"uuid","nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"domainType":{"type":"string","description":"Type of domain. Dictates type of inbox that can be created with domain. HTTP means inboxes are processed using SES while SMTP inboxes use a custom SMTP mail server. SMTP does not support sending so use HTTP for sending emails.","enum":["HTTP_INBOX","SMTP_DOMAIN"]}},"description":"Domain plus verification records and status"},"DomainNameRecord":{"required":["label","name","recordEntries","recordType","required","ttl"],"type":"object","properties":{"label":{"type":"string","description":"Domain Name Server Record Label","enum":["VERIFICATION","MX","SPF","DKIM","DMARC"]},"required":{"type":"boolean"},"recordType":{"type":"string","description":"Domain Name Server Record Types","enum":["A","NS","MD","MF","CNAME","SOA","MB","MG","MR","NULL","WKS","PTR","HINFO","MINFO","MX","TXT","RP","AFSDB","X25","ISDN","RT","NSAP","NSAP_PTR","SIG","KEY","PX","GPOS","AAAA","LOC","NXT","EID","NIMLOC","SRV","ATMA","NAPTR","KX","CERT","A6","DNAME","SINK","OPT","APL","DS","SSHFP","IPSECKEY","RRSIG","NSEC","DNSKEY","DHCID","NSEC3","NSEC3PARAM","TLSA","SMIMEA","HIP","NINFO","RKEY","TALINK","CDS","CDNSKEY","OPENPGPKEY","CSYNC","ZONEMD","SVCB","HTTPS","SPF","UINFO","UID","GID","UNSPEC","NID","L32","L64","LP","EUI48","EUI64","TKEY","TSIG","IXFR","AXFR","MAILB","MAILA","ANY","URI","CAA","AVC","DOA","AMTRELAY","TA","DLV"]},"name":{"type":"string"},"recordEntries":{"type":"array","items":{"type":"string"}},"ttl":{"type":"integer","format":"int64"},"alternativeRecordEntries":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}}},"description":"DNS Record required for verification of a domain. Record vary depending on domain type."},"UpdateDomainMonitorOptions":{"type":"object","properties":{"name":{"type":"string","description":"Optional display name","nullable":true},"intervalSeconds":{"maximum":604800,"minimum":60,"type":"integer","description":"Interval in seconds","format":"int64","nullable":true},"enabled":{"type":"boolean","description":"Enable/disable scheduled monitor runs (legacy alias for schedulingEnabled)","nullable":true},"schedulingEnabled":{"type":"boolean","description":"Enable/disable scheduled monitor runs. Direct run-now remains available.","nullable":true}},"description":"Update options for a domain monitor"},"DomainMonitorDto":{"required":["createdAt","domain","enabled","id","schedulingEnabled","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"domain":{"type":"string"},"name":{"type":"string"},"intervalSeconds":{"type":"integer","format":"int64"},"enabled":{"type":"boolean"},"schedulingEnabled":{"type":"boolean"},"lastStatus":{"type":"string","enum":["HEALTHY","DEGRADED","CRITICAL","FAILED"]},"healthScore":{"type":"integer","format":"int32"},"lastRunAt":{"type":"string","format":"date-time"},"nextRunAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"CreateConnectorOptions":{"type":"object","properties":{"name":{"type":"string","description":"Name of connector","nullable":true},"emailAddress":{"type":"string","description":"Email address of external inbox","nullable":true},"enabled":{"type":"boolean","description":"Is connector enabled","nullable":true}},"description":"Options for creating an inbox connection with an external mail provider"},"ConnectorDto":{"required":["createdAt","enabled","id","inboxId","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"enabled":{"type":"boolean"},"emailAddress":{"type":"string","nullable":true},"userId":{"type":"string","format":"uuid"},"inboxId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}}},"UpdateCampaignProbeOptions":{"type":"object","properties":{"name":{"maxLength":200,"minLength":1,"type":"string","description":"Optional display name","nullable":true},"enabled":{"type":"boolean","description":"Enable or disable SES monitor ingestion for this probe","nullable":true},"intervalSeconds":{"maximum":604800,"minimum":60,"type":"integer","description":"Scheduled run interval in seconds","format":"int64","nullable":true},"schedulingEnabled":{"type":"boolean","description":"Enable or disable scheduled campaign probe runs. Direct run-now remains available.","nullable":true}},"description":"Update options for a campaign probe"},"CampaignProbeDto":{"required":["createdAt","emailAddress","enabled","id","localPart","schedulingEnabled","totalIngestCount","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"name":{"type":"string"},"localPart":{"type":"string"},"emailAddress":{"type":"string"},"enabled":{"type":"boolean"},"intervalSeconds":{"type":"integer","format":"int64"},"schedulingEnabled":{"type":"boolean"},"nextRunAt":{"type":"string","format":"date-time"},"lastRunStatus":{"type":"string","enum":["HEALTHY","WARNING","FAILED"]},"lastHealthScore":{"type":"integer","format":"int32"},"lastIngestAt":{"type":"string","format":"date-time"},"totalIngestCount":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"UpdateAliasOptions":{"type":"object","properties":{"name":{"type":"string","description":"Optional name for alias","nullable":true}},"description":"Update an email alias"},"AliasDto":{"required":["emailAddress","id","inboxId","isVerified","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"emailAddress":{"type":"string","description":"The alias's email address for receiving email"},"maskedEmailAddress":{"type":"string","description":"The underlying email address that is hidden and will received forwarded email","nullable":true},"userId":{"type":"string","format":"uuid"},"inboxId":{"type":"string","description":"Inbox that is associated with the alias","format":"uuid"},"name":{"type":"string","nullable":true},"useThreads":{"type":"boolean","description":"If alias will generate response threads or not when email are received by it","nullable":true},"isVerified":{"type":"boolean","description":"Has the alias been verified. You must verify an alias if the masked email address has not yet been verified by your account"},"domainId":{"type":"string","description":"Domain ID associated with the alias","format":"uuid","nullable":true},"createdAt":{"type":"string","format":"date-time","nullable":true},"updatedAt":{"type":"string","format":"date-time","nullable":true}},"description":"Email alias representation"},"ReplyToAliasEmailOptions":{"required":["body","isHTML"],"type":"object","properties":{"body":{"type":"string","description":"Body of the reply email you want to send"},"isHTML":{"type":"boolean","description":"Is the reply HTML"},"charset":{"type":"string","description":"The charset that your message should be sent with. Optional. Default is UTF-8","nullable":true},"attachments":{"type":"array","description":"List of uploaded attachments to send with the reply. Optional.","nullable":true,"items":{"type":"string","description":"List of uploaded attachments to send with the reply. Optional.","nullable":true}},"templateVariables":{"type":"object","additionalProperties":{"type":"object","description":"Template variables if using a template","nullable":true},"description":"Template variables if using a template","nullable":true},"template":{"type":"string","description":"Template ID to use instead of body. Will use template variable map to fill defined variable slots.","format":"uuid","nullable":true},"sendStrategy":{"type":"string","description":"How an email should be sent based on its recipients","nullable":true,"enum":["SINGLE_MESSAGE"]},"customHeaders":{"type":"object","additionalProperties":{"type":"string","description":"Optional custom headers","nullable":true},"description":"Optional custom headers","nullable":true},"useInboxName":{"type":"boolean","description":"Optionally use inbox name as display name for sender email address","nullable":true},"html":{"type":"boolean","writeOnly":true}},"description":"Options for replying to an alias email using the alias inbox"},"BasicAuthOptions":{"required":["password","username"],"type":"object","properties":{"username":{"type":"string"},"password":{"type":"string"}},"description":"Basic Authentication options for webhooks. Will be used is present when calling webhook endpoints.","nullable":true},"CreateWebhookOptions":{"required":["url"],"type":"object","properties":{"url":{"type":"string","description":"Public URL on your server that MailSlurp can post WebhookNotification payload to when an email is received or an event is trigger. The payload of the submitted JSON is dependent on the webhook event type. See docs.mailslurp.com/webhooks for event payload documentation."},"basicAuth":{"$ref":"#/components/schemas/BasicAuthOptions"},"name":{"type":"string","description":"Optional name for the webhook","nullable":true},"eventName":{"type":"string","description":"Optional webhook event name. Default is `EMAIL_RECEIVED` and is triggered when an email is received by the inbox associated with the webhook. Payload differ according to the webhook event name.","nullable":true,"enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]},"includeHeaders":{"$ref":"#/components/schemas/WebhookHeaders"},"requestBodyTemplate":{"type":"string","description":"Template for the JSON body of the webhook request that will be sent to your server. Use Moustache style `{{variableName}}` templating to use parts of the standard webhook payload for the given event.","nullable":true},"aiTransformId":{"type":"string","description":"AI Transform ID to apply to the webhook event and send a payload matching transform output schema","format":"uuid","nullable":true},"useStaticIpRange":{"type":"boolean","description":"Use static IP range when calling webhook endpoint","nullable":true,"default":false},"ignoreInsecureSslCertificates":{"type":"boolean","description":"Ignore insecure SSL certificates when sending request. Useful for self-signed certs.","nullable":true},"tags":{"type":"array","description":"Optional list of tags","nullable":true,"items":{"type":"string","description":"Optional list of tags","nullable":true}}},"description":"Options for creating a webhook. Webhooks can be attached to inboxes and MailSlurp will POST a webhook payload to the URL specified whenever the webhook's event is triggered. Webhooks are great for processing many inbound emails and responding to other events at scale. Customize the payload sent to your endpoint by setting the `requestBodyTemplate` property to a string with moustache style variables. Property names from the standard payload model for the given event are available as variables."},"WebhookTestRequest":{"required":["headers","method","url"],"type":"object","properties":{"url":{"type":"string"},"method":{"type":"string","enum":["POST","DELETE","GET","PUT","PATCH","HEAD","OPTIONS","TRACE"]},"headers":{"type":"object","additionalProperties":{"type":"string"}},"payload":{"type":"string","nullable":true}},"description":"Result of webhook test request"},"WebhookTestResponse":{"type":"object","properties":{"statusCode":{"type":"integer","format":"int32","nullable":true},"message":{"type":"string","nullable":true}},"description":"Response from webhook test request"},"WebhookTestResult":{"required":["request","response"],"type":"object","properties":{"message":{"type":"string","nullable":true},"response":{"$ref":"#/components/schemas/WebhookTestResponse"},"request":{"$ref":"#/components/schemas/WebhookTestRequest"}},"description":"Results of testing a webhook"},"JSONSchemaDto":{"required":["value"],"type":"object","properties":{"value":{"type":"string"}},"description":"JSONSchema for payload"},"AbstractWebhookPayload":{"required":["eventName","messageId","webhookId"],"type":"object","properties":{"eventName":{"type":"string","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]},"webhookName":{"type":"string"},"messageId":{"type":"string"},"webhookId":{"type":"string","format":"uuid"}},"description":"Abstract webhook payload. Use the correct payload type for your webhook event type in order to access all the specific properties for that event. See the `NEW_EMAIL`,`NEW_CONTACT`, `NEW_ATTACHMENT` and `EMAIL_OPENED` payloads for the properties available for those events."},"VerifyWebhookSignatureOptions":{"required":["messageId","signature"],"type":"object","properties":{"messageId":{"type":"string"},"signature":{"type":"string"}}},"VerifyWebhookSignatureResults":{"required":["isValid"],"type":"object","properties":{"isValid":{"type":"boolean"}}},"WebhookRedriveResult":{"required":["success","webhookResultId"],"type":"object","properties":{"webhookResultId":{"type":"string","format":"uuid"},"success":{"type":"boolean"},"message":{"type":"string","nullable":true}},"description":"Result of retrying webhook"},"WebhookRedriveAllResult":{"required":["success"],"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string","nullable":true}},"description":"Result of retrying all failed webhook"},"MatchOption":{"required":["field","should","value"],"type":"object","properties":{"field":{"title":"MatchField","type":"string","description":"Fields of an email object that can be used to filter results","enum":["SUBJECT","TO","BCC","CC","FROM","HEADERS"]},"should":{"title":"MatchShould","type":"string","description":"How the value of the email field specified should be compared to the value given in the match options.","enum":["MATCH","CONTAIN","EQUAL"]},"value":{"minLength":1,"type":"string","description":"The value you wish to compare with the value of the field specified using the `should` value passed. For example `BODY` should `CONTAIN` a value passed."}},"description":"Options for matching emails in an inbox. Each match option object contains a `field`, `should` and `value` property. Together they form logical conditions such as `SUBJECT` should `CONTAIN` value.","nullable":true},"WaitForConditions":{"required":["inboxId","timeout"],"type":"object","properties":{"inboxId":{"type":"string","description":"ID of inbox to search within and apply conditions to. Essentially filtering the emails found to give a count.","format":"uuid"},"count":{"type":"integer","description":"Number of results that should match conditions. Either exactly or at least this amount based on the `countType`. If count condition is not met and the timeout has not been reached the `waitFor` method will retry the operation.","format":"int32","nullable":true},"delayTimeout":{"type":"integer","description":"Max time in milliseconds to wait between retries if a `timeout` is specified.","format":"int64","nullable":true},"timeout":{"type":"integer","description":"Max time in milliseconds to retry the `waitFor` operation until conditions are met.","format":"int64"},"unreadOnly":{"type":"boolean","description":"Apply conditions only to **unread** emails. All emails begin with `read=false`. An email is marked `read=true` when an `EmailDto` representation of it has been returned to the user at least once. For example you have called `getEmail` or `waitForLatestEmail` etc., or you have viewed the email in the dashboard.","nullable":true},"countType":{"title":"CountType","type":"string","description":"How result size should be compared with the expected size. Exactly or at-least matching result?","nullable":true,"enum":["EXACTLY","ATLEAST"]},"matches":{"type":"array","description":"Conditions that should be matched for an email to qualify for results. Each condition will be applied in order to each email within an inbox to filter a result list of matching emails you are waiting for.","nullable":true,"items":{"$ref":"#/components/schemas/MatchOption"}},"sortDirection":{"type":"string","description":"Direction to sort matching emails by created time","nullable":true,"enum":["ASC","DESC"]},"since":{"type":"string","description":"ISO Date Time earliest time of email to consider. Filter for matching emails that were received after this date","format":"date-time","nullable":true},"before":{"type":"string","description":"ISO Date Time latest time of email to consider. Filter for matching emails that were received before this date","format":"date-time","nullable":true}},"description":"Conditions to apply to emails that you are waiting for"},"EmailPreview":{"required":["createdAt","id","read","to"],"type":"object","properties":{"id":{"type":"string","description":"ID of the email entity","format":"uuid"},"inboxId":{"type":"string","description":"ID of the inbox that received the email","format":"uuid","nullable":true},"domainId":{"type":"string","description":"ID of the domain that received the email","format":"uuid","nullable":true},"subject":{"type":"string","description":"The subject line of the email message as specified by SMTP subject header","nullable":true},"to":{"type":"array","description":"List of `To` recipient email addresses that the email was addressed to. See recipients object for names.","nullable":true,"items":{"type":"string","description":"List of `To` recipient email addresses that the email was addressed to. See recipients object for names.","nullable":true}},"from":{"type":"string","description":"Who the email was sent from. An email address - see fromName for the sender name.","nullable":true},"bcc":{"type":"array","description":"List of `BCC` recipients email addresses that the email was addressed to. See recipients object for names.","nullable":true,"items":{"type":"string","description":"List of `BCC` recipients email addresses that the email was addressed to. See recipients object for names.","nullable":true}},"cc":{"type":"array","description":"List of `CC` recipients email addresses that the email was addressed to. See recipients object for names.","nullable":true,"items":{"type":"string","description":"List of `CC` recipients email addresses that the email was addressed to. See recipients object for names.","nullable":true}},"createdAt":{"type":"string","description":"When was the email received by MailSlurp","format":"date-time"},"read":{"type":"boolean","description":"Read flag. Has the email ever been viewed in the dashboard or fetched via the API with a hydrated body? If so the email is marked as read. Paginated results do not affect read status. Read status is different to email opened event as it depends on your own account accessing the email. Email opened is determined by tracking pixels sent to other uses if enable during sending. You can listened for both email read and email opened events using webhooks."},"attachments":{"type":"array","description":"List of IDs of attachments found in the email. Use these IDs with the Inbox and Email Controllers to download attachments and attachment meta data such as filesize, name, extension.","nullable":true,"items":{"type":"string","description":"List of IDs of attachments found in the email. Use these IDs with the Inbox and Email Controllers to download attachments and attachment meta data such as filesize, name, extension.","nullable":true}},"threadId":{"type":"string","description":"MailSlurp thread ID for email chain that enables lookup for In-Reply-To and References fields.","format":"uuid","nullable":true},"messageId":{"type":"string","description":"RFC 5322 Message-ID header value without angle brackets.","nullable":true},"inReplyTo":{"type":"string","description":"Parsed value of In-Reply-To header. A Message-ID in a thread.","nullable":true},"sender":{"$ref":"#/components/schemas/Sender"},"recipients":{"$ref":"#/components/schemas/EmailRecipients"},"favourite":{"type":"boolean","nullable":true},"bodyPartContentTypes":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"plusAddress":{"type":"string","format":"uuid","nullable":true},"sizeBytes":{"type":"integer","format":"int64","nullable":true}},"description":"Preview of an email message. For full message (including body and attachments) call the `getEmail` or other email endpoints with the provided email ID."},"SmsMatchOption":{"required":["field","should","value"],"type":"object","properties":{"field":{"title":"SmsMatchField","type":"string","description":"Fields of an SMS object that can be used to filter results","enum":["BODY","FROM"]},"should":{"title":"MatchShould","type":"string","description":"How the value of the email field specified should be compared to the value given in the match options.","enum":["MATCH","CONTAIN","EQUAL"]},"value":{"minLength":1,"type":"string","description":"The value you wish to compare with the value of the field specified using the `should` value passed. For example `BODY` should `CONTAIN` a value passed."}},"description":"Options for matching SMS messages in a phone number. Each match option object contains a `field`, `should` and `value` property. Together they form logical conditions such as `BODY` should `CONTAIN` value.","nullable":true},"WaitForSmsConditions":{"required":["count","phoneNumberId","timeout"],"type":"object","properties":{"phoneNumberId":{"type":"string","description":"ID of phone number to search within and apply conditions to. Essentially filtering the SMS found to give a count.","format":"uuid"},"limit":{"type":"integer","description":"Limit results","format":"int32","nullable":true},"count":{"type":"integer","description":"Number of results that should match conditions. Either exactly or at least this amount based on the `countType`. If count condition is not met and the timeout has not been reached the `waitFor` method will retry the operation.","format":"int64"},"delayTimeout":{"type":"integer","description":"Max time in milliseconds to wait between retries if a `timeout` is specified.","format":"int64","nullable":true},"timeout":{"type":"integer","description":"Max time in milliseconds to retry the `waitFor` operation until conditions are met.","format":"int64"},"unreadOnly":{"type":"boolean","description":"Apply conditions only to **unread** SMS. All SMS messages begin with `read=false`. An SMS is marked `read=true` when an `SMS` has been returned to the user at least once. For example you have called `getSms`, or you have viewed the SMS in the dashboard.","nullable":true},"countType":{"title":"CountType","type":"string","description":"How result size should be compared with the expected size. Exactly or at-least matching result?","nullable":true,"enum":["EXACTLY","ATLEAST"]},"matches":{"type":"array","description":"Conditions that should be matched for an SMS to qualify for results. Each condition will be applied in order to each SMS within a phone number to filter a result list of matching SMSs you are waiting for.","nullable":true,"items":{"$ref":"#/components/schemas/SmsMatchOption"}},"sortDirection":{"type":"string","description":"Direction to sort matching SMSs by created time","nullable":true,"enum":["ASC","DESC"]},"since":{"type":"string","description":"ISO Date Time earliest time of SMS to consider. Filter for matching SMSs that were received after this date","format":"date-time","nullable":true},"before":{"type":"string","description":"ISO Date Time latest time of SMS to consider. Filter for matching SMSs that were received before this date","format":"date-time","nullable":true}},"description":"Conditions to apply to emails that you are waiting for"},"SmsPreview":{"required":["body","createdAt","fromNumber","id","phoneNumber","read","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"body":{"type":"string","description":"TXT message content"},"phoneNumber":{"type":"string","description":"ID of the phone number that received this SMS","format":"uuid"},"fromNumber":{"type":"string","description":"Sender number"},"read":{"type":"boolean","description":"Is the message read or unread"},"createdAt":{"type":"string","format":"date-time"}}},"ConditionOption":{"required":["condition","value"],"type":"object","properties":{"condition":{"title":"ConditionField","type":"string","description":"Condition of an email object that can be used to filter results","enum":["HAS_ATTACHMENTS"]},"value":{"title":"ConditionValue","type":"string","description":"Expected condition value","enum":["TRUE","FALSE"]}},"description":"Options for matching emails in an inbox based on a condition such as `HAS_ATTACHMENTS=TRUE`","nullable":true},"MatchOptions":{"type":"object","properties":{"matches":{"type":"array","description":"Zero or more match options such as `{ field: 'SUBJECT', should: 'CONTAIN', value: 'Welcome' }`. Options are additive so if one does not match the email is excluded from results","nullable":true,"items":{"$ref":"#/components/schemas/MatchOption"}},"conditions":{"type":"array","description":"Zero or more conditions such as `{ condition: 'HAS_ATTACHMENTS', value: 'TRUE' }`. Note the values are the strings `TRUE|FALSE` not booleans.","nullable":true,"items":{"$ref":"#/components/schemas/ConditionOption"}}},"description":"Optional filter for matching emails based on fields. For instance filter results to only include emails whose `SUBJECT` value does `CONTAIN` given match value. An example payload would be `{ matches: [{ field: 'SUBJECT', should: 'CONTAIN', value: 'Welcome' }] }`. You can also pass conditions such as `HAS_ATTACHMENT`. If you wish to extract regex matches inside the email content see the `getEmailContentMatch` method in the EmailController."},"Email":{"required":["createdAt","id","inboxId","read","teamAccess","to","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","description":"ID of the email entity","format":"uuid"},"userId":{"type":"string","description":"ID of user that email belongs to","format":"uuid"},"inboxId":{"type":"string","description":"ID of the inbox that received the email","format":"uuid"},"domainId":{"type":"string","description":"ID of the domain that received the email","format":"uuid","nullable":true},"to":{"type":"array","description":"List of `To` recipient email addresses that the email was addressed to. See recipients object for names.","items":{"type":"string","description":"List of `To` recipient email addresses that the email was addressed to. See recipients object for names."}},"from":{"type":"string","description":"Who the email was sent from. An email address - see fromName for the sender name.","nullable":true},"sender":{"$ref":"#/components/schemas/Sender"},"recipients":{"$ref":"#/components/schemas/EmailRecipients"},"replyTo":{"type":"string","description":"The `replyTo` field on the received email message","nullable":true},"cc":{"type":"array","description":"List of `CC` recipients email addresses that the email was addressed to. See recipients object for names.","nullable":true,"items":{"type":"string","description":"List of `CC` recipients email addresses that the email was addressed to. See recipients object for names.","nullable":true}},"bcc":{"type":"array","description":"List of `BCC` recipients email addresses that the email was addressed to. See recipients object for names.","nullable":true,"items":{"type":"string","description":"List of `BCC` recipients email addresses that the email was addressed to. See recipients object for names.","nullable":true}},"headers":{"type":"object","additionalProperties":{"type":"string","description":"Collection of SMTP headers attached to email","nullable":true,"deprecated":true},"description":"Collection of SMTP headers attached to email","nullable":true,"deprecated":true},"headersMap":{"type":"object","additionalProperties":{"type":"array","description":"Multi-value map of SMTP headers attached to email","nullable":true,"items":{"type":"string","description":"Multi-value map of SMTP headers attached to email","nullable":true}},"description":"Multi-value map of SMTP headers attached to email","nullable":true},"attachments":{"type":"array","description":"List of IDs of attachments found in the email. Use these IDs with the Inbox and Email Controllers to download attachments and attachment meta data such as filesize, name, extension.","nullable":true,"items":{"type":"string","description":"List of IDs of attachments found in the email. Use these IDs with the Inbox and Email Controllers to download attachments and attachment meta data such as filesize, name, extension.","nullable":true}},"subject":{"type":"string","description":"The subject line of the email message as specified by SMTP subject header","nullable":true},"body":{"type":"string","description":"The body of the email message as text parsed from the SMTP message body (does not include attachments). Fetch the raw content to access the SMTP message and use the attachments property to access attachments. The body is stored separately to the email entity so the body is not returned in paginated results only in full single email or wait requests.","nullable":true},"bodyExcerpt":{"type":"string","description":"An excerpt of the body of the email message for quick preview. Takes HTML content part if exists falls back to TEXT content part if not","nullable":true},"textExcerpt":{"type":"string","description":"An excerpt of the body of the email message for quick preview. Takes TEXT content part if exists","nullable":true},"bodyMD5Hash":{"type":"string","description":"A hash signature of the email message using MD5. Useful for comparing emails without fetching full body.","nullable":true},"isHTML":{"type":"boolean","description":"Is the email body content type HTML?","nullable":true},"charset":{"type":"string","description":"Detected character set of the email body such as UTF-8","nullable":true},"analysis":{"$ref":"#/components/schemas/EmailAnalysis"},"createdAt":{"type":"string","description":"When was the email received by MailSlurp","format":"date-time"},"updatedAt":{"type":"string","description":"When was the email last updated","format":"date-time"},"read":{"type":"boolean","description":"Read flag. Has the email ever been viewed in the dashboard or fetched via the API with a hydrated body? If so the email is marked as read. Paginated results do not affect read status. Read status is different to email opened event as it depends on your own account accessing the email. Email opened is determined by tracking pixels sent to other uses if enable during sending. You can listened for both email read and email opened events using webhooks."},"teamAccess":{"type":"boolean","description":"Can the email be accessed by organization team members"},"isXAmpHtml":{"type":"boolean","description":"Is the email body content type x-amp-html Amp4Email?","nullable":true},"bodyPartContentTypes":{"type":"array","description":"A list of detected multipart mime message body part content types such as text/plain and text/html. Can be used with email bodyPart endpoints to fetch individual body parts.","nullable":true,"items":{"type":"string","description":"A list of detected multipart mime message body part content types such as text/plain and text/html. Can be used with email bodyPart endpoints to fetch individual body parts.","nullable":true}},"externalId":{"type":"string","description":"UID used by external IMAP server to identify email","nullable":true},"messageId":{"type":"string","description":"RFC 5322 Message-ID header value without angle brackets.","nullable":true},"threadId":{"type":"string","description":"MailSlurp thread ID for email chain that enables lookup for In-Reply-To and References fields.","format":"uuid","nullable":true},"inReplyTo":{"type":"string","description":"Parsed value of In-Reply-To header. A Message-ID in a thread.","nullable":true},"favourite":{"type":"boolean","description":"Is email favourited","nullable":true},"sizeBytes":{"type":"integer","description":"Size of raw email message in bytes","format":"int64","nullable":true},"html":{"type":"boolean","writeOnly":true},"xampHtml":{"type":"boolean","writeOnly":true}},"description":"Email entity (also known as EmailDto). When an SMTP email message is received by MailSlurp it is parsed. The body and attachments are written to disk and the fields such as to, from, subject etc are stored in a database. The `body` contains the email content. If you want the original SMTP message see the `getRawEmail` endpoints. The attachments can be fetched using the AttachmentController"},"EmailAnalysis":{"type":"object","properties":{"spamVerdict":{"type":"string","description":"Verdict of spam ranking analysis","nullable":true},"virusVerdict":{"type":"string","description":"Verdict of virus scan analysis","nullable":true},"spfVerdict":{"type":"string","description":"Verdict of Send Policy Framework record spoofing analysis","nullable":true},"dkimVerdict":{"type":"string","description":"Verdict of DomainKeys Identified Mail analysis","nullable":true},"dmarcVerdict":{"type":"string","description":"Verdict of Domain-based Message Authentication Reporting and Conformance analysis","nullable":true}},"description":"Analysis result for email. Each verdict property is a string PASS|FAIL|GRAY or dynamic error message","nullable":true},"WaitForSingleSmsOptions":{"required":["phoneNumberId","timeout"],"type":"object","properties":{"phoneNumberId":{"type":"string","format":"uuid"},"timeout":{"type":"integer","format":"int64"},"unreadOnly":{"type":"boolean"},"before":{"type":"string","format":"date-time"},"since":{"type":"string","format":"date-time"},"sortDirection":{"type":"string","enum":["ASC","DESC"]},"delay":{"type":"integer","format":"int64"}}},"CreateInboxRetentionPolicyForAccountOptions":{"required":["retentionDays"],"type":"object","properties":{"retentionDays":{"maximum":730,"minimum":1,"type":"integer","format":"int32"}}},"InboxRetentionPolicyDto":{"required":["createdAt","id","retentionDays","updatedAt"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"inboxId":{"type":"string","format":"uuid"},"retentionDays":{"type":"integer","format":"int32"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"CreateTrackingPixelOptions":{"type":"object","properties":{"name":{"type":"string","nullable":true},"recipient":{"type":"string","nullable":true}},"description":"Options for creating a tracking pixel for email open tracking"},"TrackingPixelDto":{"required":["createdAt","html","id","seen","url"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"seen":{"type":"boolean"},"recipient":{"type":"string","nullable":true},"html":{"type":"string"},"url":{"type":"string"},"inboxId":{"type":"string","format":"uuid","nullable":true},"sentEmailId":{"type":"string","format":"uuid","nullable":true},"seenAt":{"type":"string","format":"date-time","nullable":true},"createdAt":{"type":"string","format":"date-time"}},"description":"Tracking pixel"},"TestSmtpServerOptions":{"required":["host","port","useStartTls"],"type":"object","properties":{"host":{"minLength":1,"type":"string","description":"SMTP host name or IP address","example":"smtp.example.com"},"port":{"maximum":65535,"minimum":1,"type":"integer","format":"int32"},"useStartTls":{"type":"boolean"},"username":{"type":"string","nullable":true},"password":{"type":"string","nullable":true},"from":{"type":"string","nullable":true},"to":{"type":"string","nullable":true},"captchaToken":{"type":"string","nullable":true}}},"SmtpAuthDiagnosticResult":{"required":["attempted","success"],"type":"object","properties":{"attempted":{"type":"boolean"},"success":{"type":"boolean"},"mechanism":{"type":"string","nullable":true}}},"SmtpDiagnosticStep":{"required":["message","step"],"type":"object","properties":{"step":{"type":"string"},"code":{"type":"string","nullable":true},"message":{"type":"string"}},"description":"Structured SMTP diagnostic transcript entry"},"SmtpTlsDiagnosticResult":{"required":["negotiated","supported"],"type":"object","properties":{"supported":{"type":"boolean"},"negotiated":{"type":"boolean"},"protocol":{"type":"string","nullable":true},"cipher":{"type":"string","nullable":true}}},"TestSmtpServerResults":{"required":["auth","connected","errors","tls","transcript","warnings"],"type":"object","properties":{"connected":{"type":"boolean"},"banner":{"type":"string","nullable":true},"tls":{"$ref":"#/components/schemas/SmtpTlsDiagnosticResult"},"auth":{"$ref":"#/components/schemas/SmtpAuthDiagnosticResult"},"transcript":{"type":"array","items":{"$ref":"#/components/schemas/SmtpDiagnosticStep"}},"warnings":{"type":"array","items":{"type":"string"}},"errors":{"type":"array","items":{"type":"string"}}}},"LookupTlsReportingDomainOptions":{"required":["host"],"type":"object","properties":{"host":{"type":"string"}}},"DNSLookupOptions":{"required":["hostname","omitFinalDNSDot","recordTypes"],"type":"object","properties":{"hostname":{"minLength":1,"type":"string","description":"List of record types you wish to query such as MX, DNS, TXT, NS, A etc."},"recordTypes":{"minItems":1,"type":"array","description":"List of record types you wish to query such as MX, DNS, TXT, NS, A etc.","items":{"type":"string","description":"Domain Name Server Record Types","enum":["A","NS","MD","MF","CNAME","SOA","MB","MG","MR","NULL","WKS","PTR","HINFO","MINFO","MX","TXT","RP","AFSDB","X25","ISDN","RT","NSAP","NSAP_PTR","SIG","KEY","PX","GPOS","AAAA","LOC","NXT","EID","NIMLOC","SRV","ATMA","NAPTR","KX","CERT","A6","DNAME","SINK","OPT","APL","DS","SSHFP","IPSECKEY","RRSIG","NSEC","DNSKEY","DHCID","NSEC3","NSEC3PARAM","TLSA","SMIMEA","HIP","NINFO","RKEY","TALINK","CDS","CDNSKEY","OPENPGPKEY","CSYNC","ZONEMD","SVCB","HTTPS","SPF","UINFO","UID","GID","UNSPEC","NID","L32","L64","LP","EUI48","EUI64","TKEY","TSIG","IXFR","AXFR","MAILB","MAILA","ANY","URI","CAA","AVC","DOA","AMTRELAY","TA","DLV"]}},"omitFinalDNSDot":{"type":"boolean","description":"Optionally control whether to omit the final dot in full DNS name values."}},"description":"Options for DNS query."},"DNSLookupResult":{"required":["name","recordEntries","recordType","ttl"],"type":"object","properties":{"recordType":{"type":"string","description":"Domain Name Server Record Types","enum":["A","NS","MD","MF","CNAME","SOA","MB","MG","MR","NULL","WKS","PTR","HINFO","MINFO","MX","TXT","RP","AFSDB","X25","ISDN","RT","NSAP","NSAP_PTR","SIG","KEY","PX","GPOS","AAAA","LOC","NXT","EID","NIMLOC","SRV","ATMA","NAPTR","KX","CERT","A6","DNAME","SINK","OPT","APL","DS","SSHFP","IPSECKEY","RRSIG","NSEC","DNSKEY","DHCID","NSEC3","NSEC3PARAM","TLSA","SMIMEA","HIP","NINFO","RKEY","TALINK","CDS","CDNSKEY","OPENPGPKEY","CSYNC","ZONEMD","SVCB","HTTPS","SPF","UINFO","UID","GID","UNSPEC","NID","L32","L64","LP","EUI48","EUI64","TKEY","TSIG","IXFR","AXFR","MAILB","MAILA","ANY","URI","CAA","AVC","DOA","AMTRELAY","TA","DLV"]},"ttl":{"type":"integer","format":"int64"},"recordEntries":{"type":"array","items":{"type":"string"}},"name":{"type":"string"}},"description":"DNS lookup result. Includes record type, time to live, raw response, and name value for the name server response."},"LookupTlsReportingDomainResults":{"required":["errors","query","records","valid","warnings"],"type":"object","properties":{"valid":{"type":"boolean"},"query":{"$ref":"#/components/schemas/DNSLookupOptions"},"records":{"type":"array","items":{"$ref":"#/components/schemas/DNSLookupResult"}},"errors":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}}}},"LookupSpfDomainOptions":{"required":["host"],"type":"object","properties":{"host":{"maxLength":253,"minLength":0,"type":"string","description":"Root domain to inspect for SPF","example":"example.com"}}},"LookupSpfDomainResults":{"required":["errors","host","lookupCount","mechanisms","valid","warnings"],"type":"object","properties":{"valid":{"type":"boolean"},"host":{"type":"string"},"record":{"type":"string"},"flattenedRecord":{"type":"string"},"lookupCount":{"type":"integer","format":"int32"},"mechanisms":{"type":"array","items":{"$ref":"#/components/schemas/SpfMechanismResult"}},"warnings":{"type":"array","items":{"type":"string"}},"errors":{"type":"array","items":{"type":"string"}}}},"SpfMechanismResult":{"required":["kind"],"type":"object","properties":{"kind":{"type":"string"},"value":{"type":"string"},"qualifier":{"type":"string"}}},"LookupPtrOptions":{"required":["ip"],"type":"object","properties":{"ip":{"minLength":1,"type":"string","description":"IPv4 or IPv6 address to inspect","example":"192.0.2.44"},"captchaToken":{"type":"string","nullable":true}}},"LookupPtrResults":{"required":["errors","forwardARecords","forwardAaaaRecords","forwardConfirmed","ip","ptrHostnames","warnings"],"type":"object","properties":{"ip":{"type":"string"},"ptrHostnames":{"type":"array","items":{"type":"string"}},"forwardConfirmed":{"type":"boolean"},"forwardARecords":{"type":"array","items":{"type":"string"}},"forwardAaaaRecords":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"errors":{"type":"array","items":{"type":"string"}}}},"LookupMxRecordsOptions":{"required":["host"],"type":"object","properties":{"host":{"type":"string"}}},"LookupMxRecordsResults":{"required":["errors","records","warnings"],"type":"object","properties":{"records":{"type":"array","items":{"$ref":"#/components/schemas/DNSLookupResult"}},"errors":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}}}},"LookupMtaStsDomainOptions":{"required":["host"],"type":"object","properties":{"host":{"type":"string"}}},"LookupMtaStsDomainResults":{"required":["errors","query","records","valid","warnings","wellKnownPresent","wellKnownQuery","wellKnownValue"],"type":"object","properties":{"valid":{"type":"boolean"},"query":{"$ref":"#/components/schemas/DNSLookupOptions"},"records":{"type":"array","items":{"$ref":"#/components/schemas/DNSLookupResult"}},"wellKnownQuery":{"type":"string"},"wellKnownPresent":{"type":"boolean"},"wellKnownValue":{"type":"string"},"errors":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}}}},"LookupDmarcDomainOptions":{"required":["host"],"type":"object","properties":{"host":{"type":"string"}}},"LookupDmarcDomainResults":{"required":["errors","query","records","valid","warnings"],"type":"object","properties":{"valid":{"type":"boolean"},"query":{"$ref":"#/components/schemas/DNSLookupOptions"},"records":{"type":"array","items":{"$ref":"#/components/schemas/DNSLookupResult"}},"errors":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}}}},"LookupDkimDomainOptions":{"required":["host"],"type":"object","properties":{"host":{"maxLength":253,"minLength":0,"type":"string","description":"Domain to inspect for DKIM","example":"example.com"},"selector":{"maxLength":63,"minLength":0,"type":"string","description":"Optional selector. If omitted, common selectors are probed.","nullable":true,"example":"selector1"}}},"LookupDkimDomainResults":{"required":["checkedNames","errors","valid","warnings"],"type":"object","properties":{"valid":{"type":"boolean"},"queriedName":{"type":"string"},"selector":{"type":"string"},"record":{"type":"string"},"algorithm":{"type":"string"},"keyLength":{"type":"integer","format":"int32"},"checkedNames":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"errors":{"type":"array","items":{"type":"string"}}}},"LookupBimiDomainOptions":{"required":["host"],"type":"object","properties":{"host":{"type":"string"}}},"LookupBimiDomainResults":{"required":["errors","query","records","valid","warnings"],"type":"object","properties":{"valid":{"type":"boolean"},"query":{"$ref":"#/components/schemas/DNSLookupOptions"},"records":{"type":"array","items":{"$ref":"#/components/schemas/DNSLookupResult"}},"errors":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}}}},"GenerateTlsReportingRecordOptions":{"required":["host","reportingAddresses","ttl","version"],"type":"object","properties":{"reportingAddresses":{"type":"array","items":{"type":"string"}},"reportingUrl":{"type":"string"},"host":{"type":"string"},"version":{"type":"string","enum":["TLSRPTv1"]},"ttl":{"type":"integer","format":"int32"}}},"GenerateTlsReportingRecordResults":{"required":["name","ttl","type","value"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","description":"Domain Name Server Record Types","enum":["A","NS","MD","MF","CNAME","SOA","MB","MG","MR","NULL","WKS","PTR","HINFO","MINFO","MX","TXT","RP","AFSDB","X25","ISDN","RT","NSAP","NSAP_PTR","SIG","KEY","PX","GPOS","AAAA","LOC","NXT","EID","NIMLOC","SRV","ATMA","NAPTR","KX","CERT","A6","DNAME","SINK","OPT","APL","DS","SSHFP","IPSECKEY","RRSIG","NSEC","DNSKEY","DHCID","NSEC3","NSEC3PARAM","TLSA","SMIMEA","HIP","NINFO","RKEY","TALINK","CDS","CDNSKEY","OPENPGPKEY","CSYNC","ZONEMD","SVCB","HTTPS","SPF","UINFO","UID","GID","UNSPEC","NID","L32","L64","LP","EUI48","EUI64","TKEY","TSIG","IXFR","AXFR","MAILB","MAILA","ANY","URI","CAA","AVC","DOA","AMTRELAY","TA","DLV"]},"ttl":{"type":"integer","format":"int32"},"value":{"type":"string"}}},"GenerateSpfRecordOptions":{"required":["a","allPolicy","domain","mx"],"type":"object","properties":{"domain":{"maxLength":253,"minLength":0,"type":"string","description":"Domain the SPF record applies to","example":"example.com"},"includeDomains":{"type":"array","description":"Optional include domains","nullable":true,"items":{"type":"string","description":"Optional include domains","nullable":true}},"ip4":{"type":"array","description":"Optional IPv4 CIDRs or hosts","nullable":true,"items":{"type":"string","description":"Optional IPv4 CIDRs or hosts","nullable":true}},"ip6":{"type":"array","description":"Optional IPv6 CIDRs or hosts","nullable":true,"items":{"type":"string","description":"Optional IPv6 CIDRs or hosts","nullable":true}},"mx":{"type":"boolean","description":"Whether to include the MX mechanism"},"a":{"type":"boolean","description":"Whether to include the A mechanism"},"allPolicy":{"type":"string","enum":["FAIL","SOFTFAIL","NEUTRAL"]}}},"GenerateSpfRecordResults":{"required":["estimatedLookupCount","name","ttl","type","value","warnings"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","description":"Domain Name Server Record Types","enum":["A","NS","MD","MF","CNAME","SOA","MB","MG","MR","NULL","WKS","PTR","HINFO","MINFO","MX","TXT","RP","AFSDB","X25","ISDN","RT","NSAP","NSAP_PTR","SIG","KEY","PX","GPOS","AAAA","LOC","NXT","EID","NIMLOC","SRV","ATMA","NAPTR","KX","CERT","A6","DNAME","SINK","OPT","APL","DS","SSHFP","IPSECKEY","RRSIG","NSEC","DNSKEY","DHCID","NSEC3","NSEC3PARAM","TLSA","SMIMEA","HIP","NINFO","RKEY","TALINK","CDS","CDNSKEY","OPENPGPKEY","CSYNC","ZONEMD","SVCB","HTTPS","SPF","UINFO","UID","GID","UNSPEC","NID","L32","L64","LP","EUI48","EUI64","TKEY","TSIG","IXFR","AXFR","MAILB","MAILA","ANY","URI","CAA","AVC","DOA","AMTRELAY","TA","DLV"]},"ttl":{"type":"integer","format":"int32"},"value":{"type":"string"},"estimatedLookupCount":{"type":"integer","format":"int32"},"warnings":{"type":"array","items":{"type":"string"}}}},"GenerateMtaStsRecordOptions":{"required":["host","maxAgeSeconds","mode","mxRecords","ttl","version"],"type":"object","properties":{"host":{"type":"string"},"version":{"type":"string","enum":["STSv1"]},"mode":{"type":"string","enum":["TESTING","ENFORCE","NONE"]},"ttl":{"type":"integer","format":"int32"},"maxAgeSeconds":{"type":"integer","format":"int32"},"mxRecords":{"type":"array","items":{"type":"string"}}}},"GenerateMtaStsRecordResults":{"required":["name","ttl","type","value","wellKnownUrl","wellKnownValue"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","description":"Domain Name Server Record Types","enum":["A","NS","MD","MF","CNAME","SOA","MB","MG","MR","NULL","WKS","PTR","HINFO","MINFO","MX","TXT","RP","AFSDB","X25","ISDN","RT","NSAP","NSAP_PTR","SIG","KEY","PX","GPOS","AAAA","LOC","NXT","EID","NIMLOC","SRV","ATMA","NAPTR","KX","CERT","A6","DNAME","SINK","OPT","APL","DS","SSHFP","IPSECKEY","RRSIG","NSEC","DNSKEY","DHCID","NSEC3","NSEC3PARAM","TLSA","SMIMEA","HIP","NINFO","RKEY","TALINK","CDS","CDNSKEY","OPENPGPKEY","CSYNC","ZONEMD","SVCB","HTTPS","SPF","UINFO","UID","GID","UNSPEC","NID","L32","L64","LP","EUI48","EUI64","TKEY","TSIG","IXFR","AXFR","MAILB","MAILA","ANY","URI","CAA","AVC","DOA","AMTRELAY","TA","DLV"]},"ttl":{"type":"integer","format":"int32"},"value":{"type":"string"},"wellKnownValue":{"type":"string"},"wellKnownUrl":{"type":"string"}}},"GenerateDmarcRecordOptions":{"required":["domain","policy","version"],"type":"object","properties":{"domain":{"type":"string"},"version":{"type":"string","enum":["DMARC1"]},"policy":{"type":"string","enum":["NONE","QUARANTINE","REJECT"]},"subdomainPolicy":{"type":"string","enum":["NONE","QUARANTINE","REJECT"]},"reportEmailAddress":{"type":"array","items":{"type":"string"}},"forensicEmailAddress":{"type":"array","items":{"type":"string"}},"percentage":{"maximum":100,"minimum":1,"type":"integer","format":"int32"},"reportFormat":{"type":"string","enum":["AFRF"]},"secondsBetweenReports":{"type":"integer","format":"int32"},"adkim":{"type":"string","enum":["STRICT","RELAXED"]},"aspf":{"type":"string","enum":["STRICT","RELAXED"]},"fo":{"type":"string","enum":["FO_0","FO_1","FO_D","FO_S"]}}},"GenerateDmarcRecordResults":{"required":["name","ttl","type","value"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","description":"Domain Name Server Record Types","enum":["A","NS","MD","MF","CNAME","SOA","MB","MG","MR","NULL","WKS","PTR","HINFO","MINFO","MX","TXT","RP","AFSDB","X25","ISDN","RT","NSAP","NSAP_PTR","SIG","KEY","PX","GPOS","AAAA","LOC","NXT","EID","NIMLOC","SRV","ATMA","NAPTR","KX","CERT","A6","DNAME","SINK","OPT","APL","DS","SSHFP","IPSECKEY","RRSIG","NSEC","DNSKEY","DHCID","NSEC3","NSEC3PARAM","TLSA","SMIMEA","HIP","NINFO","RKEY","TALINK","CDS","CDNSKEY","OPENPGPKEY","CSYNC","ZONEMD","SVCB","HTTPS","SPF","UINFO","UID","GID","UNSPEC","NID","L32","L64","LP","EUI48","EUI64","TKEY","TSIG","IXFR","AXFR","MAILB","MAILA","ANY","URI","CAA","AVC","DOA","AMTRELAY","TA","DLV"]},"ttl":{"type":"integer","format":"int32"},"value":{"type":"string"}}},"GenerateBimiRecordOptions":{"required":["domain","logoUrl","version"],"type":"object","properties":{"domain":{"type":"string"},"version":{"type":"string","enum":["BIMI1"]},"logoUrl":{"type":"string"},"vmcUrl":{"type":"string"}}},"GenerateBimiRecordResults":{"required":["name","ttl","type","value"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","description":"Domain Name Server Record Types","enum":["A","NS","MD","MF","CNAME","SOA","MB","MG","MR","NULL","WKS","PTR","HINFO","MINFO","MX","TXT","RP","AFSDB","X25","ISDN","RT","NSAP","NSAP_PTR","SIG","KEY","PX","GPOS","AAAA","LOC","NXT","EID","NIMLOC","SRV","ATMA","NAPTR","KX","CERT","A6","DNAME","SINK","OPT","APL","DS","SSHFP","IPSECKEY","RRSIG","NSEC","DNSKEY","DHCID","NSEC3","NSEC3PARAM","TLSA","SMIMEA","HIP","NINFO","RKEY","TALINK","CDS","CDNSKEY","OPENPGPKEY","CSYNC","ZONEMD","SVCB","HTTPS","SPF","UINFO","UID","GID","UNSPEC","NID","L32","L64","LP","EUI48","EUI64","TKEY","TSIG","IXFR","AXFR","MAILB","MAILA","ANY","URI","CAA","AVC","DOA","AMTRELAY","TA","DLV"]},"ttl":{"type":"integer","format":"int32"},"value":{"type":"string"}}},"NewFakeEmailAddressResult":{"required":["emailAddress"],"type":"object","properties":{"emailAddress":{"type":"string"}}},"CheckEmailFeaturesClientSupportOptions":{"required":["emailBody"],"type":"object","properties":{"emailBody":{"type":"string"}}},"CheckEmailFeaturesClientSupportResults":{"required":["result"],"type":"object","properties":{"result":{"$ref":"#/components/schemas/EmailFeatureSupportResult"}}},"EmailFeatureCategoryName":{"required":["name","slug"],"type":"object","properties":{"slug":{"type":"string","enum":["css","html","image","others"]},"name":{"type":"string"}}},"EmailFeatureFamilyName":{"required":["name","slug"],"type":"object","properties":{"slug":{"type":"string","enum":["aol","apple-mail","fastmail","free-fr","gmail","gmx","hey","ionos-1and1","laposte","mail-ru","microsoft","orange","outlook","protonmail","rainloop","samsung-email","sfr","t-online-de","thunderbird","web-de","yahoo"]},"name":{"type":"string"}}},"EmailFeatureFamilyStatistics":{"required":["family","feature","platforms"],"type":"object","properties":{"feature":{"type":"string","enum":["amp","css-accent-color","css-align-items","css-animation","css-aspect-ratio","css-at-font-face","css-at-import","css-at-keyframes","css-at-media","css-at-supports","css-background-blend-mode","css-background-clip","css-background-color","css-background-image","css-background-origin","css-background-position","css-background-repeat","css-background-size","css-background","css-block-inline-size","css-border-image","css-border-inline-block-individual","css-border-inline-block-longhand","css-border-inline-block","css-border-radius-logical","css-border-radius","css-border","css-box-shadow","css-box-sizing","css-caption-side","css-clip-path","css-column-count","css-column-layout-properties","css-direction","css-display-flex","css-display-grid","css-display-none","css-display","css-filter","css-flex-direction","css-flex-wrap","css-float","css-font-kerning","css-font-weight","css-font","css-gap","css-grid-template","css-height","css-hyphens","css-inline-size","css-justify-content","css-left-right-top-bottom","css-letter-spacing","css-line-height","css-list-style-image","css-list-style-position","css-list-style-type","css-list-style","css-margin-block-start-end","css-margin-inline-block","css-margin-inline-start-end","css-margin-inline","css-margin","css-max-block-size","css-max-height","css-max-width","css-min-height","css-min-inline-size","css-min-width","css-mix-blend-mode","css-object-fit","css-object-position","css-opacity","css-outline-offset","css-outline","css-overflow-wrap","css-overflow","css-padding-block-start-end","css-padding-inline-block","css-padding-inline-start-end","css-padding","css-position","css-tab-size","css-table-layout","css-text-align-last","css-text-align","css-text-decoration-color","css-text-decoration-thickness","css-text-decoration","css-text-emphasis-position","css-text-emphasis","css-text-indent","css-text-overflow","css-text-shadow","css-text-transform","css-text-underline-offset","css-transform","css-vertical-align","css-visibility","css-white-space","css-width","css-word-break","css-writing-mode","css-z-index","html-abbr","html-address","html-align","html-anchor-links","html-aria-describedby","html-aria-hidden","html-aria-label","html-aria-labelledby","html-aria-live","html-audio","html-background","html-base","html-blockquote","html-body","html-button-reset","html-button-submit","html-code","html-del","html-dfn","html-dialog","html-dir","html-div","html-doctype","html-form","html-h1-h6","html-height","html-image-maps","html-input-checkbox","html-input-hidden","html-input-radio","html-input-reset","html-input-submit","html-input-text","html-lang","html-link","html-lists","html-loading-attribute","html-mailto-links","html-marquee","html-meter","html-object","html-p","html-picture","html-pre","html-progress","html-required","html-role","html-rp","html-rt","html-ruby","html-select","html-semantics","html-small","html-span","html-srcset","html-strike","html-strong","html-style","html-svg","html-table","html-target","html-textarea","html-valign","html-video","html-wbr","html-width","image-avif","image-base64","image-bmp","image-gif","image-ico","image-jpg","image-png","image-svg","image-webp","unsupported"]},"family":{"type":"string","enum":["aol","apple-mail","fastmail","free-fr","gmail","gmx","hey","ionos-1and1","laposte","mail-ru","microsoft","orange","outlook","protonmail","rainloop","samsung-email","sfr","t-online-de","thunderbird","web-de","yahoo"]},"platforms":{"type":"array","items":{"$ref":"#/components/schemas/EmailFeaturePlatformStatistics"}}}},"EmailFeatureNames":{"required":["category","family","platform"],"type":"object","properties":{"family":{"type":"array","items":{"$ref":"#/components/schemas/EmailFeatureFamilyName"}},"platform":{"type":"array","items":{"$ref":"#/components/schemas/EmailFeaturePlatformName"}},"category":{"type":"array","items":{"$ref":"#/components/schemas/EmailFeatureCategoryName"}}}},"EmailFeatureOverview":{"required":["feature","statuses"],"type":"object","properties":{"feature":{"type":"string","enum":["amp","css-accent-color","css-align-items","css-animation","css-aspect-ratio","css-at-font-face","css-at-import","css-at-keyframes","css-at-media","css-at-supports","css-background-blend-mode","css-background-clip","css-background-color","css-background-image","css-background-origin","css-background-position","css-background-repeat","css-background-size","css-background","css-block-inline-size","css-border-image","css-border-inline-block-individual","css-border-inline-block-longhand","css-border-inline-block","css-border-radius-logical","css-border-radius","css-border","css-box-shadow","css-box-sizing","css-caption-side","css-clip-path","css-column-count","css-column-layout-properties","css-direction","css-display-flex","css-display-grid","css-display-none","css-display","css-filter","css-flex-direction","css-flex-wrap","css-float","css-font-kerning","css-font-weight","css-font","css-gap","css-grid-template","css-height","css-hyphens","css-inline-size","css-justify-content","css-left-right-top-bottom","css-letter-spacing","css-line-height","css-list-style-image","css-list-style-position","css-list-style-type","css-list-style","css-margin-block-start-end","css-margin-inline-block","css-margin-inline-start-end","css-margin-inline","css-margin","css-max-block-size","css-max-height","css-max-width","css-min-height","css-min-inline-size","css-min-width","css-mix-blend-mode","css-object-fit","css-object-position","css-opacity","css-outline-offset","css-outline","css-overflow-wrap","css-overflow","css-padding-block-start-end","css-padding-inline-block","css-padding-inline-start-end","css-padding","css-position","css-tab-size","css-table-layout","css-text-align-last","css-text-align","css-text-decoration-color","css-text-decoration-thickness","css-text-decoration","css-text-emphasis-position","css-text-emphasis","css-text-indent","css-text-overflow","css-text-shadow","css-text-transform","css-text-underline-offset","css-transform","css-vertical-align","css-visibility","css-white-space","css-width","css-word-break","css-writing-mode","css-z-index","html-abbr","html-address","html-align","html-anchor-links","html-aria-describedby","html-aria-hidden","html-aria-label","html-aria-labelledby","html-aria-live","html-audio","html-background","html-base","html-blockquote","html-body","html-button-reset","html-button-submit","html-code","html-del","html-dfn","html-dialog","html-dir","html-div","html-doctype","html-form","html-h1-h6","html-height","html-image-maps","html-input-checkbox","html-input-hidden","html-input-radio","html-input-reset","html-input-submit","html-input-text","html-lang","html-link","html-lists","html-loading-attribute","html-mailto-links","html-marquee","html-meter","html-object","html-p","html-picture","html-pre","html-progress","html-required","html-role","html-rp","html-rt","html-ruby","html-select","html-semantics","html-small","html-span","html-srcset","html-strike","html-strong","html-style","html-svg","html-table","html-target","html-textarea","html-valign","html-video","html-wbr","html-width","image-avif","image-base64","image-bmp","image-gif","image-ico","image-jpg","image-png","image-svg","image-webp","unsupported"]},"title":{"type":"string"},"description":{"type":"string"},"category":{"type":"string","enum":["css","html","image","others"]},"notes":{"type":"string"},"notesNumbers":{"type":"object","additionalProperties":{"type":"string"}},"featureStatistics":{"type":"array","items":{"$ref":"#/components/schemas/EmailFeatureFamilyStatistics"}},"statuses":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["SUPPORTED","PARTIAL","NOT_SUPPORTED","UNKNOWN"]}}}},"EmailFeaturePlatformName":{"required":["name","slug"],"type":"object","properties":{"slug":{"type":"string","enum":["android","desktop-app","desktop-webmail","ios","macos","mobile-webmail","outlook-com","webmail","windows","windows-mail"]},"name":{"type":"string"}}},"EmailFeaturePlatformStatistics":{"required":["platform","versions"],"type":"object","properties":{"platform":{"type":"string","enum":["android","desktop-app","desktop-webmail","ios","macos","mobile-webmail","outlook-com","webmail","windows","windows-mail"]},"versions":{"type":"array","items":{"$ref":"#/components/schemas/EmailFeatureVersionStatistics"}}}},"EmailFeatureSupportFlags":{"required":["status"],"type":"object","properties":{"status":{"type":"string","enum":["SUPPORTED","PARTIAL","NOT_SUPPORTED","UNKNOWN"]},"notes":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}},"EmailFeatureSupportResult":{"required":["detectedFeatures","featureOverviews","featurePercentages","names"],"type":"object","properties":{"names":{"$ref":"#/components/schemas/EmailFeatureNames"},"detectedFeatures":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["amp","css-accent-color","css-align-items","css-animation","css-aspect-ratio","css-at-font-face","css-at-import","css-at-keyframes","css-at-media","css-at-supports","css-background-blend-mode","css-background-clip","css-background-color","css-background-image","css-background-origin","css-background-position","css-background-repeat","css-background-size","css-background","css-block-inline-size","css-border-image","css-border-inline-block-individual","css-border-inline-block-longhand","css-border-inline-block","css-border-radius-logical","css-border-radius","css-border","css-box-shadow","css-box-sizing","css-caption-side","css-clip-path","css-column-count","css-column-layout-properties","css-direction","css-display-flex","css-display-grid","css-display-none","css-display","css-filter","css-flex-direction","css-flex-wrap","css-float","css-font-kerning","css-font-weight","css-font","css-gap","css-grid-template","css-height","css-hyphens","css-inline-size","css-justify-content","css-left-right-top-bottom","css-letter-spacing","css-line-height","css-list-style-image","css-list-style-position","css-list-style-type","css-list-style","css-margin-block-start-end","css-margin-inline-block","css-margin-inline-start-end","css-margin-inline","css-margin","css-max-block-size","css-max-height","css-max-width","css-min-height","css-min-inline-size","css-min-width","css-mix-blend-mode","css-object-fit","css-object-position","css-opacity","css-outline-offset","css-outline","css-overflow-wrap","css-overflow","css-padding-block-start-end","css-padding-inline-block","css-padding-inline-start-end","css-padding","css-position","css-tab-size","css-table-layout","css-text-align-last","css-text-align","css-text-decoration-color","css-text-decoration-thickness","css-text-decoration","css-text-emphasis-position","css-text-emphasis","css-text-indent","css-text-overflow","css-text-shadow","css-text-transform","css-text-underline-offset","css-transform","css-vertical-align","css-visibility","css-white-space","css-width","css-word-break","css-writing-mode","css-z-index","html-abbr","html-address","html-align","html-anchor-links","html-aria-describedby","html-aria-hidden","html-aria-label","html-aria-labelledby","html-aria-live","html-audio","html-background","html-base","html-blockquote","html-body","html-button-reset","html-button-submit","html-code","html-del","html-dfn","html-dialog","html-dir","html-div","html-doctype","html-form","html-h1-h6","html-height","html-image-maps","html-input-checkbox","html-input-hidden","html-input-radio","html-input-reset","html-input-submit","html-input-text","html-lang","html-link","html-lists","html-loading-attribute","html-mailto-links","html-marquee","html-meter","html-object","html-p","html-picture","html-pre","html-progress","html-required","html-role","html-rp","html-rt","html-ruby","html-select","html-semantics","html-small","html-span","html-srcset","html-strike","html-strong","html-style","html-svg","html-table","html-target","html-textarea","html-valign","html-video","html-wbr","html-width","image-avif","image-base64","image-bmp","image-gif","image-ico","image-jpg","image-png","image-svg","image-webp","unsupported"]}},"featureOverviews":{"type":"array","items":{"$ref":"#/components/schemas/EmailFeatureOverview"}},"featurePercentages":{"type":"array","items":{"$ref":"#/components/schemas/EmailFeatureSupportStatusPercentage"}}}},"EmailFeatureSupportStatusPercentage":{"required":["percentage","status"],"type":"object","properties":{"status":{"type":"string","enum":["SUPPORTED","PARTIAL","NOT_SUPPORTED","UNKNOWN"]},"percentage":{"type":"number","format":"float"}}},"EmailFeatureVersionStatistics":{"required":["supportFlags","version"],"type":"object","properties":{"version":{"type":"string"},"supportFlags":{"$ref":"#/components/schemas/EmailFeatureSupportFlags"}}},"CheckEmailBlacklistOptions":{"type":"object","properties":{"domain":{"type":"string","description":"Domain to expand into A and MX host IPv4 addresses","nullable":true},"ipAddress":{"type":"string","description":"Specific IPv4 address to check directly","nullable":true},"mxHost":{"type":"string","description":"Specific MX host to resolve and check directly","nullable":true},"captchaToken":{"type":"string","nullable":true}},"description":"Check a domain, IP address, or specific MX host against configured DNS blacklists"},"CheckEmailBlacklistResults":{"required":["checkedIpAddresses","checkedZoneCount","errors","listed","status","totalListings","warnings"],"type":"object","properties":{"domain":{"type":"string","nullable":true},"requestedIpAddress":{"type":"string","nullable":true},"requestedMxHost":{"type":"string","nullable":true},"status":{"type":"string","enum":["HEALTHY","DEGRADED","CRITICAL","FAILED"]},"listed":{"type":"boolean"},"checkedIpAddresses":{"type":"array","items":{"$ref":"#/components/schemas/EmailBlacklistIpResult"}},"checkedZoneCount":{"type":"integer","format":"int32"},"totalListings":{"type":"integer","format":"int32"},"warnings":{"type":"array","items":{"type":"string"}},"errors":{"type":"array","items":{"type":"string"}}},"description":"Public blacklist lookup results for a domain or IP address"},"EmailBlacklistIpResult":{"required":["ipAddress","listings","source"],"type":"object","properties":{"ipAddress":{"type":"string"},"source":{"type":"string"},"listings":{"type":"array","items":{"$ref":"#/components/schemas/EmailBlacklistListingResult"}}},"description":"Blacklist lookup results for a single IP address"},"EmailBlacklistListingResult":{"required":["listed","responseCodes","responseMessages","zone"],"type":"object","properties":{"zone":{"type":"string"},"listed":{"type":"boolean"},"responseCodes":{"type":"array","items":{"type":"string"}},"responseMessages":{"type":"array","items":{"type":"string"}}},"description":"Blacklist lookup result for a single zone"},"CheckEmailAuthStackOptions":{"required":["domain"],"type":"object","properties":{"domain":{"minLength":1,"type":"string"},"dkimSelector":{"type":"string"},"captchaToken":{"type":"string"}}},"CheckEmailAuthStackResults":{"required":["bimi","dkim","dmarc","domain","errors","failingChecks","healthScore","insights","mtaSts","mx","passingChecks","spf","status","tlsReporting","totalChecks","warnings"],"type":"object","properties":{"domain":{"type":"string"},"status":{"type":"string","enum":["HEALTHY","DEGRADED","CRITICAL","FAILED"]},"healthScore":{"type":"integer","format":"int32"},"totalChecks":{"type":"integer","format":"int32"},"passingChecks":{"type":"integer","format":"int32"},"failingChecks":{"type":"integer","format":"int32"},"spf":{"$ref":"#/components/schemas/LookupSpfDomainResults"},"dmarc":{"$ref":"#/components/schemas/LookupDmarcDomainResults"},"dkim":{"$ref":"#/components/schemas/LookupDkimDomainResults"},"bimi":{"$ref":"#/components/schemas/LookupBimiDomainResults"},"mx":{"$ref":"#/components/schemas/LookupMxRecordsResults"},"mtaSts":{"$ref":"#/components/schemas/LookupMtaStsDomainResults"},"tlsReporting":{"$ref":"#/components/schemas/LookupTlsReportingDomainResults"},"insights":{"type":"array","items":{"type":"string"}},"warnings":{"type":"array","items":{"type":"string"}},"errors":{"type":"array","items":{"type":"string"}}},"description":"Combined authentication and deliverability DNS results for a domain"},"CheckEmailAuditOptions":{"type":"object","properties":{"fromAddress":{"maxLength":320,"minLength":0,"type":"string","description":"Optional sender address context","nullable":true,"example":"sender@example.com"},"recipient":{"maxLength":320,"minLength":0,"type":"string","description":"Optional recipient context","nullable":true,"example":"inbox@example.net"},"subject":{"maxLength":998,"minLength":0,"type":"string","description":"Optional subject line context","nullable":true},"htmlBody":{"maxLength":200000,"minLength":0,"type":"string","description":"Optional HTML email body","nullable":true},"textBody":{"maxLength":200000,"minLength":0,"type":"string","description":"Optional text email body","nullable":true},"emailAnalysis":{"$ref":"#/components/schemas/EmailAnalysis"},"hasAttachments":{"type":"boolean","description":"Whether the source email included attachments","nullable":true},"captchaToken":{"type":"string","description":"Optional captcha token for abuse protection","nullable":true}},"description":"Anonymous one-shot email audit request"},"EmailAuditAnalysisResult":{"required":["attachmentMentionIssueCount","brokenImages","brokenLinks","checkedImages","checkedLinks","compatibilityNotSupportedCount","compatibilityUnknownCount","compatibilityWarningCount","detectedImages","detectedLinks","externalCheckSkippedCount","failingChecks","healthScore","htmlErrorCount","htmlInfoCount","htmlWarningCount","imageIssueCount","insights","linkIssueCount","passingChecks","reputationFailureCount","spellingIssueCount","spellingIssues","status","totalChecks"],"type":"object","properties":{"status":{"type":"string","description":"Health status for a one-shot email audit","enum":["HEALTHY","WARNING","FAILED"]},"healthScore":{"type":"integer","format":"int32"},"totalChecks":{"type":"integer","format":"int32"},"passingChecks":{"type":"integer","format":"int32"},"failingChecks":{"type":"integer","format":"int32"},"detectedLinks":{"type":"integer","format":"int32"},"checkedLinks":{"type":"integer","format":"int32"},"detectedImages":{"type":"integer","format":"int32"},"checkedImages":{"type":"integer","format":"int32"},"linkIssueCount":{"type":"integer","format":"int32"},"imageIssueCount":{"type":"integer","format":"int32"},"spellingIssueCount":{"type":"integer","format":"int32"},"brokenLinks":{"type":"array","items":{"$ref":"#/components/schemas/EmailAuditUrlIssue"}},"brokenImages":{"type":"array","items":{"$ref":"#/components/schemas/EmailAuditUrlIssue"}},"spellingIssues":{"type":"array","items":{"$ref":"#/components/schemas/EmailAuditSpellingIssue"}},"compatibilityWarningCount":{"type":"integer","format":"int32"},"compatibilityNotSupportedCount":{"type":"integer","format":"int32"},"compatibilityUnknownCount":{"type":"integer","format":"int32"},"featureSupport":{"$ref":"#/components/schemas/EmailFeatureSupportResult"},"htmlErrorCount":{"type":"integer","format":"int32"},"htmlWarningCount":{"type":"integer","format":"int32"},"htmlInfoCount":{"type":"integer","format":"int32"},"htmlValidation":{"$ref":"#/components/schemas/HTMLValidationResult"},"reputationFailureCount":{"type":"integer","format":"int32"},"attachmentMentionIssueCount":{"type":"integer","format":"int32"},"externalCheckSkippedCount":{"type":"integer","format":"int32"},"insights":{"type":"array","items":{"type":"string"}},"errorMessage":{"type":"string","nullable":true}},"description":"Combined email audit analysis across validation, client support, links, and images"},"EmailAuditSpellingIssue":{"required":["message"],"type":"object","properties":{"group":{"type":"string","nullable":true},"suggestion":{"type":"string","nullable":true},"severity":{"type":"string","nullable":true,"enum":["Warning","Error"]},"message":{"type":"string"}},"description":"A single spelling or content-quality issue discovered during email audit checks"},"EmailAuditUrlIssue":{"required":["message","url"],"type":"object","properties":{"url":{"type":"string"},"statusCode":{"type":"integer","format":"int32","nullable":true},"message":{"type":"string"}},"description":"A single URL issue discovered during email audit checks"},"HTMLValidationResult":{"required":["errors","infos","isValid","warnings"],"type":"object","properties":{"isValid":{"type":"boolean","description":"Is HTML validation result valid"},"infos":{"type":"array","description":"Optional infos resulting from HTML validation","items":{"$ref":"#/components/schemas/ValidationMessage"}},"errors":{"type":"array","description":"Optional errors resulting from HTML validation","items":{"$ref":"#/components/schemas/ValidationMessage"}},"warnings":{"type":"array","description":"Optional warnings resulting from HTML validation","items":{"$ref":"#/components/schemas/ValidationMessage"}}},"description":"HTML Validation Results","nullable":true},"ValidationMessage":{"required":["lineNumber"],"type":"object","properties":{"lineNumber":{"type":"integer","format":"int32"},"message":{"type":"string"}},"description":"Optional warnings resulting from HTML validation"},"CheckDomainMonitorOptions":{"required":["domain"],"type":"object","properties":{"domain":{"minLength":1,"type":"string","description":"Domain to evaluate","example":"example.com"},"captchaToken":{"type":"string","description":"Optional captcha token when captcha protection is enabled","nullable":true}},"description":"One-shot public domain monitor check options"},"CheckDomainMonitorResults":{"required":["dmarcEnforced","dmarcOk","domain","failingChecks","healthScore","insights","mxOk","passingChecks","spfOk","status","totalChecks"],"type":"object","properties":{"domain":{"type":"string"},"status":{"type":"string","enum":["HEALTHY","DEGRADED","CRITICAL","FAILED"]},"healthScore":{"type":"integer","format":"int32"},"totalChecks":{"type":"integer","format":"int32"},"passingChecks":{"type":"integer","format":"int32"},"failingChecks":{"type":"integer","format":"int32"},"spfOk":{"type":"boolean"},"dmarcOk":{"type":"boolean"},"dmarcEnforced":{"type":"boolean"},"mxOk":{"type":"boolean"},"insights":{"type":"array","items":{"type":"string"}},"errorMessage":{"type":"string","nullable":true}},"description":"One-shot public domain monitor check results"},"CheckDnsPropagationOptions":{"required":["host","recordType"],"type":"object","properties":{"host":{"minLength":1,"type":"string"},"recordType":{"type":"string","description":"Domain Name Server Record Types","enum":["A","NS","MD","MF","CNAME","SOA","MB","MG","MR","NULL","WKS","PTR","HINFO","MINFO","MX","TXT","RP","AFSDB","X25","ISDN","RT","NSAP","NSAP_PTR","SIG","KEY","PX","GPOS","AAAA","LOC","NXT","EID","NIMLOC","SRV","ATMA","NAPTR","KX","CERT","A6","DNAME","SINK","OPT","APL","DS","SSHFP","IPSECKEY","RRSIG","NSEC","DNSKEY","DHCID","NSEC3","NSEC3PARAM","TLSA","SMIMEA","HIP","NINFO","RKEY","TALINK","CDS","CDNSKEY","OPENPGPKEY","CSYNC","ZONEMD","SVCB","HTTPS","SPF","UINFO","UID","GID","UNSPEC","NID","L32","L64","LP","EUI48","EUI64","TKEY","TSIG","IXFR","AXFR","MAILB","MAILA","ANY","URI","CAA","AVC","DOA","AMTRELAY","TA","DLV"]},"expectedValue":{"type":"string"},"captchaToken":{"type":"string"}}},"CheckDnsPropagationResults":{"required":["errors","host","matchingResolverCount","propagatedToAllResolvers","recordType","resolverResults","respondingResolverCount","warnings"],"type":"object","properties":{"host":{"type":"string"},"recordType":{"type":"string","description":"Domain Name Server Record Types","enum":["A","NS","MD","MF","CNAME","SOA","MB","MG","MR","NULL","WKS","PTR","HINFO","MINFO","MX","TXT","RP","AFSDB","X25","ISDN","RT","NSAP","NSAP_PTR","SIG","KEY","PX","GPOS","AAAA","LOC","NXT","EID","NIMLOC","SRV","ATMA","NAPTR","KX","CERT","A6","DNAME","SINK","OPT","APL","DS","SSHFP","IPSECKEY","RRSIG","NSEC","DNSKEY","DHCID","NSEC3","NSEC3PARAM","TLSA","SMIMEA","HIP","NINFO","RKEY","TALINK","CDS","CDNSKEY","OPENPGPKEY","CSYNC","ZONEMD","SVCB","HTTPS","SPF","UINFO","UID","GID","UNSPEC","NID","L32","L64","LP","EUI48","EUI64","TKEY","TSIG","IXFR","AXFR","MAILB","MAILA","ANY","URI","CAA","AVC","DOA","AMTRELAY","TA","DLV"]},"expectedValue":{"type":"string","nullable":true},"propagatedToAllResolvers":{"type":"boolean"},"respondingResolverCount":{"type":"integer","format":"int32"},"matchingResolverCount":{"type":"integer","format":"int32"},"resolverResults":{"type":"array","items":{"$ref":"#/components/schemas/DnsPropagationResolverResult"}},"warnings":{"type":"array","items":{"type":"string"}},"errors":{"type":"array","items":{"type":"string"}}},"description":"DNS propagation status across configured resolvers"},"DnsPropagationResolverResult":{"required":["records","resolver","responded"],"type":"object","properties":{"resolver":{"type":"string"},"records":{"type":"array","items":{"type":"string"}},"responded":{"type":"boolean"},"matchedExpectedValue":{"type":"boolean","nullable":true}},"description":"Propagation results from a single DNS resolver"},"CheckCampaignProbeOptions":{"type":"object","properties":{"fromAddress":{"maxLength":320,"minLength":0,"type":"string","description":"Optional sender email address","nullable":true,"example":"sender@example.com"},"subject":{"maxLength":998,"minLength":0,"type":"string","description":"Optional message subject","nullable":true,"example":"Launch update"},"recipient":{"maxLength":320,"minLength":0,"type":"string","description":"Optional recipient email address for context","nullable":true},"messageId":{"maxLength":998,"minLength":0,"type":"string","description":"Optional caller supplied message id","nullable":true},"htmlBody":{"type":"string","description":"HTML body content to analyze","nullable":true},"textBody":{"type":"string","description":"Text body content to analyze when HTML is absent","nullable":true},"captchaToken":{"type":"string","description":"Optional captcha token when captcha protection is enabled","nullable":true}},"description":"One-shot public campaign probe preflight check options"},"CheckCampaignProbeResults":{"required":["attachmentMentionIssueCount","checkedImages","checkedLinks","compatibilityNotSupportedCount","compatibilityUnknownCount","compatibilityWarningCount","failingChecks","healthScore","htmlErrorCount","htmlInfoCount","htmlWarningCount","imageIssueCount","insights","linkIssueCount","passingChecks","status","totalChecks"],"type":"object","properties":{"status":{"type":"string","enum":["HEALTHY","WARNING","FAILED"]},"healthScore":{"type":"integer","format":"int32"},"totalChecks":{"type":"integer","format":"int32"},"passingChecks":{"type":"integer","format":"int32"},"failingChecks":{"type":"integer","format":"int32"},"checkedLinks":{"type":"integer","format":"int32"},"checkedImages":{"type":"integer","format":"int32"},"linkIssueCount":{"type":"integer","format":"int32"},"imageIssueCount":{"type":"integer","format":"int32"},"compatibilityWarningCount":{"type":"integer","format":"int32"},"compatibilityNotSupportedCount":{"type":"integer","format":"int32"},"compatibilityUnknownCount":{"type":"integer","format":"int32"},"htmlErrorCount":{"type":"integer","format":"int32"},"htmlWarningCount":{"type":"integer","format":"int32"},"htmlInfoCount":{"type":"integer","format":"int32"},"attachmentMentionIssueCount":{"type":"integer","format":"int32"},"insights":{"type":"array","items":{"type":"string"}},"errorMessage":{"type":"string","nullable":true}},"description":"One-shot public campaign probe preflight results"},"AnalyzeEmailHeadersOptions":{"required":["rawHeaders"],"type":"object","properties":{"rawHeaders":{"maxLength":100000,"minLength":0,"type":"string","description":"Raw RFC 5322 email headers to analyze"}}},"AnalyzeEmailHeadersResults":{"required":["errors","parsedHeaders","receivedPath","summary","warnings"],"type":"object","properties":{"summary":{"$ref":"#/components/schemas/EmailHeaderAnalysisSummary"},"receivedPath":{"type":"array","items":{"$ref":"#/components/schemas/EmailHeaderReceivedHop"}},"parsedHeaders":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"warnings":{"type":"array","items":{"type":"string"}},"errors":{"type":"array","items":{"type":"string"}}}},"EmailHeaderAnalysisSummary":{"type":"object","properties":{"spf":{"type":"string"},"dkim":{"type":"string"},"dmarc":{"type":"string"},"fromDomain":{"type":"string"},"returnPathDomain":{"type":"string"}}},"EmailHeaderReceivedHop":{"type":"object","properties":{"from":{"type":"string"},"by":{"type":"string"},"withValue":{"type":"string"},"timestamp":{"type":"string"},"delayMs":{"type":"integer","format":"int64"}}},"AnalyzeDmarcReportOptions":{"required":["reportXml"],"type":"object","properties":{"reportXml":{"maxLength":1000000,"minLength":0,"type":"string"},"captchaToken":{"type":"string"}}},"AnalyzeDmarcReportResults":{"required":["dkimAlignedCount","errors","failedAlignmentCount","fullyAlignedCount","metadata","noneCount","quarantineCount","recordCount","rejectCount","spfAlignedCount","topSources","totalMessages","warnings"],"type":"object","properties":{"metadata":{"$ref":"#/components/schemas/DmarcReportMetadata"},"recordCount":{"type":"integer","format":"int32"},"totalMessages":{"type":"integer","format":"int32"},"rejectCount":{"type":"integer","format":"int32"},"quarantineCount":{"type":"integer","format":"int32"},"noneCount":{"type":"integer","format":"int32"},"dkimAlignedCount":{"type":"integer","format":"int32"},"spfAlignedCount":{"type":"integer","format":"int32"},"fullyAlignedCount":{"type":"integer","format":"int32"},"failedAlignmentCount":{"type":"integer","format":"int32"},"topSources":{"type":"array","items":{"$ref":"#/components/schemas/DmarcReportSourceSummary"}},"warnings":{"type":"array","items":{"type":"string"}},"errors":{"type":"array","items":{"type":"string"}}},"description":"Aggregate analysis results for an uploaded DMARC XML report"},"DmarcReportMetadata":{"type":"object","properties":{"orgName":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"reportId":{"type":"string","nullable":true},"domain":{"type":"string","nullable":true},"adkim":{"type":"string","nullable":true},"aspf":{"type":"string","nullable":true},"policy":{"type":"string","nullable":true},"subdomainPolicy":{"type":"string","nullable":true},"percentage":{"type":"integer","format":"int32","nullable":true},"dateRangeBegin":{"type":"string","format":"date-time","nullable":true},"dateRangeEnd":{"type":"string","format":"date-time","nullable":true}},"description":"DMARC aggregate report metadata and policy information"},"DmarcReportSourceSummary":{"required":["count","dkimAligned","sourceIp","spfAligned"],"type":"object","properties":{"sourceIp":{"type":"string"},"count":{"type":"integer","format":"int32"},"disposition":{"type":"string","nullable":true},"dkimAligned":{"type":"boolean"},"spfAligned":{"type":"boolean"},"headerFrom":{"type":"string","nullable":true}},"description":"Summarized DMARC results for a single source IP"},"CreateDeliverabilityTestOptions":{"required":["expectations","scope","selector"],"type":"object","properties":{"name":{"type":"string","description":"Optional name for the test","nullable":true,"example":"Morning smoke load"},"description":{"type":"string","description":"Optional description","nullable":true,"example":"Load test for signup flow"},"scope":{"type":"string","description":"Entity scope to evaluate","example":"INBOX","enum":["INBOX","PHONE"]},"startAt":{"type":"string","description":"UTC instant when the receive window starts. Defaults to now if omitted.","format":"date-time","nullable":true,"example":"2026-02-24T16:30:00Z"},"maxDurationSeconds":{"minimum":1,"type":"integer","description":"Optional timeout in seconds after startAt. If not all entities match before timeout the test transitions to FAILED.","format":"int64","nullable":true,"example":900},"successThresholdPercent":{"maximum":100.0,"exclusiveMaximum":false,"minimum":0.0,"exclusiveMinimum":true,"type":"number","description":"Optional acceptable success threshold percentage (0,100]. If set, a timed-out test can complete successfully when matchedEntities/totalEntities reaches this percentage.","format":"double","nullable":true,"example":90.0},"selector":{"$ref":"#/components/schemas/DeliverabilitySelectorOptions"},"expectations":{"maxItems":20,"minItems":1,"type":"array","description":"One or more expectations to evaluate for each entity","items":{"$ref":"#/components/schemas/DeliverabilityExpectation"}}},"description":"Create a new deliverability/load test"},"DeliverabilityExpectation":{"required":["minCount"],"type":"object","properties":{"name":{"type":"string","description":"Optional label for this expectation","nullable":true,"example":"From system sender"},"minCount":{"minimum":1,"type":"integer","description":"Minimum number of matching messages required for this expectation to pass","format":"int64","example":1},"from":{"type":"string","description":"Optional sender filter. Matching is case-insensitive contains against inbound sender/from values.","nullable":true,"example":"noreply@example.com"},"to":{"type":"string","description":"Optional recipient filter. Matching is case-insensitive contains against recipient/to values.","nullable":true,"example":"qa+load@example.com"},"subject":{"type":"string","description":"Optional subject filter for INBOX scope tests. Ignored for PHONE scope tests.","nullable":true,"example":"verification"}},"description":"Single expectation to evaluate against each selected entity"},"DeliverabilitySelectorOptions":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"Selection mode","example":"PATTERN","enum":["ALL","PATTERN","EXPLICIT"]},"pattern":{"type":"string","description":"Wildcard pattern for PATTERN selection. Supports '*' and '?' wildcards. If no wildcard is present the value is treated as a case-insensitive contains match.","nullable":true,"example":"loadtest-*"},"phoneCountry":{"type":"string","description":"Optional phone-country filter for PHONE scope selection (e.g. ALL phones in US). Must be null for INBOX scope.","nullable":true,"example":"US","enum":["US","GB","AU","CA","EE","HK","PL","PT","NL","IL","FI","SE"]},"entityIds":{"type":"array","description":"Explicit entity IDs for EXPLICIT selection","nullable":true,"example":["11111111-1111-1111-1111-111111111111"],"items":{"type":"string","description":"Explicit entity IDs for EXPLICIT selection","format":"uuid","nullable":true}},"excludeEntityIds":{"type":"array","description":"Optional entity IDs to exclude from the resolved selection (applies after ALL/PATTERN/EXPLICIT selection).","nullable":true,"example":["22222222-2222-2222-2222-222222222222"],"items":{"type":"string","description":"Optional entity IDs to exclude from the resolved selection (applies after ALL/PATTERN/EXPLICIT selection).","format":"uuid","nullable":true}}},"description":"How entities are selected for a deliverability test"},"DeliverabilityTestDto":{"required":["completionPercentage","createdAt","expectations","id","matchedEntities","scope","selectedEntityCount","selector","startAt","status","thresholdStatus","timedOut","totalEntities","unmatchedEntities","updatedAt"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"scope":{"type":"string","enum":["INBOX","PHONE"]},"selector":{"$ref":"#/components/schemas/DeliverabilitySelectorOptions"},"selectedEntityCount":{"type":"integer","format":"int64"},"expectations":{"type":"array","items":{"$ref":"#/components/schemas/DeliverabilityExpectation"}},"status":{"type":"string","enum":["CREATED","SCHEDULED","RUNNING","PAUSED","STOPPED","COMPLETE","FAILED"]},"startAt":{"type":"string","format":"date-time"},"startedAt":{"type":"string","format":"date-time","nullable":true},"completedAt":{"type":"string","format":"date-time","nullable":true},"maxDurationSeconds":{"type":"integer","format":"int64","nullable":true},"successThresholdPercent":{"type":"number","format":"double","nullable":true},"thresholdStatus":{"type":"string","enum":["NOT_CONFIGURED","PASSING","FAILING"]},"thresholdMet":{"type":"boolean","nullable":true},"lastEvaluatedAt":{"type":"string","format":"date-time","nullable":true},"totalEntities":{"type":"integer","format":"int64"},"matchedEntities":{"type":"integer","format":"int64"},"unmatchedEntities":{"type":"integer","format":"int64"},"completionPercentage":{"type":"number","format":"double"},"timedOut":{"type":"boolean"},"failureReason":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"description":"Deliverability test configuration and progress summary"},"CreateDeliverabilitySimulationJobOptions":{"type":"object","properties":{"senderInboxId":{"type":"string","description":"Sender inbox ID for INBOX scope tests","format":"uuid","nullable":true},"senderPhoneId":{"type":"string","description":"Sender phone ID for PHONE scope tests","format":"uuid","nullable":true},"email":{"$ref":"#/components/schemas/DeliverabilitySimulationEmailOptions"},"sms":{"$ref":"#/components/schemas/DeliverabilitySimulationSmsOptions"},"delayMs":{"maximum":60000,"minimum":50,"type":"integer","description":"Delay between individual sends in milliseconds","format":"int64","nullable":true,"example":250},"batchSize":{"maximum":50,"minimum":1,"type":"integer","description":"Maximum sends processed per scheduler batch","format":"int32","nullable":true,"example":10},"sendsPerTarget":{"maximum":50,"minimum":1,"type":"integer","description":"Optional fixed sends per target. If omitted this is derived from test expectations.","format":"int64","nullable":true,"example":1}},"description":"Create a simulation job for a deliverability test"},"DeliverabilitySimulationEmailOptions":{"type":"object","properties":{"fromOverride":{"type":"string","description":"Optional from override for each sent email","nullable":true},"subject":{"type":"string","description":"Optional email subject fallback used when template subject is omitted","nullable":true},"bodyTemplate":{"type":"string","description":"Optional email body template. Supports {{targetLabel}}, {{sendIndex}}, {{attempt}}.","nullable":true}},"description":"Simulation options for email deliverability tests","nullable":true},"DeliverabilitySimulationSmsOptions":{"type":"object","properties":{"bodyTemplate":{"type":"string","description":"Optional SMS body template. Supports {{targetLabel}}, {{sendIndex}}, {{attempt}}.","nullable":true}},"description":"Simulation options for SMS deliverability tests","nullable":true},"DeliverabilitySimulationJobConfigDto":{"required":["batchSize","delayMs","sendsPerTarget"],"type":"object","properties":{"senderInboxId":{"type":"string","format":"uuid","nullable":true},"senderPhoneId":{"type":"string","format":"uuid","nullable":true},"emailSubject":{"type":"string","nullable":true},"emailFromOverride":{"type":"string","nullable":true},"emailBodyTemplate":{"type":"string","nullable":true},"smsBodyTemplate":{"type":"string","nullable":true},"delayMs":{"type":"integer","format":"int64"},"batchSize":{"type":"integer","format":"int32"},"sendsPerTarget":{"type":"integer","format":"int64"}},"description":"Simulation job configuration snapshot"},"DeliverabilitySimulationJobDto":{"required":["configSnapshot","createdAt","errorSummary","failureCount","id","nextSendIndex","progressPercent","scope","sentCount","status","successCount","testId","totalPlannedSends","totalTargets","updatedAt"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"testId":{"type":"string","format":"uuid"},"scope":{"type":"string","enum":["INBOX","PHONE"]},"status":{"type":"string","enum":["RUNNING","PAUSED","CANCELLED","COMPLETED","FAILED"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"startedAt":{"type":"string","format":"date-time","nullable":true},"completedAt":{"type":"string","format":"date-time","nullable":true},"totalTargets":{"type":"integer","format":"int64"},"totalPlannedSends":{"type":"integer","format":"int64"},"nextSendIndex":{"type":"integer","format":"int64"},"sentCount":{"type":"integer","format":"int64"},"successCount":{"type":"integer","format":"int64"},"failureCount":{"type":"integer","format":"int64"},"progressPercent":{"type":"number","format":"double"},"activeTargetLabel":{"type":"string","nullable":true},"estimatedRemainingMs":{"type":"integer","format":"int64","nullable":true},"configSnapshot":{"$ref":"#/components/schemas/DeliverabilitySimulationJobConfigDto"},"errorSummary":{"$ref":"#/components/schemas/DeliverabilitySimulationJobErrorSummaryDto"}},"description":"Deliverability simulation job status"},"DeliverabilitySimulationJobErrorSummaryDto":{"required":["topErrors"],"type":"object","properties":{"lastError":{"type":"string","nullable":true},"topErrors":{"type":"array","items":{"$ref":"#/components/schemas/DeliverabilitySimulationJobTopErrorDto"}}},"description":"Simulation error summary"},"DeliverabilitySimulationJobTopErrorDto":{"required":["count","message"],"type":"object","properties":{"message":{"type":"string"},"count":{"type":"integer","format":"int64"}},"description":"Top simulation error summary item"},"SmsReplyOptions":{"required":["body"],"type":"object","properties":{"body":{"type":"string"}}},"SentSmsDto":{"required":["body","createdAt","fromNumber","id","phoneNumber","sid","toNumber","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"phoneNumber":{"type":"string","format":"uuid"},"fromNumber":{"type":"string"},"toNumber":{"type":"string"},"body":{"type":"string"},"sid":{"type":"string"},"replyToSid":{"type":"string"},"replyToId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"ExtractCodesOptions":{"type":"object","properties":{"method":{"type":"string","description":"Extraction strategy for verification codes. Unsupported strategies may fall back when allowFallback is true.","nullable":true,"enum":["AUTO","PATTERN","LLM","OCR","OCR_THEN_LLM"]},"allowFallback":{"type":"boolean","description":"Allow fallback to deterministic pattern extraction when the selected method is unavailable.","default":true},"minLength":{"type":"integer","description":"Minimum code length to consider. Typical OTP values are between 4 and 8 characters.","format":"int32","default":4},"maxLength":{"type":"integer","description":"Maximum code length to consider.","format":"int32","default":10},"maxCandidates":{"type":"integer","description":"Maximum number of code candidates to return. Best candidate is also returned separately.","format":"int32","default":5},"customPatterns":{"type":"array","description":"Optional custom regex patterns for code extraction. Each pattern should have either one capture group for the code or match the full code directly.","nullable":true,"items":{"type":"string","description":"Optional custom regex patterns for code extraction. Each pattern should have either one capture group for the code or match the full code directly.","nullable":true}}},"description":"Options for extracting verification codes from email or SMS content. Use method to control extraction strategy and allowFallback to control strictness."},"CodeCandidate":{"required":["code","confidence","method","source"],"type":"object","properties":{"code":{"type":"string","description":"Extracted code value"},"confidence":{"type":"number","description":"Relative confidence score from 0 to 1","format":"double"},"method":{"type":"string","description":"Extraction strategy for verification codes. Unsupported strategies may fall back when allowFallback is true.","enum":["AUTO","PATTERN","LLM","OCR","OCR_THEN_LLM"]},"source":{"type":"string","description":"Source fragment used for extraction, for example RAW_TEXT_PART or SMS_BODY"},"context":{"type":"string","description":"Nearby text context useful for debugging extraction decisions","nullable":true}},"description":"Candidate verification code extracted from content"},"ExtractCodesResult":{"required":["candidates","found","warnings"],"type":"object","properties":{"found":{"type":"boolean","description":"True if at least one code candidate was found"},"code":{"type":"string","description":"Best candidate code when found","nullable":true},"methodUsed":{"type":"string","description":"Extraction strategy for verification codes. Unsupported strategies may fall back when allowFallback is true.","nullable":true,"enum":["AUTO","PATTERN","LLM","OCR","OCR_THEN_LLM"]},"candidates":{"type":"array","description":"Ranked code candidates","items":{"$ref":"#/components/schemas/CodeCandidate"}},"warnings":{"type":"array","description":"Warnings or fallback notes explaining extraction behavior for debugging and QA.","items":{"type":"string","description":"Warnings or fallback notes explaining extraction behavior for debugging and QA."}}},"description":"Result of extracting verification codes from message content"},"SmsSendOptions":{"required":["body","to"],"type":"object","properties":{"to":{"type":"string"},"body":{"type":"string"}}},"SimpleSendEmailOptions":{"required":["to"],"type":"object","properties":{"senderId":{"type":"string","description":"ID of inbox to send from. If null an inbox will be created for sending","format":"uuid","nullable":true},"to":{"type":"string","description":"Email address to send to"},"body":{"type":"string","description":"Body of the email message. Supports HTML","nullable":true},"subject":{"type":"string","description":"Subject line of the email","nullable":true}},"description":"Simplified send email options"},"CreateRulesetOptions":{"required":["action","scope","target"],"type":"object","properties":{"scope":{"type":"string","description":"What type of emails actions to apply ruleset to. Either `SENDING_EMAILS` or `RECEIVING_EMAILS` will apply action and target to any sending or receiving of emails respectively.","enum":["RECEIVING_EMAILS","SENDING_EMAILS","RECEIVING_SMS","SENDING_SMS"]},"action":{"type":"string","description":"Action to be taken when the ruleset matches an email for the given scope. For example: `BLOCK` action with target `*` and scope `SENDING_EMAILS` blocks sending to all recipients. Note `ALLOW` takes precedent over `BLOCK`. `FILTER_REMOVE` is like block but will remove offending email addresses during a send or receive event instead of blocking the action.","enum":["BLOCK","ALLOW","FILTER_REMOVE","BOUNCE_SOFT","BOUNCE_HARD"]},"target":{"type":"string","description":"Target to match emails with. Can be a wild-card type pattern or a valid email address. For instance `*@gmail.com` matches all gmail addresses while `test@gmail.com` matches one address exactly. The target is applied to every recipient field email address when `SENDING_EMAILS` is the scope and is applied to sender of email when `RECEIVING_EMAILS`."}},"description":"Options for creating inbox rulesets. Inbox rulesets can be used to block, allow, filter, or forward emails when sending or receiving using the inbox.","externalDocs":{"url":"https://www.mailslurp.com/guides/inbox-rulesets/"}},"RulesetDto":{"required":["action","createdAt","handler","id","scope","target"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"inboxId":{"type":"string","format":"uuid","nullable":true},"phoneId":{"type":"string","format":"uuid","nullable":true},"scope":{"type":"string","enum":["RECEIVING_EMAILS","SENDING_EMAILS","RECEIVING_SMS","SENDING_SMS"]},"action":{"type":"string","enum":["BLOCK","ALLOW","FILTER_REMOVE","BOUNCE_SOFT","BOUNCE_HARD"]},"target":{"type":"string"},"handler":{"type":"string","enum":["EXCEPTION"]},"createdAt":{"type":"string","format":"date-time"}},"description":"Rules for an inbox or phone number. Rulesets can be used to block, allow, filter, or bounce emails or SMS when sending or receiving."},"TestInboxRulesetSendingOptions":{"required":["recipient"],"type":"object","properties":{"inboxId":{"type":"string","format":"uuid","nullable":true},"phoneId":{"type":"string","format":"uuid","nullable":true},"recipient":{"type":"string"}},"description":"Test options for ruleset sending test"},"TestRulesetSendingResult":{"required":["canSend"],"type":"object","properties":{"canSend":{"type":"boolean"}}},"TestRulesetReceivingOptions":{"required":["fromSender"],"type":"object","properties":{"inboxId":{"type":"string","format":"uuid","nullable":true},"phoneId":{"type":"string","format":"uuid","nullable":true},"fromSender":{"type":"string"}},"description":"Test options for inbox ruleset receiving test or phone number receiving test"},"TestRulesetReceivingResult":{"required":["canReceive"],"type":"object","properties":{"canReceive":{"type":"boolean"}}},"CreateInboxReplierOptions":{"required":["field","match"],"type":"object","properties":{"inboxId":{"type":"string","description":"Inbox ID to attach replier to","format":"uuid","nullable":true},"name":{"type":"string","description":"Name for replier","nullable":true},"field":{"type":"string","description":"Field to match against to trigger inbox replier for inbound email","enum":["RECIPIENTS","SENDER","SUBJECT","ATTACHMENTS"]},"match":{"minLength":1,"type":"string","description":"String or wildcard style match for field specified when evaluating reply rules. Use `*` to match anything."},"replyTo":{"type":"string","description":"Reply-to email address when sending replying","nullable":true},"subject":{"type":"string","description":"Subject override when replying to email","nullable":true},"from":{"type":"string","description":"Send email from address","nullable":true},"charset":{"type":"string","description":"Email reply charset","nullable":true},"ignoreReplyTo":{"type":"boolean","description":"Ignore sender replyTo when responding. Send directly to the sender if enabled.","nullable":true},"isHTML":{"type":"boolean","description":"Send HTML email","nullable":true},"body":{"type":"string","description":"Email body for reply","nullable":true},"templateId":{"type":"string","description":"ID of template to use when sending a reply","format":"uuid","nullable":true},"templateVariables":{"type":"object","additionalProperties":{"type":"object","description":"Template variable values","nullable":true},"description":"Template variable values","nullable":true}},"description":"Options for creating an inbox replier. Repliers can be attached to inboxes and send automated responses when an inbound email matches given criteria.","externalDocs":{"url":"https://docs.mailslurp.com/repliers/"}},"CreatePhoneNumberOptions":{"required":["phoneCountry"],"type":"object","properties":{"phoneCountry":{"type":"string","enum":["US","GB","AU","CA","EE","HK","PL","PT","NL","IL","FI","SE"]},"name":{"type":"string"},"description":{"type":"string"},"schedule":{"type":"string","enum":["MONTHLY","YEARLY"]},"phoneNumberEndpointOverride":{"type":"string"},"phoneNumberVariant":{"type":"string","enum":["LOCAL","MOBILE","TOLL_FREE"]}}},"ValidatePhoneNumberOptions":{"required":["phoneNumber"],"type":"object","properties":{"phoneNumber":{"type":"string"}}},"PhoneNumberValidationDto":{"required":["isValid","phoneNumber"],"type":"object","properties":{"countryCode":{"type":"string"},"countryPrefix":{"type":"string"},"phoneNumber":{"type":"string"},"isValid":{"type":"boolean"},"validationErrors":{"type":"array","items":{"type":"string"}}}},"TestPhoneNumberOptions":{"required":["message"],"type":"object","properties":{"message":{"type":"string"}}},"CreateEmergencyAddressOptions":{"required":["address1","city","customerName","isoCountryCode","postalCode","region"],"type":"object","properties":{"customerName":{"type":"string"},"address1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"isoCountryCode":{"type":"string","enum":["US","GB","AU","CA","EE","HK","PL","PT","NL","IL","FI","SE"]},"displayName":{"type":"string"}}},"EmergencyAddress":{"required":["accountSid","address1","city","createdAt","customerName","displayName","id","phoneCountry","postalCode","region","sid","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"sid":{"type":"string"},"userId":{"type":"string","format":"uuid"},"displayName":{"type":"string"},"customerName":{"type":"string"},"address1":{"type":"string"},"city":{"type":"string"},"region":{"type":"string"},"postalCode":{"type":"string"},"phoneCountry":{"type":"string","enum":["US","GB","AU","CA","EE","HK","PL","PT","NL","IL","FI","SE"]},"accountSid":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"ConsentStatusDto":{"required":["consented"],"type":"object","properties":{"consented":{"type":"boolean"}}},"CreateTotpDeviceOtpAuthUrlOptions":{"required":["otpAuthUrl"],"type":"object","properties":{"otpAuthUrl":{"type":"string","description":"OTP Auth URI for connecting a TOTP device.","example":"otpauth://totp/your-app:contact%40mailslurp.dev?secret=LJCTOYKGGBAWCMSHJRZGITCVLIXCG4JY&issuer=your-app&algorithm=SHA1&digits=6&period=30"},"name":{"type":"string","description":"Name for labeling the TOTP device","nullable":true},"username":{"type":"string","description":"Optional username for the TOTP device","nullable":true},"issuer":{"type":"string","description":"Optional issuer override for the TOTP device","nullable":true},"digits":{"maximum":255,"minimum":0,"type":"integer","description":"Optional number of digits in TOTP code","format":"int32","nullable":true,"default":6},"period":{"type":"integer","description":"Optional period in seconds for TOTP code expiration","format":"int32","nullable":true,"default":30},"algorithm":{"type":"string","description":"Optional algorithm override","nullable":true,"example":"SHA1"}}},"TotpDeviceDto":{"required":["createdAt","id","updatedAt"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"username":{"type":"string","nullable":true},"issuer":{"type":"string","nullable":true},"digits":{"type":"integer","format":"int32","nullable":true},"period":{"type":"integer","format":"int32","nullable":true},"algorithm":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"CreateTotpDeviceCustomOptions":{"required":["secret"],"type":"object","properties":{"secret":{"type":"string","description":"The base32 encoded secret provided by the identity provider for the TOTP device.","example":"LJCTOYKGGBAWCMSHJRZGITCVLIXCG4JY"},"name":{"type":"string","description":"Name for labeling the TOTP device","nullable":true},"username":{"type":"string","description":"Optional username for the TOTP device","nullable":true},"issuer":{"type":"string","description":"Optional issuer override for the TOTP device","nullable":true},"digits":{"maximum":255,"minimum":0,"type":"integer","description":"Optional number of digits in TOTP code","format":"int32","nullable":true,"default":6},"period":{"type":"integer","description":"Optional period in seconds for TOTP code expiration","format":"int32","nullable":true,"default":30},"algorithm":{"type":"string","description":"Optional algorithm override","nullable":true,"example":"SHA1"}}},"CreateTotpDeviceBase32SecretKeyOptions":{"required":["base32SecretKey"],"type":"object","properties":{"base32SecretKey":{"type":"string","description":"Base32 secret key for TOTP device as alternative to OTP Auth URI or QR code.","example":"EVJWGYZUIVGECOSWGBKGSRTBPE3FQVDQ"},"name":{"type":"string","description":"Name for labeling the TOTP device","nullable":true},"username":{"type":"string","description":"Optional username for the TOTP device","nullable":true},"issuer":{"type":"string","description":"Optional issuer override for the TOTP device","nullable":true},"digits":{"maximum":255,"minimum":0,"type":"integer","description":"Optional number of digits in TOTP code","format":"int32","nullable":true,"default":6},"period":{"type":"integer","description":"Optional period in seconds for TOTP code expiration","format":"int32","nullable":true,"default":30},"algorithm":{"type":"string","description":"Optional algorithm override","nullable":true,"example":"SHA1"}}},"VerifyEmailAddressOptions":{"required":["emailAddress"],"type":"object","properties":{"mailServerDomain":{"type":"string","nullable":true},"emailAddress":{"type":"string"},"senderEmailAddress":{"type":"string","nullable":true},"port":{"type":"integer","format":"int32","nullable":true}},"description":"Options for verifying that an email address exists at a remote mail server."},"EmailVerificationResult":{"required":["domainName","emailAddress","isValid","port"],"type":"object","properties":{"domainName":{"type":"string"},"port":{"type":"integer","format":"int32"},"emailAddress":{"type":"string"},"isValid":{"type":"boolean"},"error":{"type":"string","nullable":true}},"description":"Email verification result. Valid means email address exists according to response from mail server running at the domain and port given."},"IPAddressResult":{"required":["address","hostname"],"type":"object","properties":{"address":{"type":"string"},"hostname":{"type":"string"}},"description":"IP Address look up result for a given domain / hostname"},"DescribeDomainOptions":{"required":["domain"],"type":"object","properties":{"domain":{"minLength":1,"type":"string"}},"description":"Domain record description"},"DescribeMailServerDomainResult":{"required":["domain","mxRecords"],"type":"object","properties":{"mxRecords":{"type":"array","items":{"$ref":"#/components/schemas/NameServerRecord"}},"domain":{"type":"string"},"message":{"type":"string","nullable":true}},"description":"Name Server lookup result"},"NameServerRecord":{"required":["priority","raw","recordType","value"],"type":"object","properties":{"raw":{"type":"string"},"recordType":{"type":"string"},"priority":{"type":"string"},"value":{"type":"string"}},"description":"Name Server Record"},"DNSLookupsOptions":{"required":["lookups"],"type":"object","properties":{"lookups":{"maxItems":10,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/DNSLookupOptions"}}},"description":"Options for multiple DNS queries"},"DNSLookupResults":{"required":["results"],"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/DNSLookupResult"}}},"description":"Results of query on domain name servers"},"SendEmailBodyPart":{"required":["contentBody","contentType"],"type":"object","properties":{"contentType":{"type":"string"},"contentBody":{"type":"string"}},"description":"Email body content parts for multipart mime message. Will override body.","nullable":true},"SendEmailOptions":{"type":"object","properties":{"toContacts":{"type":"array","description":"Optional list of contact IDs to send email to. Manage your contacts via the API or dashboard. When contacts are used the email is sent to each contact separately so they will not see other recipients.","nullable":true,"items":{"type":"string","description":"Optional list of contact IDs to send email to. Manage your contacts via the API or dashboard. When contacts are used the email is sent to each contact separately so they will not see other recipients.","format":"uuid","nullable":true}},"toGroup":{"type":"string","description":"Optional contact group ID to send email to. You can create contacts and contact groups in the API or dashboard and use them for email campaigns. When contact groups are used the email is sent to each contact separately so they will not see other recipients","format":"uuid","nullable":true},"to":{"type":"array","description":"List of destination email addresses. Each email address must be RFC 5322 format. Even single recipients must be in array form. Maximum recipients per email depends on your plan. If you need to send many emails try using contacts or contact groups or use a non standard sendStrategy to ensure that spam filters are not triggered (many recipients in one email can affect your spam rating). Be cautious when sending emails that your recipients exist. High bounce rates (meaning a high percentage of emails cannot be delivered because an address does not exist) can result in account freezing.","nullable":true,"items":{"type":"string","description":"List of destination email addresses. Each email address must be RFC 5322 format. Even single recipients must be in array form. Maximum recipients per email depends on your plan. If you need to send many emails try using contacts or contact groups or use a non standard sendStrategy to ensure that spam filters are not triggered (many recipients in one email can affect your spam rating). Be cautious when sending emails that your recipients exist. High bounce rates (meaning a high percentage of emails cannot be delivered because an address does not exist) can result in account freezing.","nullable":true}},"from":{"type":"string","description":"Optional from address. Email address is RFC 5322 format and may include a display name and email in angle brackets (`my@address.com` or `My inbox <my@address.com>`). If no sender is set the source inbox address will be used for this field. If you set `useInboxName` to `true` the from field will include the inbox name as a display name: `inbox_name <inbox@address.com>`. For this to work use the name field when creating an inbox. Beware of potential spam penalties when setting the from field to an address not used by the inbox. Your emails may get blocked by services if you impersonate another address. To use a custom email addresses use a custom domain. You can create domains with the DomainController. The domain must be verified in the dashboard before it can be used.","nullable":true},"fromName":{"type":"string","description":"Optional from name if not passed with address. If you set `useInboxName` to `true` the from field will include the inbox name as a display name","nullable":true},"cc":{"type":"array","description":"Optional list of cc destination email addresses","nullable":true,"items":{"type":"string","description":"Optional list of cc destination email addresses","nullable":true}},"bcc":{"type":"array","description":"Optional list of bcc destination email addresses","nullable":true,"items":{"type":"string","description":"Optional list of bcc destination email addresses","nullable":true}},"subject":{"type":"string","description":"Optional email subject line","nullable":true},"replyTo":{"type":"string","description":"Optional replyTo header","nullable":true},"customHeaders":{"type":"object","additionalProperties":{"type":"string","description":"Optional custom headers","nullable":true},"description":"Optional custom headers","nullable":true},"body":{"type":"string","description":"Optional contents of email. If body contains HTML then set `isHTML` to true to ensure that email clients render it correctly. You can use moustache template syntax in the email body in conjunction with `toGroup` contact variables or `templateVariables` data. If you need more templating control consider creating a template and using the `template` property instead of the body.","nullable":true},"html":{"type":"boolean","description":"Optional HTML flag to indicate that contents is HTML. Set's a `content-type: text/html` for email. (Deprecated: use `isHTML` instead.)","nullable":true},"isHTML":{"type":"boolean","description":"Optional HTML flag. If true the `content-type` of the email will be `text/html`. Set to true when sending HTML to ensure proper rending on email clients","nullable":true},"charset":{"type":"string","description":"Optional charset","nullable":true},"attachments":{"type":"array","description":"Optional list of attachment IDs to send with this email. You must first upload each attachment separately via method call or dashboard in order to obtain attachment IDs. This way you can reuse attachments with different emails once uploaded. There are several ways to upload that support `multi-part form`, `base64 file encoding`, and octet stream binary uploads. See the `UploadController` for available methods. ","nullable":true,"items":{"type":"string","description":"Optional list of attachment IDs to send with this email. You must first upload each attachment separately via method call or dashboard in order to obtain attachment IDs. This way you can reuse attachments with different emails once uploaded. There are several ways to upload that support `multi-part form`, `base64 file encoding`, and octet stream binary uploads. See the `UploadController` for available methods. ","nullable":true}},"templateVariables":{"type":"object","additionalProperties":{"type":"object","description":"Optional map of template variables. Will replace moustache syntax variables in subject and body or template with the associated values if found.","nullable":true},"description":"Optional map of template variables. Will replace moustache syntax variables in subject and body or template with the associated values if found.","nullable":true},"template":{"type":"string","description":"Optional template ID to use for body. Will override body if provided. When using a template make sure you pass the corresponding map of `templateVariables`. You can find which variables are needed by fetching the template itself or viewing it in the dashboard.","format":"uuid","nullable":true},"sendStrategy":{"type":"string","description":"How an email should be sent based on its recipients","nullable":true,"enum":["SINGLE_MESSAGE"]},"useInboxName":{"type":"boolean","description":"Use name of inbox as sender email address name. Will construct RFC 5322 email address with `Inbox name <inbox@address.com>` if the inbox has a name.","nullable":true},"addTrackingPixel":{"type":"boolean","description":"Add tracking pixel to email","nullable":true},"filterBouncedRecipients":{"type":"boolean","description":"Filter recipients to remove any bounced recipients from to, bcc, and cc before sending","nullable":true},"validateEmailAddresses":{"type":"string","description":"Validate recipient email addresses before sending","nullable":true,"enum":["VALIDATE_FILTER_REMOVE_INVALID","VALIDATE_ERROR_IF_INVALID","NO_VALIDATION"]},"ignoreEmptyRecipients":{"type":"boolean","description":"Ignore empty recipients after validation removes all recipients as invalid and fail silently","nullable":true},"isXAmpHtml":{"type":"boolean","description":"Is content AMP4EMAIL compatible. If set will send as x-amp-html part.","nullable":true},"bodyParts":{"type":"array","description":"Email body content parts for multipart mime message. Will override body.","nullable":true,"items":{"$ref":"#/components/schemas/SendEmailBodyPart"}}},"description":"Options for the email to be sent"},"ScheduledJobDto":{"required":["createdAt","groupId","id","inboxId","jobId","sendAtTimestamp","status","triggerId","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"inboxId":{"type":"string","format":"uuid"},"jobId":{"type":"string"},"groupId":{"type":"string"},"triggerId":{"type":"string"},"status":{"type":"string","enum":["SUBMITTED","COMPLETED","ABORTED","FAILED","CANCELLED"]},"sendAtTimestamp":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"SendSMTPEnvelopeOptions":{"required":["data","mailFrom","rcptTo"],"type":"object","properties":{"rcptTo":{"type":"array","items":{"type":"string"}},"mailFrom":{"type":"string"},"data":{"type":"string"}},"description":"Options for the email envelope"},"PlusAddressDto":{"required":["createdAt","fullAddress","id","inboxId","plusAddress","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"plusAddress":{"type":"string"},"fullAddress":{"type":"string"},"userId":{"type":"string","format":"uuid"},"inboxId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"CreateInboxDto":{"type":"object","properties":{"emailAddress":{"type":"string","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.","nullable":true},"domainName":{"type":"string","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.","nullable":true},"domainId":{"type":"string","description":"ID of custom domain to use for email address.","format":"uuid","nullable":true},"name":{"type":"string","description":"Optional name of the inbox. Displayed in the dashboard for easier search and used as the sender name when sending emails.","nullable":true},"description":{"type":"string","description":"Optional description of the inbox for labelling purposes. Is shown in the dashboard and can be used with","nullable":true},"useDomainPool":{"type":"boolean","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.","nullable":true},"tags":{"type":"array","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.","nullable":true,"items":{"type":"string","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.","nullable":true}},"expiresAt":{"type":"string","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.","format":"date-time","nullable":true},"favourite":{"type":"boolean","description":"Is the inbox a favorite. Marking an inbox as a favorite is typically done in the dashboard for quick access or filtering","nullable":true},"expiresIn":{"type":"integer","description":"Number of milliseconds that inbox should exist for","format":"int64","nullable":true},"allowTeamAccess":{"type":"boolean","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.","nullable":true,"deprecated":true},"inboxType":{"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).","nullable":true,"enum":["HTTP_INBOX","SMTP_INBOX"]},"virtualInbox":{"type":"boolean","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.","nullable":true},"useShortAddress":{"type":"boolean","description":"Use a shorter email address under 31 characters","nullable":true},"prefix":{"type":"string","description":"Prefix to add before the email address for easier labelling or identification.","nullable":true}},"description":"Options for creating an inbox. An inbox has a real email address that can send and receive emails. Inboxes can be permanent or expire at a given time. Inboxes are either `SMTP` or `HTTP` mailboxes. `SMTP` inboxes are processed by a mail server running at `mailslurp.mx` while `HTTP` inboxes are processed by AWS SES backed mailservers. An inbox email address is randomly assigned by default ending in either `mailslurp.com` or (if `useDomainPool` is enabled) ending in a similar domain such as `mailslurp.xyz` (selected at random). To specify an address use a custom domain: either pass the `emailAddress` options with `<your-recipient>@<your-domain>`. To create a randomized address for your domain set the `domainName` to the domain you have verified or pass the `domainId`. Virtual inboxes prevent outbound sending and instead trap mail.","externalDocs":{"url":"https://www.mailslurp.com/guides/creating-inboxes/"}},"SearchInboxesOptions":{"type":"object","properties":{"pageIndex":{"type":"integer","description":"Optional page index in list pagination","format":"int32","nullable":true},"pageSize":{"type":"integer","description":"Optional page size in list pagination","format":"int32","nullable":true},"sortDirection":{"type":"string","description":"Optional createdAt sort direction ASC or DESC","nullable":true,"enum":["ASC","DESC"]},"favourite":{"type":"boolean","description":"Optionally filter results for favourites only","nullable":true},"search":{"type":"string","description":"Optionally filter by search words partial matching name and email address","nullable":true},"tag":{"type":"string","description":"Optionally filter by tags. Will return inboxes that include given tags","nullable":true},"since":{"type":"string","description":"Optional filter by created after given date time","format":"date-time","nullable":true},"before":{"type":"string","description":"Optional filter by created before given date time","format":"date-time","nullable":true},"inboxType":{"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).","nullable":true,"enum":["HTTP_INBOX","SMTP_INBOX"]},"inboxFunction":{"type":"string","description":"Optional filter by inbox function","nullable":true,"enum":["ALIAS","THREAD","CATCH_ALL","CONNECTOR","ACCOUNT","GUEST","OAUTH_CONNECTION_GMAIL"]},"domainId":{"type":"string","description":"Optional domain ID filter","format":"uuid","nullable":true}}},"InboxPreview":{"required":["createdAt","emailAddress","favourite","id","teamAccess","userId","virtualInbox"],"type":"object","properties":{"id":{"type":"string","description":"ID of the inbox. The ID is a UUID-V4 format string. Use the inboxId for calls to Inbox and Email Controller endpoints. See the emailAddress property for the email address or the inbox. To get emails in an inbox use the WaitFor and Inbox Controller methods `waitForLatestEmail` and `getEmails` methods respectively. Inboxes can be used with aliases to forward emails automatically.","format":"uuid"},"domainId":{"type":"string","description":"ID of custom domain used by the inbox if any","format":"uuid","nullable":true},"emailAddress":{"type":"string","description":"The inbox's email address. Inbox projections and previews may not include the email address. To view the email address fetch the inbox entity directly. Send an email to this address and the inbox will receive and store it for you. Note the email address in MailSlurp match characters exactly and are case sensitive so `+123` additions are considered different addresses. To retrieve the email use the Inbox and Email Controller endpoints with the inbox ID.","nullable":true},"createdAt":{"type":"string","description":"When the inbox was created. Time stamps are in ISO DateTime Format `yyyy-MM-dd'T'HH:mm:ss.SSSXXX` e.g. `2000-10-31T01:30:00.000-05:00`.","format":"date-time"},"favourite":{"type":"boolean","description":"Is the inbox a favorite inbox. Make an inbox a favorite is typically done in the dashboard for quick access or filtering"},"name":{"type":"string","description":"Name of the inbox and used as the sender name when sending emails .Displayed in the dashboard for easier search","nullable":true},"tags":{"type":"array","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.","nullable":true,"deprecated":true,"items":{"type":"string","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.","nullable":true}},"teamAccess":{"type":"boolean","description":"Does inbox permit team access for organization team members. If so team users can use inbox and emails associated with it. See the team access guide at https://www.mailslurp.com/guides/team-email-account-sharing/"},"inboxType":{"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).","nullable":true,"enum":["HTTP_INBOX","SMTP_INBOX"]},"virtualInbox":{"type":"boolean","description":"Virtual inbox can receive email but will not send emails to real recipients. Will save sent email record but never send an actual email. Perfect for testing mail server actions."},"expiresAt":{"type":"string","description":"Inbox expiration time. When, if ever, the inbox should expire and be deleted. If null then this inbox is permanent and the emails in it won't be deleted. This is the default behavior unless expiration date is set. If an expiration date is set and the time is reached MailSlurp will expire the inbox and move it to an expired inbox entity. You can still access the emails belonging to it but it can no longer send or receive email.","format":"date-time","nullable":true},"functionsAs":{"type":"string","description":"Inbox function if used as a primitive for another system.","nullable":true,"enum":["ALIAS","THREAD","CATCH_ALL","CONNECTOR","ACCOUNT","GUEST","OAUTH_CONNECTION_GMAIL"]},"userId":{"type":"string","description":"ID of user that inbox belongs to","format":"uuid","nullable":true},"description":{"type":"string","description":"Description of an inbox for labelling and searching purposes","nullable":true},"accountRegion":{"type":"string","description":"Region of the inbox","nullable":true,"enum":["US_WEST_2_ACCOUNT_STAGING","US_EAST_1_ACCOUNT_STAGING","EU_WEST_1_ACCOUNT_STAGING","US_WEST_2_ACCOUNT_SES_1","EU_WEST_1_ACCOUNT_SES_1","US_WEST_2_ACCOUNT_SES_2","EU_WEST_1_ACCOUNT_SES_2","US_WEST_2_ACCOUNT_BYTEWISE","EU_WEST_1_ACCOUNT_BYTEWISE","US_WEST_2","EU_WEST_1","US_EAST_1"]}},"description":"Inbox data preview element."},"PageInboxProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/InboxPreview"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated inbox results. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"PageableObject":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"paged":{"type":"boolean"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"unpaged":{"type":"boolean"}}},"SortObject":{"type":"object","properties":{"empty":{"type":"boolean"},"sorted":{"type":"boolean"},"unsorted":{"type":"boolean"}}},"EmailAvailableResult":{"required":["available"],"type":"object","properties":{"available":{"type":"boolean"}}},"ImapUpdateFlagsOptions":{"required":["operation"],"type":"object","properties":{"operation":{"type":"string"},"flags":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"uidSet":{"type":"string","nullable":true},"seqSet":{"type":"string","nullable":true}}},"ImapServerStatusOptions":{"type":"object","properties":{"name":{"type":"string","nullable":true},"statusItems":{"type":"array","nullable":true,"items":{"type":"string","nullable":true,"enum":["MESSAGES","RECENT","UIDNEXT","UIDVALIDITY","UNSEEN","APPENDLIMIT"]}}}},"ImapMailboxStatus":{"required":["flags","items","messages","name","permanentFlags","readOnly","recent","uidNext","uidValidity","unseen","unseenSeqNum"],"type":"object","properties":{"name":{"type":"string","description":"The mailbox name."},"readOnly":{"type":"boolean","description":"True if the mailbox is open in read-only mode."},"items":{"type":"object","description":"Results map","nullable":true},"flags":{"type":"array","description":"The mailbox flags.","nullable":true,"items":{"type":"string","description":"The mailbox flags.","nullable":true}},"permanentFlags":{"type":"array","description":"The mailbox permanent flags.","nullable":true,"items":{"type":"string","description":"The mailbox permanent flags.","nullable":true}},"unseenSeqNum":{"type":"integer","description":"The sequence number of the first unseen message in the mailbox.","format":"int64"},"messages":{"type":"integer","description":"The number of messages in this mailbox.","format":"int32"},"recent":{"type":"integer","description":"The number of messages not seen since the last time the mailbox was opened.","format":"int32"},"unseen":{"type":"integer","description":"The number of unread messages.","format":"int32"},"uidNext":{"type":"integer","description":"The next UID.","format":"int64"},"uidValidity":{"type":"integer","description":"Together with a UID, it is a unique identifier for a message. Must be greater than or equal to 1.","format":"int32"},"appendLimit":{"type":"integer","description":"Per-mailbox limit of message size. Set only if server supports the APPENDLIMIT extension","format":"int32","nullable":true}},"nullable":true},"ImapServerStatusResult":{"type":"object","properties":{"result":{"$ref":"#/components/schemas/ImapMailboxStatus"}}},"ImapServerSearchOptions":{"type":"object","properties":{"seqNum":{"type":"string","nullable":true},"uid":{"type":"string","nullable":true},"since":{"type":"string","format":"date-time","nullable":true},"before":{"type":"string","format":"date-time","nullable":true},"sentSince":{"type":"string","format":"date-time","nullable":true},"sentBefore":{"type":"string","format":"date-time","nullable":true},"header":{"type":"object","additionalProperties":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"nullable":true},"body":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"text":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"withFlags":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"withoutFlags":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}}},"description":"IMAP server search options"},"ImapEmailProjection":{"required":["createdAt","id","seqNum","uid"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"},"read":{"type":"boolean","nullable":true},"uid":{"type":"integer","format":"int64"},"seqNum":{"type":"integer","format":"int64"}}},"ImapServerSearchResult":{"required":["results"],"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/ImapEmailProjection"}}}},"ImapServerMailboxResult":{"required":["success"],"type":"object","properties":{"message":{"type":"string","nullable":true},"success":{"type":"boolean"}}},"ImapServerListOptions":{"type":"object","properties":{"uidSet":{"type":"string","nullable":true},"seqSet":{"type":"string","nullable":true}}},"ImapServerListResult":{"required":["results"],"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/ImapEmailProjection"}}}},"ImapServerGetResult":{"type":"object","properties":{"result":{"$ref":"#/components/schemas/ImapEmailProjection"}}},"ImapServerFetchItem":{"required":["content","id","read","seqNum","uid"],"type":"object","properties":{"content":{"type":"string","description":"Content of the email"},"id":{"type":"string","description":"ID of the email","format":"uuid"},"uid":{"type":"integer","description":"UID of the email","format":"int64"},"seqNum":{"type":"integer","description":"Sequence number of the email","format":"int64"},"read":{"type":"boolean","description":"Read status of the email"}},"description":"IMAP fetch content in raw format","nullable":true},"ImapServerFetchResult":{"type":"object","properties":{"result":{"$ref":"#/components/schemas/ImapServerFetchItem"}},"description":"IMAP fetch email result"},"CreatePortalOptions":{"type":"object","properties":{"name":{"type":"string"},"domainId":{"type":"string","format":"uuid"},"description":{"type":"string"},"linkHelp":{"type":"string"}}},"GuestPortalDto":{"required":["createdAt","id","loginUrl","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"domainId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string"},"linkHelp":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"loginUrl":{"type":"string"}}},"CreatePortalUserOptions":{"type":"object","properties":{"password":{"type":"string"},"name":{"type":"string"},"username":{"type":"string"},"skipInboxCreation":{"type":"boolean"},"inboxId":{"type":"string","format":"uuid"},"createInboxOptions":{"$ref":"#/components/schemas/CreateInboxDto"}}},"GuestPortalUserCreateDto":{"required":["guest","password"],"type":"object","properties":{"guest":{"$ref":"#/components/schemas/GuestPortalUserDto"},"password":{"type":"string"}}},"GuestPortalUserDto":{"required":["createdAt","id","loginUrl","portalId","updatedAt","userId","username"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"portalId":{"type":"string","format":"uuid"},"name":{"type":"string"},"username":{"type":"string"},"emailAddress":{"type":"string"},"inboxId":{"type":"string","format":"uuid"},"loginUrl":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"CreateGroupOptions":{"required":["name"],"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string","nullable":true}},"description":"Create contact group options"},"ExportOptions":{"required":["outputFormat"],"type":"object","properties":{"outputFormat":{"type":"string","enum":["CSV_DEFAULT","CSV_EXCEL"]},"excludePreviouslyExported":{"type":"boolean","nullable":true},"createdEarliestTime":{"type":"string","format":"date-time","nullable":true},"createdOldestTime":{"type":"string","format":"date-time","nullable":true},"filter":{"type":"string","nullable":true},"listSeparatorToken":{"type":"string","nullable":true}},"description":"Options for exporting user data"},"ExportLink":{"required":["downloadLink"],"type":"object","properties":{"downloadLink":{"type":"string"}},"description":"Export download link"},"ValidationDto":{"required":["emailId","html"],"type":"object","properties":{"emailId":{"type":"string","description":"ID of the email validated","format":"uuid"},"html":{"$ref":"#/components/schemas/HTMLValidationResult"}},"description":"Response object for email validation operation"},"GetEmailScreenshotOptions":{"type":"object","properties":{"height":{"type":"integer","description":"Window height in pixels","format":"int32","nullable":true},"width":{"type":"integer","description":"Window width in pixels","format":"int32","nullable":true}},"description":"Options taking a screenshot capture of a rendered email"},"EmailScreenshotResult":{"required":["base64EncodedImage"],"type":"object","properties":{"base64EncodedImage":{"type":"string"}}},"ImapFlagOperationOptions":{"required":["flagOperation","flags"],"type":"object","properties":{"flagOperation":{"type":"string","enum":["SET_FLAGS","ADD_FLAGS","REMOVE_FLAGS"]},"flags":{"type":"array","items":{"type":"string"}}},"description":"IMAP operation flags"},"ForwardEmailOptions":{"required":["to"],"type":"object","properties":{"to":{"minItems":1,"type":"array","description":"To recipients for forwarded email","items":{"type":"string","description":"To recipients for forwarded email"}},"subject":{"type":"string","description":"Subject for forwarded email","nullable":true},"cc":{"type":"array","description":"Optional cc recipients","nullable":true,"items":{"type":"string","description":"Optional cc recipients","nullable":true}},"bcc":{"type":"array","description":"Optional bcc recipients","nullable":true,"items":{"type":"string","description":"Optional bcc recipients","nullable":true}},"from":{"type":"string","description":"Optional from override","nullable":true},"useInboxName":{"type":"boolean","description":"Optionally use inbox name as display name for sender email address","nullable":true},"filterBouncedRecipients":{"type":"boolean","description":"Filter recipients to remove any bounced recipients from to, bcc, and cc before sending","nullable":true}},"description":"Options for forwarding an email"},"ContentMatchOptions":{"required":["pattern"],"type":"object","properties":{"pattern":{"type":"string","description":"Java style regex pattern. Do not include the typical `/` at start or end of regex in some languages. Given an example `your code is: 12345` the pattern to extract match looks like `code is: (\\d{6})`. This will return an array of matches with the first matching the entire pattern and the subsequent matching the groups: `['code is: 123456', '123456']` See https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html for more information of available patterns."}},"description":"Options for matching content using regex patterns based on Java Pattern syntax"},"EmailContentMatchResult":{"required":["matches","pattern"],"type":"object","properties":{"pattern":{"type":"string"},"matches":{"type":"array","items":{"type":"string"}}},"description":"Matches for the given pattern"},"CheckEmailBodyResults":{"required":["hasIssues","imageIssues","linkIssues","spellingIssues"],"type":"object","properties":{"hasIssues":{"type":"boolean"},"linkIssues":{"type":"array","items":{"$ref":"#/components/schemas/LinkIssue"}},"imageIssues":{"type":"array","items":{"$ref":"#/components/schemas/ImageIssue"}},"spellingIssues":{"type":"array","items":{"$ref":"#/components/schemas/SpellingIssue"}}}},"ImageIssue":{"required":["message","severity","url"],"type":"object","properties":{"url":{"type":"string"},"responseStatus":{"type":"integer","format":"int32"},"severity":{"type":"string","enum":["Warning","Error"]},"message":{"type":"string"}}},"LinkIssue":{"required":["message","severity","url"],"type":"object","properties":{"url":{"type":"string"},"responseStatus":{"type":"integer","format":"int32"},"severity":{"type":"string","enum":["Warning","Error"]},"message":{"type":"string"}}},"SpellingIssue":{"required":["group","message","severity","suggestion"],"type":"object","properties":{"group":{"type":"string"},"suggestion":{"type":"string"},"severity":{"type":"string","enum":["Warning","Error"]},"message":{"type":"string"}}},"CheckEmailBodyFeatureSupportResults":{"required":["result"],"type":"object","properties":{"result":{"$ref":"#/components/schemas/EmailFeatureSupportResult"}}},"EmailAuditDto":{"required":["analysis","createdAt","id","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"emailId":{"type":"string","format":"uuid","nullable":true},"fromAddress":{"type":"string","nullable":true},"recipient":{"type":"string","nullable":true},"subject":{"type":"string","nullable":true},"analysis":{"$ref":"#/components/schemas/EmailAuditAnalysisResult"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"description":"Persisted email audit result"},"SearchEmailsOptions":{"type":"object","properties":{"inboxIds":{"type":"array","description":"Optional inbox ids to filter by. Can be repeated. By default will use all inboxes belonging to your account.","items":{"type":"string","description":"Optional inbox ids to filter by. Can be repeated. By default will use all inboxes belonging to your account.","format":"uuid"}},"pageIndex":{"type":"integer","description":"Optional page index in email list pagination","format":"int32"},"pageSize":{"maximum":100,"type":"integer","description":"Optional page size in email list pagination. Maximum size is 100. Use page index and sort to page through larger results","format":"int32"},"sortDirection":{"type":"string","description":"Optional createdAt sort direction ASC or DESC","enum":["ASC","DESC"]},"unreadOnly":{"type":"boolean","description":"Optional filter for unread emails only. All emails are considered unread until they are viewed in the dashboard or requested directly"},"searchFilter":{"type":"string","description":"Optional search filter. Searches email recipients, sender, subject, email address and ID. Does not search email body"},"since":{"type":"string","description":"Optional filter emails received after given date time","format":"date-time"},"before":{"type":"string","description":"Optional filter emails received before given date time","format":"date-time"}}},"EmailProjection":{"required":["createdAt","from","id","inboxId","read","teamAccess","to"],"type":"object","properties":{"subject":{"type":"string","nullable":true},"id":{"type":"string","format":"uuid"},"threadId":{"type":"string","format":"uuid","nullable":true},"from":{"type":"string","nullable":true},"sender":{"$ref":"#/components/schemas/Sender"},"recipients":{"$ref":"#/components/schemas/EmailRecipients"},"inboxId":{"type":"string","format":"uuid"},"attachments":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"sizeBytes":{"type":"integer","format":"int64","nullable":true},"createdAt":{"type":"string","format":"date-time"},"to":{"type":"array","items":{"type":"string"}},"cc":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"bcc":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"messageId":{"type":"string","nullable":true},"favourite":{"type":"boolean","nullable":true},"domainId":{"type":"string","format":"uuid","nullable":true},"plusAddress":{"type":"string","format":"uuid","nullable":true},"imapUid":{"type":"integer","format":"int64","nullable":true},"inReplyTo":{"type":"string","nullable":true},"read":{"type":"boolean"},"bodyExcerpt":{"type":"string","nullable":true},"textExcerpt":{"type":"string","nullable":true},"bodyPartContentTypes":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"bodyMD5Hash":{"type":"string","nullable":true},"teamAccess":{"type":"boolean"}},"description":"A compact representation of a full email. Used in list endpoints to keep response sizes low. Body and attachments are not included. To get all fields of the email use the `getEmail` method with the email projection's ID. See `EmailDto` for documentation on projection properties."},"PageEmailProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EmailProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated email projection results. EmailProjections and EmailPreviews are essentially the same but have legacy naming issues. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full email entity use the projection ID with individual method calls. For emails there are several methods for fetching message bodies and attachments."},"CancelDevicePreviewRunOptions":{"type":"object","properties":{"reason":{"type":"string"}}},"CancelDevicePreviewRunResult":{"required":["remoteCancelAccepted","remoteCancelAttempted","run"],"type":"object","properties":{"run":{"$ref":"#/components/schemas/DevicePreviewRunDto"},"remoteCancelAttempted":{"type":"boolean"},"remoteCancelAccepted":{"type":"boolean"},"warning":{"type":"string"}}},"CreateDevicePreviewFeedbackOptions":{"required":["category","source"],"type":"object","properties":{"source":{"type":"string","enum":["API_SERVICE","LAB_USER","END_USER","SYSTEM"]},"category":{"type":"string","enum":["GENERAL","RUN_QUALITY","SCREENSHOT_QUALITY","PROVIDER_ISSUE","BUG_REPORT","FEATURE_REQUEST","NOTE"]},"status":{"type":"string","enum":["OPEN","ACKNOWLEDGED","RESOLVED","DISMISSED"]},"rating":{"type":"integer","format":"int32"},"runId":{"type":"string","format":"uuid"},"targetId":{"type":"string","format":"uuid"},"screenshotId":{"type":"string","format":"uuid"},"provider":{"type":"string","enum":["GMAIL","OUTLOOK","YAHOO"]},"title":{"type":"string"},"comment":{"type":"string"},"internalNote":{"type":"string"},"sessionId":{"type":"string"},"liveViewUrl":{"type":"string"},"metadata":{"type":"object","additionalProperties":{"type":"string"}}}},"CheckEmailClientSupportOptions":{"required":["emailBody"],"type":"object","properties":{"emailBody":{"type":"string"}},"description":"Options for the email to be validated"},"CheckEmailClientSupportResults":{"required":["result"],"type":"object","properties":{"result":{"$ref":"#/components/schemas/EmailFeatureSupportResult"}}},"CanSendEmailResults":{"required":["isSendingPermitted"],"type":"object","properties":{"isSendingPermitted":{"type":"boolean"},"message":{"type":"string"}}},"ValidateEmailAddressListOptions":{"required":["emailAddressList"],"type":"object","properties":{"emailAddressList":{"maxItems":50,"minItems":1,"type":"array","items":{"type":"string"}},"ignoreOldResults":{"type":"boolean","nullable":true}},"description":"Options for validating a list of email addresses"},"ValidateEmailAddressListResult":{"required":["invalidEmailAddresses","resultMapEmailAddressIsValid","validEmailAddresses"],"type":"object","properties":{"validEmailAddresses":{"type":"array","items":{"type":"string"}},"invalidEmailAddresses":{"type":"array","items":{"type":"string"}},"resultMapEmailAddressIsValid":{"type":"object","additionalProperties":{"type":"boolean"}}},"description":"Result of validating a list of email addresses"},"CreateEmailAuditOptions":{"type":"object","properties":{"fromAddress":{"maxLength":320,"minLength":0,"type":"string","description":"Optional sender address context","nullable":true,"example":"sender@example.com"},"recipient":{"maxLength":320,"minLength":0,"type":"string","description":"Optional recipient context","nullable":true,"example":"inbox@example.net"},"subject":{"maxLength":998,"minLength":0,"type":"string","description":"Optional subject line context","nullable":true},"htmlBody":{"maxLength":200000,"minLength":0,"type":"string","description":"Optional HTML email body","nullable":true},"textBody":{"maxLength":200000,"minLength":0,"type":"string","description":"Optional text email body","nullable":true},"emailAnalysis":{"$ref":"#/components/schemas/EmailAnalysis"},"hasAttachments":{"type":"boolean","description":"Whether the source email included attachments","nullable":true}},"description":"Authenticated saved email audit request"},"CreateDomainOptions":{"required":["domain"],"type":"object","properties":{"domain":{"minLength":1,"type":"string","description":"The top level domain you wish to use with MailSlurp. Do not specify subdomain just the top level. So `test.com` covers all subdomains such as `mail.test.com`. Don't include a protocol such as `http://`. Once added you must complete the verification steps by adding the returned records to your domain."},"description":{"type":"string","description":"Optional description of the domain.","nullable":true},"createdCatchAllInbox":{"type":"boolean","description":"Whether to create a catch all inbox for the domain. Any email sent to an address using your domain that cannot be matched to an existing inbox you created with the domain will be routed to the created catch all inbox. You can access emails using the regular methods on this inbox ID.","nullable":true},"domainType":{"type":"string","description":"Type of domain. Dictates type of inbox that can be created with domain. HTTP means inboxes are processed using SES while SMTP inboxes use a custom SMTP mail server. SMTP does not support sending so use HTTP for sending emails.","nullable":true,"enum":["HTTP_INBOX","SMTP_DOMAIN"]}},"description":"Options for creating a domain to use with MailSlurp. You must have ownership access to this domain in order to verify it. Domains will not function correctly until the domain has been verified. See https://www.mailslurp.com/guides/custom-domains for help. Domains can be either `HTTP` or `SMTP` type. The type of domain determines which inboxes can be used with it. `SMTP` inboxes use a mail server running `mxslurp.click` while `HTTP` inboxes are handled by AWS SES."},"CreateDomainMonitorOptions":{"required":["domain"],"type":"object","properties":{"domain":{"minLength":1,"type":"string","example":"example.com"},"name":{"type":"string","description":"Optional display name","nullable":true,"example":"Primary Domain"},"intervalSeconds":{"maximum":604800,"minimum":60,"type":"integer","description":"Check interval in seconds","format":"int64","nullable":true,"example":300},"enabled":{"type":"boolean","description":"Whether scheduled monitor runs are enabled (legacy alias for schedulingEnabled)","nullable":true},"schedulingEnabled":{"type":"boolean","description":"Whether scheduled monitor runs are enabled. Direct run-now is always permitted.","nullable":true}},"description":"Create options for a domain monitor"},"DomainMonitorRunDto":{"required":["createdAt","dmarcEnforced","dmarcOk","domain","failingChecks","healthScore","id","insights","monitorId","mxOk","passingChecks","spfOk","status","totalChecks","triggerSource","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"monitorId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"domain":{"type":"string"},"status":{"type":"string","enum":["HEALTHY","DEGRADED","CRITICAL","FAILED"]},"triggerSource":{"type":"string","enum":["API","USER_SCHEDULE","CRON","SCHEDULER"]},"healthScore":{"type":"integer","format":"int32"},"totalChecks":{"type":"integer","format":"int32"},"passingChecks":{"type":"integer","format":"int32"},"failingChecks":{"type":"integer","format":"int32"},"spfOk":{"type":"boolean"},"dmarcOk":{"type":"boolean"},"dmarcEnforced":{"type":"boolean"},"mxOk":{"type":"boolean"},"insights":{"type":"array","items":{"type":"string"}},"errorMessage":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"DomainMonitorRunNowResult":{"required":["monitor","run"],"type":"object","properties":{"monitor":{"$ref":"#/components/schemas/DomainMonitorDto"},"run":{"$ref":"#/components/schemas/DomainMonitorRunDto"}}},"CreateDomainMonitorAlertSinkOptions":{"required":["target","type"],"type":"object","properties":{"type":{"type":"string","enum":["EMAIL","WEBHOOK","SLACK","TEAMS"]},"target":{"minLength":1,"type":"string"},"severityThreshold":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"enabled":{"type":"boolean"}}},"DomainMonitorAlertSinkDto":{"required":["createdAt","enabled","id","monitorId","severityThreshold","target","type","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"monitorId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["EMAIL","WEBHOOK","SLACK","TEAMS"]},"target":{"type":"string"},"severityThreshold":{"type":"string","enum":["LOW","MEDIUM","HIGH","CRITICAL"]},"enabled":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"DomainMonitorRunDueResult":{"required":["executedAt","requestedMaxRuns","runCount","triggerSource"],"type":"object","properties":{"triggerSource":{"type":"string","enum":["API","USER_SCHEDULE","CRON","SCHEDULER"]},"runCount":{"type":"integer","format":"int32"},"requestedMaxRuns":{"type":"integer","format":"int32"},"executedAt":{"type":"string","format":"date-time"}}},"CreateContactOptions":{"type":"object","properties":{"firstName":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"company":{"type":"string","nullable":true},"emailAddresses":{"maxItems":1,"minItems":0,"type":"array","description":"Set of email addresses belonging to the contact","nullable":true,"items":{"type":"string","description":"Set of email addresses belonging to the contact","nullable":true}},"tags":{"type":"array","description":"Tags that can be used to search and group contacts","nullable":true,"items":{"type":"string","description":"Tags that can be used to search and group contacts","nullable":true}},"metaData":{"$ref":"#/components/schemas/JsonNode"},"optOut":{"type":"boolean","description":"Has the user explicitly or implicitly opted out of being contacted? If so MailSlurp will ignore them in all actions.","nullable":true},"groupId":{"type":"string","description":"Group IDs that contact belongs to","format":"uuid","nullable":true},"verifyEmailAddresses":{"type":"boolean","description":"Whether to validate contact email address exists","nullable":true}},"description":"Options for creating an email contact in address book"},"OptInConsentOptions":{"required":["emailAddress"],"type":"object","properties":{"emailAddress":{"type":"string"},"companyName":{"type":"string"},"sendOptInOptions":{"$ref":"#/components/schemas/SendOptInConsentEmailOptions"}}},"SendOptInConsentEmailOptions":{"required":["subject","templateHtml"],"type":"object","properties":{"templateHtml":{"type":"string"},"subject":{"type":"string"},"senderInbox":{"type":"string","format":"uuid"}}},"OptInConsentSendResult":{"required":["sent"],"type":"object","properties":{"sent":{"type":"boolean"}}},"ConnectorSyncRequestResult":{"type":"object","properties":{"syncResult":{"$ref":"#/components/schemas/ConnectorSyncResult"},"exception":{"type":"string"},"eventId":{"type":"string","format":"uuid"}}},"ConnectorSyncResult":{"required":["emailSyncCount"],"type":"object","properties":{"emailSyncCount":{"type":"integer","format":"int32"},"logs":{"type":"array","items":{"type":"string"}},"emailIds":{"type":"array","items":{"type":"string","format":"uuid"}}}},"CreateConnectorSyncSettingsOptions":{"type":"object","properties":{"syncEnabled":{"type":"boolean","description":"Enable automatic background sync","nullable":true},"syncScheduleType":{"type":"string","description":"Sync schedule type","nullable":true,"enum":["INTERVAL"]},"syncInterval":{"type":"integer","description":"Sync interval in minutes","format":"int32","nullable":true}},"description":"Options for creating automatic syncing between an inbox connection and an external mail provider"},"ConnectorSyncSettingsDto":{"required":["connectorId","id","syncEnabled","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"connectorId":{"type":"string","format":"uuid"},"syncEnabled":{"type":"boolean"},"syncScheduleType":{"type":"string","nullable":true,"enum":["INTERVAL"]},"syncInterval":{"type":"integer","format":"int32","nullable":true}}},"CreateConnectorSmtpConnectionOptions":{"required":["smtpHost"],"type":"object","properties":{"enabled":{"type":"boolean","nullable":true},"smtpHost":{"type":"string"},"smtpPort":{"type":"integer","format":"int32","nullable":true},"smtpSsl":{"type":"boolean","nullable":true},"smtpUsername":{"type":"string","nullable":true},"smtpPassword":{"type":"string","nullable":true},"smtpMechanisms":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"startTls":{"type":"boolean","nullable":true},"localHostName":{"type":"string","nullable":true},"proxyHost":{"type":"string","nullable":true},"proxyPort":{"type":"integer","format":"int32","nullable":true},"proxyEnabled":{"type":"boolean","nullable":true},"sslTrust":{"type":"string","nullable":true},"sslProtocols":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}}}},"ConnectorSmtpConnectionDto":{"required":["connectorId","createdAt","id","smtpHost"],"type":"object","properties":{"connectorId":{"type":"string","format":"uuid"},"smtpHost":{"type":"string"},"smtpPort":{"type":"integer","format":"int32","nullable":true},"smtpUsername":{"type":"string","nullable":true},"smtpPassword":{"type":"string","nullable":true},"smtpSsl":{"type":"boolean","nullable":true},"startTls":{"type":"boolean","nullable":true},"smtpMechanisms":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"localHostName":{"type":"string","nullable":true},"proxyHost":{"type":"string","nullable":true},"proxyPort":{"type":"integer","format":"int32","nullable":true},"proxyEnabled":{"type":"boolean","nullable":true},"enabled":{"type":"boolean","nullable":true},"sslTrust":{"type":"string","nullable":true},"sslProtocols":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"createdAt":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid"}}},"ConnectorSmtpConnectionTestResult":{"required":["success"],"type":"object","properties":{"error":{"type":"string"},"success":{"type":"boolean"},"message":{"type":"string"},"logs":{"type":"array","items":{"type":"string"}}}},"CreateConnectorImapConnectionOptions":{"required":["imapHost"],"type":"object","properties":{"imapSsl":{"type":"boolean","nullable":true},"imapUsername":{"type":"string","nullable":true},"imapPassword":{"type":"string","nullable":true},"selectFolder":{"type":"string","description":"Optional folder to select during IMAP connection","nullable":true},"searchTerms":{"type":"string","nullable":true},"imapPort":{"type":"integer","description":"IMAP server port","format":"int32","nullable":true},"imapHost":{"type":"string","description":"IMAP server host"},"enabled":{"type":"boolean","description":"IMAP server enabled","nullable":true},"startTls":{"type":"boolean","nullable":true},"proxyEnabled":{"type":"boolean","nullable":true},"proxyPort":{"type":"integer","format":"int32","nullable":true},"proxyHost":{"type":"string","nullable":true},"localHostName":{"type":"string","nullable":true},"mechanisms":{"type":"array","description":"List of IMAP mechanisms","nullable":true,"items":{"type":"string","description":"List of IMAP mechanisms","nullable":true}},"sslTrust":{"type":"string","nullable":true},"sslProtocols":{"type":"array","description":"List of SSL protocols","nullable":true,"items":{"type":"string","description":"List of SSL protocols","nullable":true}}},"description":"Options for IMAP connection to external email inbox. Allows syncing emails via IMAP."},"ConnectorImapConnectionDto":{"required":["connectorId","createdAt","id","imapHost"],"type":"object","properties":{"connectorId":{"type":"string","format":"uuid"},"imapHost":{"type":"string"},"imapPort":{"type":"integer","format":"int32"},"imapUsername":{"type":"string"},"imapPassword":{"type":"string"},"imapSsl":{"type":"boolean"},"selectFolder":{"type":"string"},"searchTerms":{"type":"string"},"startTls":{"type":"boolean"},"proxyHost":{"type":"string"},"proxyPort":{"type":"integer","format":"int32"},"proxyEnabled":{"type":"boolean"},"localHostName":{"type":"string"},"mechanisms":{"type":"array","items":{"type":"string"}},"sslProtocols":{"type":"array","items":{"type":"string"}},"sslTrust":{"type":"string"},"enabled":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid"}}},"ConnectorImapConnectionTestResult":{"required":["success"],"type":"object","properties":{"error":{"type":"string"},"success":{"type":"boolean"},"message":{"type":"string"},"logs":{"type":"array","items":{"type":"string"}}}},"CreateConnectorWithOptions":{"required":["createConnectorOptions"],"type":"object","properties":{"createConnectorOptions":{"$ref":"#/components/schemas/CreateConnectorOptions"},"createConnectorImapConnectionOptions":{"$ref":"#/components/schemas/CreateConnectorImapConnectionOptions"},"createConnectorSmtpConnectionOptions":{"$ref":"#/components/schemas/CreateConnectorSmtpConnectionOptions"},"createConnectorSyncSettingsOptions":{"$ref":"#/components/schemas/CreateConnectorSyncSettingsOptions"}},"description":"Options for creating an inbox connection with an external mail provider including extra settings"},"CreateCampaignProbeOptions":{"type":"object","properties":{"name":{"maxLength":200,"minLength":1,"type":"string","description":"Optional display name","nullable":true,"example":"Spring launch"},"enabled":{"type":"boolean","description":"Whether SES monitor ingestion is enabled for this probe","nullable":true,"example":true},"intervalSeconds":{"maximum":604800,"minimum":60,"type":"integer","description":"Scheduled run interval in seconds","format":"int64","nullable":true,"example":3600},"schedulingEnabled":{"type":"boolean","description":"Whether scheduled campaign probe runs are enabled. Direct run-now remains available.","nullable":true,"example":true}},"description":"Create options for a campaign probe"},"CreateCampaignProbeRunOptions":{"type":"object","properties":{"fromAddress":{"type":"string","description":"Sender email address","nullable":true,"example":"sender@example.com"},"subject":{"type":"string","description":"Message subject","nullable":true,"example":"Launch update"},"recipient":{"type":"string","description":"Recipient email address for context","nullable":true},"messageId":{"type":"string","description":"Caller supplied message id for dedupe/trace","nullable":true},"htmlBody":{"type":"string","description":"HTML body content to analyze","nullable":true},"textBody":{"type":"string","description":"Text body content to analyze when HTML is absent","nullable":true}},"description":"Direct invoke options for campaign probe analysis"},"CampaignProbeRunDto":{"required":["attachmentMentionIssueCount","checkedImages","checkedLinks","compatibilityNotSupportedCount","compatibilityUnknownCount","compatibilityWarningCount","createdAt","failingChecks","healthScore","htmlErrorCount","htmlInfoCount","htmlWarningCount","id","imageIssueCount","insights","linkIssueCount","passingChecks","probeId","reputationFailureCount","source","status","totalChecks","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"probeId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["HEALTHY","WARNING","FAILED"]},"source":{"type":"string","enum":["DIRECT_API","SES_MONITOR","USER_SCHEDULE","CRON","SCHEDULER"]},"healthScore":{"type":"integer","format":"int32"},"totalChecks":{"type":"integer","format":"int32"},"passingChecks":{"type":"integer","format":"int32"},"failingChecks":{"type":"integer","format":"int32"},"checkedLinks":{"type":"integer","format":"int32"},"checkedImages":{"type":"integer","format":"int32"},"linkIssueCount":{"type":"integer","format":"int32"},"imageIssueCount":{"type":"integer","format":"int32"},"compatibilityWarningCount":{"type":"integer","format":"int32"},"compatibilityNotSupportedCount":{"type":"integer","format":"int32"},"compatibilityUnknownCount":{"type":"integer","format":"int32"},"htmlErrorCount":{"type":"integer","format":"int32"},"htmlWarningCount":{"type":"integer","format":"int32"},"htmlInfoCount":{"type":"integer","format":"int32"},"reputationFailureCount":{"type":"integer","format":"int32"},"attachmentMentionIssueCount":{"type":"integer","format":"int32"},"insights":{"type":"array","items":{"type":"string"}},"errorMessage":{"type":"string"},"fromAddress":{"type":"string"},"recipient":{"type":"string"},"subject":{"type":"string"},"messageId":{"type":"string"},"sourceMessageId":{"type":"string"},"processingMs":{"type":"integer","format":"int64"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"CampaignProbeRunNowResult":{"required":["probe","run"],"type":"object","properties":{"probe":{"$ref":"#/components/schemas/CampaignProbeDto"},"run":{"$ref":"#/components/schemas/CampaignProbeRunDto"}}},"CampaignProbeRunDueResult":{"required":["dueProbeCount","executedAt","requestedMaxRuns","runCount","skippedCount","triggerSource"],"type":"object","properties":{"triggerSource":{"type":"string","enum":["DIRECT_API","SES_MONITOR","USER_SCHEDULE","CRON","SCHEDULER"]},"runCount":{"type":"integer","format":"int32"},"dueProbeCount":{"type":"integer","format":"int32"},"skippedCount":{"type":"integer","format":"int32"},"requestedMaxRuns":{"type":"integer","format":"int32"},"executedAt":{"type":"string","format":"date-time"}}},"BulkSendEmailOptions":{"required":["inboxIds","sendEmailOptions"],"type":"object","properties":{"inboxIds":{"minItems":1,"type":"array","description":"Inboxes to send the email from","items":{"type":"string","description":"Inboxes to send the email from","format":"uuid"}},"sendEmailOptions":{"$ref":"#/components/schemas/SendEmailOptions"}},"description":"Options for bulk sending an email from multiple addresses. See regular `sendEmail` methods for more information."},"FilterBouncedRecipientsOptions":{"required":["emailRecipients"],"type":"object","properties":{"emailRecipients":{"type":"array","items":{"type":"string"}}},"description":"Options for filtering bounced email recipients"},"FilterBouncedRecipientsResult":{"required":["filteredRecipients"],"type":"object","properties":{"filteredRecipients":{"type":"array","items":{"type":"string"}}},"description":"Remaining recipients that were filtered to remove bounced recipients"},"AuditLogSearchOptions":{"type":"object","properties":{"since":{"type":"string","format":"date-time"},"before":{"type":"string","format":"date-time"},"action":{"type":"string"},"userId":{"type":"string","format":"uuid"},"actorUserId":{"type":"string","format":"uuid"},"targetUserId":{"type":"string","format":"uuid"},"resourceType":{"type":"string"},"resourceId":{"type":"string"},"outcome":{"type":"string"},"requestId":{"type":"string"},"ipAddress":{"type":"string"},"eventId":{"type":"string"},"pageSize":{"type":"integer","format":"int32"},"cursor":{"type":"string"}}},"AuditLogEventDto":{"required":["action","eventId","eventTs","tenantId"],"type":"object","properties":{"tenantId":{"type":"string"},"dt":{"type":"string"},"eventId":{"type":"string"},"eventTs":{"type":"string","format":"date-time"},"action":{"type":"string"},"userId":{"type":"string"},"actorUserId":{"type":"string"},"targetUserId":{"type":"string"},"resourceType":{"type":"string"},"resourceId":{"type":"string"},"outcome":{"type":"string"},"requestId":{"type":"string"},"ipAddress":{"type":"string"},"metadataJson":{"type":"string"}}},"AuditLogPageDto":{"required":["items"],"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AuditLogEventDto"}},"nextCursor":{"type":"string"}}},"UploadAttachmentOptions":{"required":["base64Contents"],"type":"object","properties":{"contentId":{"title":"Content ID","type":"string","description":"Optional contentId for file.","nullable":true},"contentType":{"title":"Content type","type":"string","description":"Optional contentType for file. For instance `application/pdf`","nullable":true},"filename":{"title":"File name","type":"string","description":"Optional filename to save upload with. Will be the name that is shown in email clients","nullable":true},"base64Contents":{"title":"Base 64 file contents","minLength":1,"type":"string","description":"Base64 encoded string of file contents. Typically this means reading the bytes or string content of a file and then converting that to a base64 encoded string. For examples of how to do this see https://www.mailslurp.com/guides/base64-file-uploads/"}},"description":"Options for uploading files for attachments. When sending emails with the API that require attachments first upload each attachment. Then use the returned attachment ID in your `SendEmailOptions` when sending an email. This way you can use attachments multiple times once they have been uploaded."},"ExtractAttachmentTextOptions":{"type":"object","properties":{"method":{"type":"string","description":"Method for extracting text from attachments. OCR/LLM methods are reserved for advanced extraction.","nullable":true,"enum":["AUTO","NATIVE","OCR","LLM","OCR_THEN_LLM"]},"allowFallback":{"type":"boolean","description":"Allow fallback to native extraction when the selected method is unavailable.","default":true},"maxBytes":{"type":"integer","description":"Maximum bytes to read from attachment for native text extraction.","format":"int64","nullable":true,"default":1048576}},"description":"Options for extracting text from an attachment. Choose a method and whether fallback is allowed."},"ExtractAttachmentTextResult":{"required":["present","warnings"],"type":"object","properties":{"present":{"type":"boolean","description":"True if extracted text is present"},"text":{"type":"string","description":"Extracted text when present","nullable":true},"methodUsed":{"type":"string","description":"Method for extracting text from attachments. OCR/LLM methods are reserved for advanced extraction.","nullable":true,"enum":["AUTO","NATIVE","OCR","LLM","OCR_THEN_LLM"]},"contentType":{"type":"string","description":"Detected attachment content type","nullable":true},"warnings":{"type":"array","description":"Warnings or fallback notes","items":{"type":"string","description":"Warnings or fallback notes"}}},"description":"Extracted text result for an attachment"},"CreateAliasOptions":{"required":["emailAddress","useThreads"],"type":"object","properties":{"emailAddress":{"type":"string","description":"Email address to be hidden behind alias. Emails sent to the alias email address will be forwarded to this address. If you want to enable replies set useThreads true and the reply-to for the email will allow outbound communication via a thread. Some email addresses may require verification if they are not added as a contact first."},"inboxId":{"type":"string","description":"Optional inbox ID to attach to alias. Null by default means an a new inbox will be created for the alias. Use a custom inbox to control what email address the alias uses. To use custom email addresses create a domain and an inbox, the use the inbox ID with this call. Emails received by this inbox will be forwarded to the alias email address","format":"uuid","nullable":true},"name":{"type":"string","description":"Optional name for alias","nullable":true},"useThreads":{"type":"boolean","description":"Enable threads options. If true emails will be sent with a unique reply-to thread address. This means you can reply to the forwarded email and it will be sent to the recipients via your alias address. That way a thread conversation is preserved."},"domainId":{"type":"string","description":"Custom domain ID to use when generating alias email addresses","format":"uuid","nullable":true},"verifyEmailAddress":{"type":"boolean","description":"Whether to verify the masked email address exists before sending an email to it","nullable":true}},"description":"Create email alias options. Email aliases can be used to mask real email addresses behind an ID. You can also attach an inbox to an alias so that any email received by the inbox email address if forwarded to the alias email address."},"AITransformCreateOptions":{"type":"object","properties":{"name":{"type":"string","nullable":true},"conditions":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"instructions":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"outputSchema":{"$ref":"#/components/schemas/StructuredOutputSchema"},"outputSchemaId":{"type":"string","format":"uuid","nullable":true},"extractPrompt":{"type":"string","nullable":true}}},"StructuredOutputSchema":{"type":"object","properties":{"anyOf":{"type":"array","nullable":true,"items":{"$ref":"#/components/schemas/StructuredOutputSchema"}},"default":{"$ref":"#/components/schemas/JsonNode"},"description":{"type":"string","description":"Provide a description of the schema to help the AI understand the schema.","nullable":true},"enumValues":{"type":"array","description":"When using type string and format enum pass a collection of enum values here.","nullable":true,"items":{"type":"string","description":"When using type string and format enum pass a collection of enum values here.","nullable":true}},"example":{"$ref":"#/components/schemas/JsonNode"},"format":{"type":"string","description":"Format for string types. Can be null, date-time or enum.","nullable":true},"items":{"$ref":"#/components/schemas/StructuredOutputSchema"},"maxItems":{"minimum":0,"type":"integer","format":"int64","nullable":true},"minItems":{"minimum":0,"type":"integer","format":"int64","nullable":true},"maxLength":{"minimum":0,"type":"integer","format":"int64","nullable":true},"minLength":{"minimum":0,"type":"integer","format":"int64","nullable":true},"pattern":{"type":"string","description":"Regex pattern for STRING type","nullable":true},"properties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/StructuredOutputSchema"},"description":"Properties of an OBJECT schema. These are key value pairs where the key is the property name and the value is the schema for that property.","nullable":true},"propertyOrdering":{"type":"array","description":"Pass an array of property names to specify the order of properties in the generated JSON object if required.","nullable":true,"items":{"type":"string","description":"Pass an array of property names to specify the order of properties in the generated JSON object if required.","nullable":true}},"required":{"type":"array","description":"Is field required","nullable":true,"items":{"type":"string","description":"Is field required","nullable":true}},"maxProperties":{"minimum":0,"type":"integer","format":"int64","nullable":true},"minProperties":{"minimum":0,"type":"integer","format":"int64","nullable":true},"maximum":{"type":"number","nullable":true},"minimum":{"type":"number","nullable":true},"nullable":{"type":"boolean","nullable":true},"title":{"type":"string","nullable":true},"type":{"type":"string","description":"Primitive JSON schema types with a fallback CUSTOM for unknown values.","nullable":true,"enum":["string","number","integer","boolean","object","array","null"]}},"description":"JSON output schema for structured content repsonses. This schema dictates the format that an AI should use when responding to your instructions.","nullable":true},"AITransformDto":{"required":["createdAt","id"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"conditions":{"type":"array","items":{"type":"string"}},"instructions":{"type":"array","items":{"type":"string"}},"outputSchema":{"$ref":"#/components/schemas/StructuredOutputSchema"},"createdAt":{"type":"string","format":"date-time"}}},"ExportTransformerOptions":{"required":["flattenArrays","format","includeMetaData"],"type":"object","properties":{"aiTransformId":{"type":"string","format":"uuid","nullable":true},"aiMappingId":{"type":"string","format":"uuid","nullable":true},"flattenArrays":{"type":"boolean"},"since":{"type":"string","format":"date-time","nullable":true},"before":{"type":"string","format":"date-time","nullable":true},"format":{"type":"string","enum":["CSV","EXCEL","XML","JSON"]},"inboxId":{"type":"string","format":"uuid","nullable":true},"phoneId":{"type":"string","format":"uuid","nullable":true},"emailId":{"type":"string","format":"uuid","nullable":true},"smsId":{"type":"string","format":"uuid","nullable":true},"attachmentId":{"type":"string","nullable":true},"includeMetaData":{"type":"boolean"},"delimiter":{"type":"string","nullable":true},"arraySeparator":{"type":"string","nullable":true},"includeMetaDataColumns":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}}}},"ExportTransformerResponse":{"required":["jobId","status"],"type":"object","properties":{"jobId":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["PENDING","IN_PROGRESS","ERROR","SUCCESS"]}}},"ExportTransformerResultJobDto":{"required":["createdAt","format","id","status","updatedAt"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["PENDING","IN_PROGRESS","ERROR","SUCCESS"]},"format":{"type":"string","enum":["CSV","EXCEL","XML","JSON"]},"fileName":{"type":"string"},"downloadUrl":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"AIMappingMatchOption":{"required":["field","should","value"],"type":"object","properties":{"field":{"title":"AIMAppingMatchField","type":"string","description":"Fields of an email, sms, or attachment object that can be used to filter results","enum":["SUBJECT","TO","BCC","CC","FROM","HEADERS","FILENAME","SMS"]},"should":{"title":"AIMappingMatchShould","type":"string","description":"How the value of the field specified should be compared to the value given in the match options.","enum":["MATCH","CONTAIN","EQUAL"]},"value":{"minLength":1,"type":"string","description":"The value you wish to compare with the value of the field specified using the `should` value passed. For example `BODY` should `CONTAIN` a value passed. When should value is `MATCH` pass a regex"}},"description":"Options for matching when an AI transform mapping should trigger. Each match option object contains a `field`, `should` and `value` property. Together they form logical conditions such as `SUBJECT` should `CONTAIN` value.","nullable":true},"AIMappingMatchOptions":{"type":"object","properties":{"matches":{"type":"array","description":"Zero or more match options such as `{ field: 'SUBJECT', should: 'CONTAIN', value: 'Welcome' }`. Options are additive so if one does not match the email is excluded from results","nullable":true,"items":{"$ref":"#/components/schemas/AIMappingMatchOption"}}},"description":"Optional filter for matching emails based on fields. For instance filter results to only include emails whose `SUBJECT` value does `CONTAIN` given match value. An example payload would be `{ matches: [{ field: 'SUBJECT', should: 'CONTAIN', value: 'Welcome' }] }`. You can also pass conditions such as `HAS_ATTACHMENT`. If you wish to extract regex matches inside the email content see the `getEmailContentMatch` method in the EmailController.","nullable":true},"CreateAITransformerMappingOptions":{"required":["aiTransformId","entityType"],"type":"object","properties":{"name":{"type":"string","nullable":true},"aiTransformId":{"type":"string","format":"uuid"},"entityId":{"type":"string","format":"uuid","nullable":true},"entityType":{"type":"string","enum":["INBOX","PHONE"]},"contentSelector":{"type":"string","nullable":true,"enum":["RAW","BODY","BODY_ATTACHMENTS"]},"triggerSelector":{"type":"string","nullable":true,"enum":["PER_MESSAGE","PER_ATTACHMENT"]},"spreadRootArray":{"type":"boolean","nullable":true},"matchOptions":{"$ref":"#/components/schemas/AIMappingMatchOptions"}}},"AITransformMappingDto":{"required":["aiTransformId","createdAt","entityType","id","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"aiTransformId":{"type":"string","format":"uuid"},"matchOptions":{"$ref":"#/components/schemas/AIMappingMatchOptions"},"userId":{"type":"string","format":"uuid"},"name":{"type":"string"},"entityId":{"type":"string","format":"uuid"},"entityType":{"type":"string","enum":["INBOX","PHONE"]},"createdAt":{"type":"string","format":"date-time"}}},"AITransformMappingMatchResult":{"required":["isMatch"],"type":"object","properties":{"isMatch":{"type":"boolean"}}},"InvokeTransformerOptions":{"type":"object","properties":{"aiTransformId":{"type":"string","format":"uuid","nullable":true},"aiTransformMappingId":{"type":"string","format":"uuid","nullable":true},"rawInput":{"type":"string","nullable":true},"entityId":{"type":"string","nullable":true},"entityType":{"type":"string","nullable":true,"enum":["EMAIL","SMS","ATTACHMENT"]},"rawConditions":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"rawInstructions":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"rawOutputSchema":{"$ref":"#/components/schemas/StructuredOutputSchema"},"contentSelector":{"type":"string","nullable":true,"enum":["RAW","BODY","BODY_ATTACHMENTS"]},"saveResults":{"type":"boolean","nullable":true}}},"ConditionalStructuredContentResult":{"required":["conditionsMatch"],"type":"object","properties":{"result":{"$ref":"#/components/schemas/JsonNode"},"conditionsMatch":{"type":"boolean"},"tokenCount":{"type":"integer","format":"int32"}}},"StructuredOutputSchemaValidation":{"required":["valid"],"type":"object","properties":{"valid":{"type":"boolean"},"errors":{"type":"array","items":{"type":"string"}},"exampleOutput":{"type":"string"}}},"GenerateStructuredContentSmsOptions":{"required":["smsId"],"type":"object","properties":{"smsId":{"type":"string","description":"SMS ID to read and pass to AI","format":"uuid"},"instructions":{"type":"string","description":"Optional instructions for the AI to follow. Try to be precise and clear. You can include examples and hints.","nullable":true},"outputSchema":{"$ref":"#/components/schemas/StructuredOutputSchema"},"transformId":{"type":"string","description":"ID of transformer to apply","format":"uuid","nullable":true}},"description":"Options for generating structured content output from an SMS"},"StructuredContentResultDto":{"required":["result"],"type":"object","properties":{"result":{"type":"object"}}},"GenerateStructuredContentEmailOptions":{"required":["emailId"],"type":"object","properties":{"emailId":{"type":"string","description":"Email ID to read and pass to AI","format":"uuid"},"contentSelector":{"type":"string","description":"Content selector to select part of email to operate on","nullable":true,"enum":["RAW","BODY","BODY_ATTACHMENTS"]},"instructions":{"type":"string","description":"Optional instructions for the AI to follow. Try to be precise and clear. You can include examples and hints.","nullable":true},"outputSchema":{"$ref":"#/components/schemas/StructuredOutputSchema"},"transformId":{"type":"string","description":"ID of transformer to apply","format":"uuid","nullable":true}},"description":"Options for generating structured content output from an email"},"GenerateStructuredContentAttachmentOptions":{"required":["attachmentId"],"type":"object","properties":{"attachmentId":{"type":"string","description":"Attachment ID to read and pass to AI"},"instructions":{"type":"string","description":"Optional instructions for the AI to follow. Try to be precise and clear. You can include examples and hints.","nullable":true},"outputSchema":{"$ref":"#/components/schemas/StructuredOutputSchema"},"transformId":{"type":"string","description":"ID of transformer to apply","format":"uuid","nullable":true},"emailId":{"type":"string","description":"Optional email ID for more context","format":"uuid","nullable":true}},"description":"Options for generating structured content output from an attachment"},"UpdateDeliverabilityTestOptions":{"type":"object","properties":{"name":{"type":"string","description":"Optional updated name","nullable":true},"description":{"type":"string","description":"Optional updated description","nullable":true},"startAt":{"type":"string","description":"Optional updated receive-window start time. Only applied while test is not terminal.","format":"date-time","nullable":true},"maxDurationSeconds":{"minimum":1,"type":"integer","description":"Optional updated timeout in seconds","format":"int64","nullable":true},"clearMaxDuration":{"type":"boolean","description":"Set true to clear timeout. If true, maxDurationSeconds is ignored for this request.","nullable":true},"successThresholdPercent":{"maximum":100.0,"exclusiveMaximum":false,"minimum":0.0,"exclusiveMinimum":true,"type":"number","description":"Optional updated acceptable success threshold percentage (0,100].","format":"double","nullable":true},"clearSuccessThreshold":{"type":"boolean","description":"Set true to clear success threshold. If true, successThresholdPercent is ignored for this request.","nullable":true},"expectations":{"maxItems":20,"minItems":1,"type":"array","description":"Optional replacement expectations","nullable":true,"items":{"$ref":"#/components/schemas/DeliverabilityExpectation"}}},"description":"Update a deliverability/load test"},"TestNewInboxRulesetOptions":{"required":["createRulesetOptions","inboxRulesetTestOptions"],"type":"object","properties":{"inboxRulesetTestOptions":{"$ref":"#/components/schemas/RulesetTestOptions"},"createRulesetOptions":{"$ref":"#/components/schemas/CreateRulesetOptions"}},"description":"Test inbox ruleset options"},"UpdateInboxOptions":{"type":"object","properties":{"name":{"type":"string","description":"Name of the inbox and used as the sender name when sending emails .Displayed in the dashboard for easier search","nullable":true},"description":{"type":"string","description":"Description of an inbox for labelling and searching purposes","nullable":true},"tags":{"type":"array","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.","nullable":true,"items":{"type":"string","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.","nullable":true}},"expiresAt":{"type":"string","description":"Inbox expiration time. When, if ever, the inbox should expire and be deleted. If null then this inbox is permanent and the emails in it won't be deleted. This is the default behavior unless expiration date is set. If an expiration date is set and the time is reached MailSlurp will expire the inbox and move it to an expired inbox entity. You can still access the emails belonging to it but it can no longer send or receive email.","format":"date-time","nullable":true},"favourite":{"type":"boolean","description":"Is the inbox a favorite inbox. Make an inbox a favorite is typically done in the dashboard for quick access or filtering","nullable":true}},"description":"Options for updating inbox properties"},"UpdateSmtpAccessOptions":{"type":"object","properties":{"smtpUsername":{"type":"string","description":"SMTP username for login","nullable":true},"smtpPassword":{"type":"string","description":"SMTP password for login","nullable":true}},"description":"Edit access details for inbox using SMTP"},"UpdateImapAccessOptions":{"type":"object","properties":{"imapUsername":{"type":"string","description":"IMAP username for login","nullable":true},"imapPassword":{"type":"string","description":"IMAP password for login","nullable":true}},"description":"Edit access details for inbox using IMAP"},"TestNewInboxForwarderOptions":{"required":["createInboxForwarderOptions","inboxForwarderTestOptions"],"type":"object","properties":{"inboxForwarderTestOptions":{"$ref":"#/components/schemas/InboxForwarderTestOptions"},"createInboxForwarderOptions":{"$ref":"#/components/schemas/CreateInboxForwarderOptions"}},"description":"Options for testing new inbox forwarder rules"},"WebhookResultDto":{"required":["createdAt","httpMethod","messageId","responseTimeMillis","seen","updatedAt","userId","webhookEvent","webhookId","webhookUrl"],"type":"object","properties":{"id":{"type":"string","format":"uuid","nullable":true},"userId":{"type":"string","format":"uuid"},"webhookId":{"type":"string","format":"uuid"},"webhookUrl":{"type":"string"},"messageId":{"type":"string"},"redriveId":{"type":"string","format":"uuid","nullable":true},"httpMethod":{"type":"string","enum":["POST","DELETE","GET","PUT","PATCH","HEAD","OPTIONS","TRACE"]},"webhookEvent":{"type":"string","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]},"responseStatus":{"type":"integer","format":"int32","nullable":true},"responseTimeMillis":{"type":"integer","format":"int64"},"responseBodyExtract":{"type":"string","nullable":true},"resultType":{"type":"string","nullable":true,"enum":["BAD_RESPONSE","EXCEPTION","SUCCESS","REDRIVEN"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"seen":{"type":"boolean"},"inboxId":{"type":"string","format":"uuid","nullable":true},"emailId":{"type":"string","format":"uuid","nullable":true},"attachmentId":{"type":"string","format":"uuid","nullable":true},"phoneId":{"type":"string","format":"uuid","nullable":true},"smsId":{"type":"string","format":"uuid","nullable":true},"aiTransformerId":{"type":"string","format":"uuid","nullable":true}},"description":"Result of a webhook notification"},"PageWebhookResult":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/WebhookResultDto"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated webhook results. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"CountDto":{"required":["totalElements"],"type":"object","properties":{"totalElements":{"type":"integer","format":"int64"}},"description":"Number of elements"},"WebhookNewSmsPayload":{"required":["body","eventName","fromNumber","messageId","phoneNumber","read","smsId","toNumber","userId","webhookId"],"type":"object","properties":{"messageId":{"type":"string","description":"Idempotent message ID. Store this ID locally or in a database to prevent message duplication."},"webhookId":{"type":"string","description":"ID of webhook entity being triggered","format":"uuid"},"eventName":{"type":"string","description":"Name of the event type webhook is being triggered for.","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]},"webhookName":{"type":"string","description":"Name of the webhook being triggered","nullable":true},"smsId":{"type":"string","description":"ID of SMS message","format":"uuid"},"userId":{"type":"string","description":"User ID of event","format":"uuid"},"phoneNumber":{"type":"string","description":"ID of phone number receiving SMS","format":"uuid"},"toNumber":{"type":"string","description":"Recipient phone number"},"fromNumber":{"type":"string","description":"Sender phone number"},"body":{"type":"string","description":"SMS message body"},"read":{"type":"boolean","description":"SMS has been read"}},"description":"NEW_SMS webhook payload. Sent to your webhook url endpoint via HTTP POST when an sms is received by the phone number that your webhook is attached to. Use the SMS ID to fetch the full SMS details."},"AttachmentMetaData":{"title":"Attachment meta data","required":["contentLength","contentType","id","name"],"type":"object","properties":{"name":{"title":"Name","type":"string","description":"Name of attachment if given"},"contentType":{"title":"Content type","type":"string","description":"Content type of attachment such as `image/png`"},"contentLength":{"title":"Content length","type":"integer","description":"Size of attachment in bytes","format":"int64"},"id":{"title":"ID","type":"string","description":"ID of attachment. Can be used to with attachment controller endpoints to download attachment or with sending methods to attach to an email."},"contentId":{"title":"Content ID","type":"string","description":"CID of attachment","nullable":true}},"description":"Meta data associated with an attachment. Attachments are stored as byte blobs so the meta data is stored separately."},"WebhookNewEmailPayload":{"required":["attachmentMetaDatas","bcc","cc","createdAt","emailId","eventName","from","inboxId","messageId","to","webhookId"],"type":"object","properties":{"messageId":{"type":"string","description":"Idempotent message ID. Store this ID locally or in a database to prevent message duplication."},"webhookId":{"type":"string","description":"ID of webhook entity being triggered","format":"uuid"},"eventName":{"type":"string","description":"Name of the event type webhook is being triggered for.","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]},"webhookName":{"type":"string","description":"Name of the webhook being triggered","nullable":true},"inboxId":{"type":"string","description":"Id of the inbox","format":"uuid"},"domainId":{"type":"string","description":"Id of the domain that received an email","format":"uuid","nullable":true},"emailId":{"type":"string","description":"ID of the email that was received. Use this ID for fetching the email with the `EmailController`.","format":"uuid"},"createdAt":{"type":"string","description":"Date time of event creation","format":"date-time"},"to":{"type":"array","description":"List of `To` recipient email addresses that the email was addressed to. See recipients object for names.","items":{"type":"string","description":"List of `To` recipient email addresses that the email was addressed to. See recipients object for names."}},"from":{"type":"string","description":"Who the email was sent from. An email address - see fromName for the sender name."},"cc":{"type":"array","description":"List of `CC` recipients email addresses that the email was addressed to. See recipients object for names.","items":{"type":"string","description":"List of `CC` recipients email addresses that the email was addressed to. See recipients object for names."}},"bcc":{"type":"array","description":"List of `BCC` recipients email addresses that the email was addressed to. See recipients object for names.","items":{"type":"string","description":"List of `BCC` recipients email addresses that the email was addressed to. See recipients object for names."}},"subject":{"type":"string","description":"The subject line of the email message as specified by SMTP subject header","nullable":true},"attachmentMetaDatas":{"type":"array","description":"List of attachment meta data objects if attachments present","items":{"$ref":"#/components/schemas/AttachmentMetaData"}}},"description":"NEW_EMAIL webhook payload. Sent to your webhook url endpoint via HTTP POST when an email is received by the inbox that your webhook is attached to. Use the email ID to fetch the full email body or attachments."},"WebhookNewContactPayload":{"required":["contactId","createdAt","emailAddresses","eventName","messageId","optOut","tags","webhookId"],"type":"object","properties":{"messageId":{"type":"string","description":"Idempotent message ID. Store this ID locally or in a database to prevent message duplication."},"webhookId":{"type":"string","description":"ID of webhook entity being triggered","format":"uuid"},"webhookName":{"type":"string","description":"Name of the webhook being triggered","nullable":true},"eventName":{"type":"string","description":"Name of the event type webhook is being triggered for.","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]},"contactId":{"type":"string","description":"Contact ID","format":"uuid"},"groupId":{"type":"string","description":"Contact group ID","format":"uuid","nullable":true},"firstName":{"type":"string","description":"Contact first name","nullable":true},"lastName":{"type":"string","description":"Contact last name","nullable":true},"company":{"type":"string","description":"Contact company name","nullable":true},"primaryEmailAddress":{"type":"string","description":"Primary email address for contact","nullable":true},"emailAddresses":{"type":"array","description":"Email addresses for contact","items":{"type":"string","description":"Email addresses for contact"}},"tags":{"type":"array","description":"Tags for contact","items":{"type":"string","description":"Tags for contact"}},"metaData":{"$ref":"#/components/schemas/JsonNode"},"optOut":{"type":"boolean","description":"Has contact opted out of emails"},"createdAt":{"type":"string","description":"Date time of event creation","format":"date-time"}},"description":"NEW_CONTACT webhook payload. Sent to your webhook url endpoint via HTTP POST when an email is received by the inbox that your webhook is attached to that contains a recipient that has not been saved as a contact."},"WebhookNewAttachmentPayload":{"required":["attachmentId","contentLength","contentType","eventName","messageId","name","webhookId"],"type":"object","properties":{"messageId":{"type":"string","description":"Idempotent message ID. Store this ID locally or in a database to prevent message duplication."},"webhookId":{"type":"string","description":"ID of webhook entity being triggered","format":"uuid"},"webhookName":{"type":"string","description":"Name of the webhook being triggered","nullable":true},"eventName":{"type":"string","description":"Name of the event type webhook is being triggered for.","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]},"attachmentId":{"type":"string","description":"ID of attachment. Use the `AttachmentController` to"},"name":{"type":"string","description":"Filename of the attachment if present"},"contentType":{"type":"string","description":"Content type of attachment such as 'image/png' or 'application/pdf"},"contentLength":{"type":"integer","description":"Size of attachment in bytes","format":"int64"}},"description":"NEW_ATTACHMENT webhook payload. Sent to your webhook url endpoint via HTTP POST when an email is received by the inbox that your webhook is attached to that contains an attachment. You can use the attachmentId to download the attachment."},"WebhookNewAITransformResultPayload":{"required":["aiTransformId","aiTransformResultId","eventName","messageId","userId","webhookId"],"type":"object","properties":{"messageId":{"type":"string","description":"Idempotent message ID. Store this ID locally or in a database to prevent message duplication."},"webhookId":{"type":"string","description":"ID of webhook entity being triggered","format":"uuid"},"eventName":{"type":"string","description":"Name of the event type webhook is being triggered for.","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]},"webhookName":{"type":"string","description":"Name of the webhook being triggered","nullable":true},"aiTransformResultId":{"type":"string","description":"AI Transform ID of event","format":"uuid"},"userId":{"type":"string","description":"User ID of event","format":"uuid"},"aiTransformId":{"type":"string","description":"ID of AI Transform","format":"uuid"},"aiTransformMappingId":{"type":"string","description":"ID of AI Transform mapping","format":"uuid","nullable":true},"entityId":{"type":"string","description":"ID of entity that triggered the transformation","format":"uuid","nullable":true},"entityType":{"type":"string","description":"Entity type that triggered the transformation","nullable":true,"enum":["INBOX","PHONE"]},"result":{"type":"string","description":"JSON string result of the AI transformation","nullable":true}},"description":"NEW_AI_TRANSFORM_RESULT webhook payload. Sent to your webhook url endpoint via HTTP POST when a structured data result is generated by the AI Transformer that your webhook is attached to. Use the AI Transform Result ID to fetch the full details."},"WebhookEmailReadPayload":{"required":["createdAt","emailId","emailIsRead","eventName","inboxId","messageId","webhookId"],"type":"object","properties":{"messageId":{"type":"string","description":"Idempotent message ID. Store this ID locally or in a database to prevent message duplication."},"webhookId":{"type":"string","description":"ID of webhook entity being triggered","format":"uuid"},"eventName":{"type":"string","description":"Name of the event type webhook is being triggered for.","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]},"webhookName":{"type":"string","description":"Name of the webhook being triggered","nullable":true},"emailId":{"type":"string","description":"ID of the email that was received. Use this ID for fetching the email with the `EmailController`.","format":"uuid"},"inboxId":{"type":"string","description":"Id of the inbox","format":"uuid"},"emailIsRead":{"type":"boolean","description":"Is the email read"},"createdAt":{"type":"string","description":"Date time of event creation","format":"date-time"}},"description":"EMAIL_READ webhook payload. Sent to your webhook url endpoint via HTTP POST when an email is read. This happens when an email is requested in full from the API or a user views the email in the dashboard."},"WebhookEmailOpenedPayload":{"required":["createdAt","eventName","inboxId","messageId","pixelId","recipient","sentEmailId","webhookId"],"type":"object","properties":{"messageId":{"type":"string","description":"Idempotent message ID. Store this ID locally or in a database to prevent message duplication."},"webhookId":{"type":"string","description":"ID of webhook entity being triggered","format":"uuid"},"eventName":{"type":"string","description":"Name of the event type webhook is being triggered for.","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]},"webhookName":{"type":"string","description":"Name of the webhook being triggered","nullable":true},"inboxId":{"type":"string","description":"Id of the inbox","format":"uuid"},"pixelId":{"type":"string","description":"ID of the tracking pixel","format":"uuid"},"sentEmailId":{"type":"string","description":"ID of sent email","format":"uuid"},"recipient":{"type":"string","description":"Email address for the recipient of the tracking pixel"},"createdAt":{"type":"string","description":"Date time of event creation","format":"date-time"}},"description":"EMAIL_OPENED webhook payload. Sent to your webhook url endpoint via HTTP POST when an email containing a tracking pixel is opened and the pixel image is loaded by a reader."},"WebhookBounceRecipientPayload":{"required":["eventName","messageId","recipient","webhookId"],"type":"object","properties":{"messageId":{"type":"string","description":"Idempotent message ID. Store this ID locally or in a database to prevent message duplication."},"webhookId":{"type":"string","description":"ID of webhook entity being triggered","format":"uuid"},"eventName":{"type":"string","description":"Name of the event type webhook is being triggered for.","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]},"webhookName":{"type":"string","description":"Name of the webhook being triggered","nullable":true},"recipient":{"type":"string","description":"Email address that caused a bounce. Make note of the address and try not to message it again to preserve your reputation."}},"description":"BOUNCE_RECIPIENT webhook payload. Sent to your webhook url endpoint via HTTP POST when an email caused a bounce to occur for a recipient. Save the recipient to a ban list of your server and avoid email them again."},"WebhookBouncePayload":{"required":["bounceId","eventName","messageId","sender","webhookId"],"type":"object","properties":{"messageId":{"type":"string","description":"Idempotent message ID. Store this ID locally or in a database to prevent message duplication."},"webhookId":{"type":"string","description":"ID of webhook entity being triggered","format":"uuid"},"eventName":{"type":"string","description":"Name of the event type webhook is being triggered for.","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]},"webhookName":{"type":"string","description":"Name of the webhook being triggered","nullable":true},"bounceId":{"type":"string","description":"ID of the bounce email record. Use the ID with the bounce controller to view more information","format":"uuid"},"sentToRecipients":{"type":"array","description":"Email sent to recipients","nullable":true,"items":{"type":"string","description":"Email sent to recipients","nullable":true}},"sender":{"type":"string","description":"Sender causing bounce"},"bounceRecipients":{"type":"array","description":"Email addresses that resulted in a bounce or email being rejected. Please save these recipients and avoid emailing them in the future to maintain your reputation.","nullable":true,"items":{"type":"string","description":"Email addresses that resulted in a bounce or email being rejected. Please save these recipients and avoid emailing them in the future to maintain your reputation.","nullable":true}}},"description":"BOUNCE webhook payload. Sent to your webhook url endpoint via HTTP POST when an email bounced or was rejected by a recipient. Save the recipients to a ban list on your server and avoid emailing them again. It is recommended you also listen to the BOUNCE_RECIPIENT payload."},"WebhookDeliveryStatusPayload":{"required":["eventName","id","messageId","userId","webhookId"],"type":"object","properties":{"messageId":{"type":"string","description":"Idempotent message ID. Store this ID locally or in a database to prevent message duplication."},"webhookId":{"type":"string","description":"ID of webhook entity being triggered","format":"uuid"},"eventName":{"type":"string","description":"Name of the event type webhook is being triggered for.","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]},"webhookName":{"type":"string","description":"Name of the webhook being triggered","nullable":true},"id":{"type":"string","description":"ID of delivery status","format":"uuid"},"userId":{"type":"string","description":"User ID of event","format":"uuid"},"sentId":{"type":"string","description":"ID of sent email","format":"uuid","nullable":true},"remoteMtaIp":{"type":"string","description":"IP address of the remote Mail Transfer Agent","nullable":true},"inboxId":{"type":"string","description":"Id of the inbox","format":"uuid","nullable":true},"reportingMta":{"type":"string","description":"Mail Transfer Agent reporting delivery status","nullable":true},"recipients":{"type":"array","description":"Recipients for delivery","nullable":true,"items":{"type":"string","description":"Recipients for delivery","nullable":true}},"smtpResponse":{"type":"string","description":"SMTP server response message","nullable":true},"smtpStatusCode":{"type":"integer","description":"SMTP server status","format":"int32","nullable":true},"processingTimeMillis":{"type":"integer","description":"Time in milliseconds for delivery processing","format":"int64","nullable":true},"received":{"type":"string","description":"Time event was received","format":"date-time","nullable":true},"subject":{"type":"string","description":"Email subject","nullable":true}},"description":"DELIVERY_STATUS webhook payload. Sent to your webhook url endpoint via HTTP POST when an email delivery status is created. This could be a successful delivery or a delivery failure."},"UnseenErrorCountDto":{"required":["count"],"type":"object","properties":{"count":{"type":"integer","format":"int64"}},"description":"Number of unseen errors"},"PageWebhookProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/WebhookProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated webhook entity. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"WebhookProjection":{"required":["createdAt","id","updatedAt","url","userId"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string","format":"uuid"},"url":{"type":"string"},"password":{"type":"string"},"username":{"type":"string"},"inboxId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"eventName":{"type":"string","enum":["EMAIL_RECEIVED","NEW_AI_TRANSFORM_RESULT","NEW_EMAIL","NEW_CONTACT","NEW_ATTACHMENT","EMAIL_OPENED","EMAIL_READ","DELIVERY_STATUS","BOUNCE","BOUNCE_RECIPIENT","NEW_SMS","NEW_GUEST_USER"]},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"healthStatus":{"type":"string","enum":["HEALTHY","UNHEALTHY"]},"aiTransformerId":{"type":"string","format":"uuid"},"aiTransformId":{"type":"string","format":"uuid"},"phoneNumberId":{"type":"string","format":"uuid"}},"description":"Representation of a webhook"},"PageWebhookEndpointProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEndpointProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated webhook endpoint with latest health status. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"WebhookEndpointProjection":{"required":["health","url"],"type":"object","properties":{"url":{"type":"string"},"health":{"type":"string","enum":["HEALTHY","UNHEALTHY"]}}},"UserInfoDto":{"required":["accountState","accountType","createdAt","emailAddress","id"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"emailAddress":{"type":"string"},"accountState":{"type":"string","enum":["FROZEN","ACTIVE"]},"subscriptionType":{"type":"string","enum":["PRO_MONTHLY","STARTER","PRO","TEAM","ENTERPRISE"]},"accountType":{"type":"string","enum":["SOLO","CHILD_SOLO","CHILD_TEAM","CHILD_ADMIN"]},"createdAt":{"type":"string","format":"date-time"}}},"InboxRetentionPolicyOptionalDto":{"type":"object","properties":{"policy":{"$ref":"#/components/schemas/InboxRetentionPolicyDto"}}},"EntityFavouriteItemProjection":{"required":["createdAt","entityType","id","name"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string","format":"uuid"},"description":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"entityType":{"type":"string","enum":["INBOX","EMAIL","ATTACHMENT","PHONE","SMS"]}}},"PageEntityFavouriteItems":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntityFavouriteItemProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated favourite items like inboxes, phones, sms, emails. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"EntityEventItemProjection":{"required":["eventType","id","severity"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"severity":{"type":"string","enum":["INFO","SUCCESS","WARNING","DANGER"]},"eventType":{"type":"string","enum":["WEBHOOK_EVENT","INBOX_FORWARDER_EVENT","INBOX_REPLIER_EVENT","INBOX_RULESET_EVENT","ALIAS_EVENT"]},"inboxId":{"type":"string","format":"uuid"},"phoneId":{"type":"string","format":"uuid"}}},"PageEntityEventItems":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntityEventItemProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated event items like webhook events and forwarding. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"EntityAutomationItemProjection":{"required":["automationType","id"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string","format":"uuid"},"inboxId":{"type":"string","format":"uuid"},"phoneId":{"type":"string","format":"uuid"},"action":{"type":"string"},"automationType":{"type":"string","enum":["INBOX_FORWARDER","INBOX_REPLIER","INBOX_RULESET"]}}},"PageEntityAutomationItems":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EntityAutomationItemProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated automation items like auto-repliers, forwarders, and rulesets. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"PageTrackingPixelProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/TrackingPixelProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated TrackingPixel results. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"TrackingPixelProjection":{"required":["createdAt","id","seen","userId"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string","format":"uuid"},"inboxId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"sentEmailId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"},"recipient":{"type":"string"},"seen":{"type":"boolean"},"seenAt":{"type":"string","format":"date-time"}},"description":"Tracking pixel data"},"FakeEmailPreview":{"required":["createdAt","emailAddress","hasAttachments","id","seen"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"emailAddress":{"type":"string"},"sender":{"$ref":"#/components/schemas/Sender"},"recipients":{"$ref":"#/components/schemas/EmailRecipients"},"hasAttachments":{"type":"boolean"},"subject":{"type":"string"},"preview":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"seen":{"type":"boolean"}}},"FakeEmailDto":{"required":["attachmentNames","body","bodyUrl","contentType","createdAt","emailAddress","id","seen"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"emailAddress":{"type":"string"},"sender":{"$ref":"#/components/schemas/Sender"},"recipients":{"$ref":"#/components/schemas/EmailRecipients"},"attachmentNames":{"type":"array","items":{"type":"string"}},"subject":{"type":"string"},"preview":{"type":"string"},"body":{"type":"string","description":"use read content endpoints instead","deprecated":true},"seen":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"contentType":{"type":"string"},"bodyUrl":{"type":"string"}}},"FakeEmailResult":{"type":"object","properties":{"email":{"$ref":"#/components/schemas/FakeEmailDto"}}},"DeliverabilityTestPageDto":{"required":["content","page","size","totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/DeliverabilityTestDto"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}},"description":"Paged list of deliverability tests"},"DeliverabilityPollStatusResultDto":{"required":["cacheWindowSeconds","cached","test"],"type":"object","properties":{"test":{"$ref":"#/components/schemas/DeliverabilityTestDto"},"cached":{"type":"boolean"},"cacheWindowSeconds":{"type":"integer","format":"int64"},"nextRefreshAt":{"type":"string","format":"date-time","nullable":true}},"description":"Polling response for deliverability test progress"},"DeliverabilitySimulationJobEventDto":{"required":["createdAt","eventType","id"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"eventType":{"type":"string","enum":["JOB_CREATED","JOB_STARTED","JOB_PAUSED","JOB_RESUMED","JOB_CANCELLED","JOB_COMPLETED","JOB_FAILED","SEND_SUCCESS","SEND_FAILURE"]},"sendIndex":{"type":"integer","format":"int64","nullable":true},"entityId":{"type":"string","format":"uuid","nullable":true},"targetLabel":{"type":"string","nullable":true},"expectationName":{"type":"string","nullable":true},"attempt":{"type":"integer","format":"int32","nullable":true},"message":{"type":"string","nullable":true},"error":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"}},"description":"Single event for a deliverability simulation job"},"DeliverabilitySimulationJobEventPageDto":{"required":["content","job","page","size","totalElements","totalPages"],"type":"object","properties":{"job":{"$ref":"#/components/schemas/DeliverabilitySimulationJobDto"},"content":{"type":"array","items":{"$ref":"#/components/schemas/DeliverabilitySimulationJobEventDto"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}},"description":"Paged simulation events"},"DeliverabilityEntityResultDto":{"required":["entityId","entityLabel","expectationResults","matched","matchedExpectationCount","totalExpectationCount"],"type":"object","properties":{"entityId":{"type":"string","format":"uuid"},"entityLabel":{"type":"string"},"matched":{"type":"boolean"},"matchedExpectationCount":{"type":"integer","format":"int32"},"totalExpectationCount":{"type":"integer","format":"int32"},"phoneCountry":{"type":"string","nullable":true,"enum":["US","GB","AU","CA","EE","HK","PL","PT","NL","IL","FI","SE"]},"phoneVariant":{"type":"string","nullable":true,"enum":["LOCAL","MOBILE","TOLL_FREE"]},"evaluatedAt":{"type":"string","format":"date-time","nullable":true},"expectationResults":{"type":"array","items":{"$ref":"#/components/schemas/DeliverabilityExpectationResultDto"}}},"description":"Entity-level deliverability result"},"DeliverabilityEntityResultPageDto":{"required":["cached","content","page","size","test","totalElements","totalPages"],"type":"object","properties":{"test":{"$ref":"#/components/schemas/DeliverabilityTestDto"},"content":{"type":"array","items":{"$ref":"#/components/schemas/DeliverabilityEntityResultDto"}},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"matched":{"type":"boolean","nullable":true},"cached":{"type":"boolean"},"nextRefreshAt":{"type":"string","format":"date-time","nullable":true}},"description":"Paged entity results for a deliverability test"},"DeliverabilityExpectationResultDto":{"required":["actualCount","expectationIndex","minCount","passed"],"type":"object","properties":{"expectationIndex":{"type":"integer","format":"int32"},"expectationName":{"type":"string","nullable":true},"minCount":{"type":"integer","format":"int64"},"actualCount":{"type":"integer","format":"int64"},"passed":{"type":"boolean"},"from":{"type":"string","nullable":true},"to":{"type":"string","nullable":true},"subject":{"type":"string","nullable":true}},"description":"Expectation evaluation result for a single entity"},"DeliverabilityAnalyticsRunDto":{"required":["completionPercentage","createdAt","id","matchedEntities","scope","startAt","status","thresholdStatus","totalEntities","unmatchedEntities"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"scope":{"type":"string","enum":["INBOX","PHONE"]},"status":{"type":"string","enum":["CREATED","SCHEDULED","RUNNING","PAUSED","STOPPED","COMPLETE","FAILED"]},"createdAt":{"type":"string","format":"date-time"},"startAt":{"type":"string","format":"date-time"},"completedAt":{"type":"string","format":"date-time","nullable":true},"totalEntities":{"type":"integer","format":"int64"},"matchedEntities":{"type":"integer","format":"int64"},"unmatchedEntities":{"type":"integer","format":"int64"},"completionPercentage":{"type":"number","format":"double"},"successThresholdPercent":{"type":"number","format":"double","nullable":true},"thresholdStatus":{"type":"string","enum":["NOT_CONFIGURED","PASSING","FAILING"]}},"description":"Run-level metrics for analytics tables"},"DeliverabilityAnalyticsSeriesDto":{"required":["before","bucket","points","runs","since","summary"],"type":"object","properties":{"since":{"type":"string","format":"date-time"},"before":{"type":"string","format":"date-time"},"scope":{"type":"string","nullable":true,"enum":["INBOX","PHONE"]},"bucket":{"type":"string","enum":["HOUR","DAY"]},"summary":{"$ref":"#/components/schemas/DeliverabilityAnalyticsSummaryDto"},"runs":{"type":"array","items":{"$ref":"#/components/schemas/DeliverabilityAnalyticsRunDto"}},"points":{"type":"array","items":{"$ref":"#/components/schemas/DeliverabilityAnalyticsSeriesPointDto"}}},"description":"Deliverability analytics response for time-range comparison"},"DeliverabilityAnalyticsSeriesPointDto":{"required":["bucketEnd","bucketStart","metrics"],"type":"object","properties":{"bucketStart":{"type":"string","format":"date-time"},"bucketEnd":{"type":"string","format":"date-time"},"metrics":{"$ref":"#/components/schemas/DeliverabilityAnalyticsSummaryDto"}},"description":"Bucketed deliverability analytics point for charts/tables"},"DeliverabilityAnalyticsSummaryDto":{"required":["averageCompletionPercentage","averageMatchedEntities","averageUnmatchedEntities","completeRuns","createdRuns","failedRuns","pausedRuns","runningRuns","scheduledRuns","stoppedRuns","thresholdConfiguredRuns","thresholdMetRuns","totalRuns"],"type":"object","properties":{"totalRuns":{"type":"integer","format":"int64"},"completeRuns":{"type":"integer","format":"int64"},"failedRuns":{"type":"integer","format":"int64"},"stoppedRuns":{"type":"integer","format":"int64"},"runningRuns":{"type":"integer","format":"int64"},"scheduledRuns":{"type":"integer","format":"int64"},"pausedRuns":{"type":"integer","format":"int64"},"createdRuns":{"type":"integer","format":"int64"},"thresholdConfiguredRuns":{"type":"integer","format":"int64"},"thresholdMetRuns":{"type":"integer","format":"int64"},"averageCompletionPercentage":{"type":"number","format":"double"},"averageMatchedEntities":{"type":"number","format":"double"},"averageUnmatchedEntities":{"type":"number","format":"double"}},"description":"Aggregated deliverability metrics for a given set of runs"},"DeliverabilityFailureEntityHotspotDto":{"required":["entityId","entityLabel","failedRunCount","failureRatePercentage","scope","totalRunCount"],"type":"object","properties":{"entityId":{"type":"string","format":"uuid"},"entityLabel":{"type":"string"},"scope":{"type":"string","enum":["INBOX","PHONE"]},"phoneCountry":{"type":"string","nullable":true,"enum":["US","GB","AU","CA","EE","HK","PL","PT","NL","IL","FI","SE"]},"phoneVariant":{"type":"string","nullable":true,"enum":["LOCAL","MOBILE","TOLL_FREE"]},"failedRunCount":{"type":"integer","format":"int64"},"totalRunCount":{"type":"integer","format":"int64"},"failureRatePercentage":{"type":"number","format":"double"}},"description":"Most common failing entity across deliverability runs"},"DeliverabilityFailureHotspotsDto":{"required":["before","entityHotspots","phoneDimensionHotspots","since"],"type":"object","properties":{"since":{"type":"string","format":"date-time"},"before":{"type":"string","format":"date-time"},"scope":{"type":"string","nullable":true,"enum":["INBOX","PHONE"]},"entityHotspots":{"type":"array","items":{"$ref":"#/components/schemas/DeliverabilityFailureEntityHotspotDto"}},"phoneDimensionHotspots":{"type":"array","items":{"$ref":"#/components/schemas/DeliverabilityFailurePhoneDimensionHotspotDto"}}},"description":"Deliverability failure hotspot response for range comparisons"},"DeliverabilityFailurePhoneDimensionHotspotDto":{"required":["failedRunCount","failureRatePercentage","totalRunCount"],"type":"object","properties":{"phoneCountry":{"type":"string","nullable":true,"enum":["US","GB","AU","CA","EE","HK","PL","PT","NL","IL","FI","SE"]},"phoneVariant":{"type":"string","nullable":true,"enum":["LOCAL","MOBILE","TOLL_FREE"]},"failedRunCount":{"type":"integer","format":"int64"},"totalRunCount":{"type":"integer","format":"int64"},"failureRatePercentage":{"type":"number","format":"double"}},"description":"Most common failing phone country/variant dimensions"},"TemplateProjection":{"required":["createdAt","id","name","updatedAt","variables"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string","format":"uuid"},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"variables":{"type":"array","items":{"type":"string"}}},"description":"Email template data"},"TemplatePreview":{"required":["preview"],"type":"object","properties":{"preview":{"type":"string"}}},"PageTemplateProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/TemplateProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated email template results. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"PageSmsProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/SmsProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated SMS messages. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"SmsProjection":{"required":["body","createdAt","fromNumber","id","phoneNumber","read","userId"],"type":"object","properties":{"body":{"type":"string"},"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"},"phoneNumber":{"type":"string","format":"uuid"},"fromNumber":{"type":"string"},"read":{"type":"boolean"}},"description":"SMS projection"},"ReplyForSms":{"type":"object","properties":{"reply":{"$ref":"#/components/schemas/SentSmsDto"}}},"UnreadCount":{"required":["count"],"type":"object","properties":{"count":{"type":"integer","format":"int64"}},"description":"Number of unread entities"},"PageSentSmsProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/SentSmsProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated sent SMS messages. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"SentSmsProjection":{"required":["body","createdAt","fromNumber","id","phoneNumber","toNumber","userId"],"type":"object","properties":{"body":{"type":"string"},"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"},"phoneNumber":{"type":"string","format":"uuid"},"fromNumber":{"type":"string"},"toNumber":{"type":"string"},"replyToId":{"type":"string"}},"description":"Sent SMS projection"},"PageSentEmailProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/SentEmailProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated sent email results. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full sent email entity use the projection ID with individual method calls."},"SentEmailProjection":{"required":["createdAt","id","inboxId","userId","virtualSend"],"type":"object","properties":{"subject":{"type":"string","nullable":true},"id":{"type":"string","format":"uuid"},"threadId":{"type":"string","format":"uuid","nullable":true},"from":{"type":"string","nullable":true},"sender":{"$ref":"#/components/schemas/Sender"},"recipients":{"$ref":"#/components/schemas/EmailRecipients"},"inboxId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"attachments":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"createdAt":{"type":"string","format":"date-time"},"to":{"type":"array","items":{"type":"string"}},"cc":{"type":"array","items":{"type":"string"}},"bcc":{"type":"array","items":{"type":"string"}},"messageId":{"type":"string","nullable":true},"inReplyTo":{"type":"string","nullable":true},"virtualSend":{"type":"boolean"},"bodyExcerpt":{"type":"string","nullable":true},"textExcerpt":{"type":"string","nullable":true},"bodyMD5Hash":{"type":"string","nullable":true}}},"DeliveryStatusDto":{"required":["createdAt","id","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"sentId":{"type":"string","format":"uuid"},"remoteMtaIp":{"type":"string"},"inboxId":{"type":"string","format":"uuid"},"reportingMta":{"type":"string"},"recipients":{"type":"array","items":{"type":"string"}},"smtpResponse":{"type":"string"},"smtpStatusCode":{"type":"integer","format":"int32"},"processingTimeMillis":{"type":"integer","format":"int64"},"received":{"type":"string","format":"date-time"},"subject":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"PageDeliveryStatus":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/DeliveryStatusDto"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated delivery status results. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"EmailPreviewUrls":{"required":["origin","plainHtmlBodyUrl","rawSmtpMessageUrl"],"type":"object","properties":{"rawSmtpMessageUrl":{"type":"string"},"plainHtmlBodyUrl":{"type":"string"},"origin":{"type":"string"}},"description":"URLs for email body"},"RawEmailJson":{"required":["content"],"type":"object","properties":{"content":{"type":"string"}},"description":"Content in raw format"},"PageSentEmailWithQueueProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/SendWithQueueResult"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated sent email results for emails sent with queue. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full sent email entity use the projection ID with individual method calls."},"SendWithQueueResult":{"required":["createdAt","delivered","headerId","id","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"subject":{"type":"string"},"inboxId":{"type":"string","format":"uuid"},"headerId":{"type":"string"},"delivered":{"type":"boolean"},"exceptionName":{"type":"string"},"message":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"PageRulesetDto":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/RulesetDto"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated ruleset results to deny or permit inbound or outbound SMS and email. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"PageInboxReplierDto":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/InboxReplierDto"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated inbox replier results. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"InboxReplierEventProjection":{"required":["createdAt"],"type":"object","properties":{"message":{"type":"string","nullable":true},"id":{"type":"string","format":"uuid","nullable":true},"status":{"type":"string","nullable":true,"enum":["SUCCESS","FAILURE"]},"recipients":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"emailId":{"type":"string","format":"uuid","nullable":true},"inboxId":{"type":"string","format":"uuid","nullable":true},"userId":{"type":"string","format":"uuid","nullable":true},"createdAt":{"type":"string","format":"date-time"},"sentId":{"type":"string","format":"uuid","nullable":true},"replierId":{"type":"string","format":"uuid","nullable":true}},"description":"Inbox replier event"},"PageInboxReplierEvents":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/InboxReplierEventProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated inbox replier events. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"PhoneSummaryCountryDto":{"required":["hasPlan","phoneCountryCode","totalCount"],"type":"object","properties":{"phoneCountryCode":{"type":"string","enum":["US","GB","AU","CA","EE","HK","PL","PT","NL","IL","FI","SE"]},"totalCount":{"type":"integer","format":"int64"},"hasPlan":{"type":"boolean"}}},"PhoneSummaryDto":{"required":["hasMissingPlans","hasPhoneNumbers","phoneCountrySummaries","plans","totalPhones"],"type":"object","properties":{"phoneCountrySummaries":{"type":"array","items":{"$ref":"#/components/schemas/PhoneSummaryCountryDto"}},"hasPhoneNumbers":{"type":"boolean"},"hasMissingPlans":{"type":"boolean"},"totalPhones":{"type":"integer","format":"int32"},"plans":{"type":"array","items":{"$ref":"#/components/schemas/PlanSummaryDto"}}}},"PlanSummaryDto":{"required":["phoneCountry"],"type":"object","properties":{"subscriptionSchedule":{"type":"string","enum":["MONTHLY","YEARLY"]},"phoneCountry":{"type":"string","enum":["US","GB","AU","CA","EE","HK","PL","PT","NL","IL","FI","SE"]}}},"PagePhoneNumberReleaseProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/PhoneNumberReleaseProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated released phone numbers. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"PhoneNumberReleaseProjection":{"required":["createdAt","id","phoneCountry","userId"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"},"phoneCountry":{"type":"string","enum":["US","GB","AU","CA","EE","HK","PL","PT","NL","IL","FI","SE"]},"phoneNumber":{"type":"string"},"subscriptionSchedule":{"type":"string","enum":["MONTHLY","YEARLY"]},"planCurrency":{"type":"string","enum":["EUR","USD","JPY","GBP","AUD","CAD","CHF","CNY","INR","NZD"]}},"description":"Released phone number projection"},"PhonePlanDto":{"required":["createdAt","id","phoneCountry","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"phoneCountry":{"type":"string","enum":["US","GB","AU","CA","EE","HK","PL","PT","NL","IL","FI","SE"]},"createdAt":{"type":"string","format":"date-time"}}},"PhonePlanAvailability":{"required":["disabledPhoneCountries","items"],"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PhonePlanAvailabilityItem"}},"disabledPhoneCountries":{"type":"array","items":{"type":"string","enum":["US","GB","AU","CA","EE","HK","PL","PT","NL","IL","FI","SE"]}}}},"PhonePlanAvailabilityItem":{"required":["availabilityStatus","phoneCountry"],"type":"object","properties":{"phoneCountry":{"type":"string","enum":["US","GB","AU","CA","EE","HK","PL","PT","NL","IL","FI","SE"]},"availabilityStatus":{"type":"string","enum":["AVAILABLE","NON_MATCHING_SUBSCRIPTION_CURRENCY","NON_MATCHING_SUBSCRIPTION_TYPE","ALREADY_ASSIGNED"]},"variants":{"type":"array","items":{"type":"string","enum":["LOCAL","MOBILE","TOLL_FREE"]}}}},"PagePhoneNumberProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/PhoneNumberProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated phone numbers. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"PhoneNumberProjection":{"required":["createdAt","id","phoneCountry","phoneNumber","userId"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"},"phoneCountry":{"type":"string","enum":["US","GB","AU","CA","EE","HK","PL","PT","NL","IL","FI","SE"]},"phoneNumber":{"type":"string"}},"description":"Phone number projection"},"PagePhoneMessageThreadProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/PhoneMessageThreadProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated phone message threads. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"PhoneMessageThreadProjection":{"required":["lastBody","lastCreated","lastMessageDirection","phoneNumberId"],"type":"object","properties":{"phoneNumber":{"type":"string"},"phoneNumberId":{"type":"string","format":"uuid"},"lastBody":{"type":"string"},"lastCreated":{"type":"string","format":"date-time"},"otherPhoneNumber":{"type":"string"},"lastMessageDirection":{"type":"string","enum":["OUTBOUND","INBOUND"]}}},"PagePhoneMessageThreadItemProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/PhoneMessageThreadItemProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated phone message thread items. These are messages in a phone thread. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"PhoneMessageThreadItemProjection":{"required":["body","created","fromPhoneNumber","id","messageDirection","phoneNumberId","toPhoneNumber"],"type":"object","properties":{"body":{"type":"string"},"id":{"type":"string","format":"uuid"},"phoneNumberId":{"type":"string","format":"uuid"},"created":{"type":"string","format":"date-time"},"messageDirection":{"type":"string","enum":["OUTBOUND","INBOUND"]},"fromPhoneNumber":{"type":"string"},"toPhoneNumber":{"type":"string"}}},"EmergencyAddressDto":{"required":["address1","id","phoneCountry"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"address1":{"type":"string"},"phoneCountry":{"type":"string","enum":["US","GB","AU","CA","EE","HK","PL","PT","NL","IL","FI","SE"]}}},"MissedSmsProjection":{"required":["createdAt","fromNumber","id","phoneNumber","sid","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"},"sid":{"type":"string"},"phoneNumber":{"type":"string","format":"uuid"},"fromNumber":{"type":"string"}},"description":"Missed SMS projection"},"PageMissedSmsProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/MissedSmsProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated missed SMS messages. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"MissedSmsDto":{"required":["body","createdAt","fromNumber","id","phoneNumber","sid","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"phoneNumber":{"type":"string","format":"uuid"},"fromNumber":{"type":"string"},"toNumber":{"type":"string","nullable":true},"body":{"type":"string"},"sid":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"description":"Missed SMS"},"MissedEmailProjection":{"required":["createdAt","id"],"type":"object","properties":{"subject":{"type":"string","nullable":true},"id":{"type":"string","format":"uuid"},"from":{"type":"string","nullable":true},"userId":{"type":"string","format":"uuid","nullable":true},"createdAt":{"type":"string","format":"date-time"}},"description":"Missed email data"},"PageMissedEmailProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/MissedEmailProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated MissedEmail results. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"MissedEmailDto":{"required":["attachmentCount","bcc","cc","createdAt","id","inboxIds","to","updatedAt"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid","nullable":true},"subject":{"type":"string","nullable":true},"bodyExcerpt":{"type":"string","nullable":true},"attachmentCount":{"type":"integer","format":"int32"},"from":{"type":"string","nullable":true},"rawUrl":{"type":"string","description":"use raw key and raw bucket","nullable":true,"deprecated":true},"rawKey":{"type":"string","nullable":true},"rawBucket":{"type":"string","nullable":true},"canRestore":{"type":"boolean","nullable":true},"to":{"type":"array","items":{"type":"string"}},"cc":{"type":"array","items":{"type":"string"}},"bcc":{"type":"array","items":{"type":"string"}},"inboxIds":{"type":"array","items":{"type":"string","format":"uuid"}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"description":"Missed email"},"PageUnknownMissedEmailProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/UnknownMissedEmailProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated unknown MissedEmail results. Unknown missed emails are emails that were sent to MailSlurp /Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"UnknownMissedEmailProjection":{"required":["createdAt","id"],"type":"object","properties":{"subject":{"type":"string"},"id":{"type":"string","format":"uuid"},"from":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"to":{"type":"array","items":{"type":"string"}}},"description":"Unknown missed email projection"},"TotpDeviceCodeDto":{"required":["code"],"type":"object","properties":{"code":{"type":"string"},"expiresAt":{"type":"string","format":"date-time","nullable":true}}},"TotpDeviceOptionalDto":{"type":"object","properties":{"device":{"$ref":"#/components/schemas/TotpDeviceDto"}}},"PageScheduledJobs":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledJob"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated scheduled jobs results. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"ScheduledJob":{"required":["createdAt","groupId","id","inboxId","jobId","sendAtTimestamp","status","triggerId","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"inboxId":{"type":"string","format":"uuid"},"jobId":{"type":"string"},"groupId":{"type":"string"},"triggerId":{"type":"string"},"status":{"type":"string","enum":["SUBMITTED","COMPLETED","ABORTED","FAILED","CANCELLED"]},"sendAtTimestamp":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"PagePlusAddressProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/PlusAddressProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated inbox plus addresses. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"PlusAddressProjection":{"required":["createdAt","fullAddress","id","inboxId","plusAddress","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"inboxId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"plusAddress":{"type":"string"},"fullAddress":{"type":"string"}}},"PageEmailPreview":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EmailPreview"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated email preview results. EmailProjections and EmailPreviews are essentially the same but have legacy naming issues. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls. For emails there are several methods for fetching message bodies and attachments."},"PageInboxTags":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"type":"string"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated inbox tags. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"SmtpAccessDetails":{"required":["secureSmtpPassword","secureSmtpServerHost","secureSmtpServerPort","secureSmtpUsername","smtpPassword","smtpServerHost","smtpServerPort","smtpUsername"],"type":"object","properties":{"secureSmtpServerHost":{"type":"string","description":"Secure TLS SMTP server host domain"},"secureSmtpServerPort":{"type":"integer","description":"Secure TLS SMTP server host port","format":"int32"},"secureSmtpUsername":{"type":"string","description":"Secure TLS SMTP username for login"},"secureSmtpPassword":{"type":"string","description":"Secure TLS SMTP password for login"},"smtpServerHost":{"type":"string","description":"SMTP server host domain"},"smtpServerPort":{"type":"integer","description":"SMTP server host port","format":"int32"},"smtpUsername":{"type":"string","description":"SMTP username for login"},"smtpPassword":{"type":"string","description":"SMTP password for login"},"mailFromDomain":{"type":"string","description":"Mail from domain or SMTP HELO value","nullable":true}},"description":"Access details for inbox using SMTP"},"OrganizationInboxProjection":{"required":["createdAt","emailAddress","favourite","id","readOnly","teamAccess","userId","virtualInbox"],"type":"object","properties":{"id":{"type":"string","description":"ID of the inbox. The ID is a UUID-V4 format string. Use the inboxId for calls to Inbox and Email Controller endpoints. See the emailAddress property for the email address or the inbox. To get emails in an inbox use the WaitFor and Inbox Controller methods `waitForLatestEmail` and `getEmails` methods respectively. Inboxes can be used with aliases to forward emails automatically.","format":"uuid"},"domainId":{"type":"string","description":"ID of custom domain used by the inbox if any","format":"uuid","nullable":true},"createdAt":{"type":"string","description":"When the inbox was created. Time stamps are in ISO DateTime Format `yyyy-MM-dd'T'HH:mm:ss.SSSXXX` e.g. `2000-10-31T01:30:00.000-05:00`.","format":"date-time"},"name":{"type":"string","description":"Name of the inbox and used as the sender name when sending emails .Displayed in the dashboard for easier search","nullable":true},"emailAddress":{"type":"string","description":"The inbox's email address. Inbox projections and previews may not include the email address. To view the email address fetch the inbox entity directly. Send an email to this address and the inbox will receive and store it for you. Note the email address in MailSlurp match characters exactly and are case sensitive so `+123` additions are considered different addresses. To retrieve the email use the Inbox and Email Controller endpoints with the inbox ID.","nullable":true},"favourite":{"type":"boolean","description":"Is the inbox a favorite inbox. Make an inbox a favorite is typically done in the dashboard for quick access or filtering"},"tags":{"type":"array","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.","nullable":true,"deprecated":true,"items":{"type":"string","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.","nullable":true}},"teamAccess":{"type":"boolean","description":"Does inbox permit team access for organization team members. If so team users can use inbox and emails associated with it. See the team access guide at https://www.mailslurp.com/guides/team-email-account-sharing/"},"inboxType":{"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).","nullable":true,"enum":["HTTP_INBOX","SMTP_INBOX"]},"readOnly":{"type":"boolean","description":"Is the inbox readOnly for the caller. Read only means can not be deleted or modified. This flag is present when using team accounts and shared inboxes."},"virtualInbox":{"type":"boolean","description":"Virtual inbox can receive email but will not send emails to real recipients. Will save sent email record but never send an actual email. Perfect for testing mail server actions."},"functionsAs":{"type":"string","description":"Inbox function if used as a primitive for another system.","nullable":true,"enum":["ALIAS","THREAD","CATCH_ALL","CONNECTOR","ACCOUNT","GUEST","OAUTH_CONNECTION_GMAIL"]},"userId":{"type":"string","description":"ID of user that inbox belongs to","format":"uuid"},"description":{"type":"string","description":"Description of an inbox for labelling and searching purposes","nullable":true},"expiresAt":{"type":"string","description":"Inbox expiration time. When, if ever, the inbox should expire and be deleted. If null then this inbox is permanent and the emails in it won't be deleted. This is the default behavior unless expiration date is set. If an expiration date is set and the time is reached MailSlurp will expire the inbox and move it to an expired inbox entity. You can still access the emails belonging to it but it can no longer send or receive email.","format":"date-time","nullable":true},"accountRegion":{"type":"string","description":"Region of the inbox","nullable":true,"enum":["US_WEST_2_ACCOUNT_STAGING","US_EAST_1_ACCOUNT_STAGING","EU_WEST_1_ACCOUNT_STAGING","US_WEST_2_ACCOUNT_SES_1","EU_WEST_1_ACCOUNT_SES_1","US_WEST_2_ACCOUNT_SES_2","EU_WEST_1_ACCOUNT_SES_2","US_WEST_2_ACCOUNT_BYTEWISE","EU_WEST_1_ACCOUNT_BYTEWISE","US_WEST_2","EU_WEST_1","US_EAST_1"]}},"description":"Organization team inbox"},"PageOrganizationInboxProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationInboxProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated organization inbox results. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"ImapSmtpAccessDetails":{"required":["emailAddress","imapMailbox","imapPassword","imapServerHost","imapServerPort","imapUsername","secureImapPassword","secureImapServerHost","secureImapServerPort","secureImapUsername","secureSmtpPassword","secureSmtpServerHost","secureSmtpServerPort","secureSmtpUsername","smtpPassword","smtpServerHost","smtpServerPort","smtpUsername"],"type":"object","properties":{"emailAddress":{"type":"string","description":"Email address for SMTP/IMAP login"},"secureSmtpServerHost":{"type":"string","description":"Secure TLS SMTP server host domain"},"secureSmtpServerPort":{"type":"integer","description":"Secure TLS SMTP server host port","format":"int32"},"secureSmtpUsername":{"type":"string","description":"Secure TLS SMTP username for login"},"secureSmtpPassword":{"type":"string","description":"Secure TLS SMTP password for login"},"smtpServerHost":{"type":"string","description":"SMTP server host domain"},"smtpServerPort":{"type":"integer","description":"SMTP server host port","format":"int32"},"smtpUsername":{"type":"string","description":"SMTP username for login"},"smtpPassword":{"type":"string","description":"SMTP password for login"},"secureImapServerHost":{"type":"string","description":"Secure TLS IMAP server host domain"},"secureImapServerPort":{"type":"integer","description":"Secure TLS IMAP server host port","format":"int32"},"secureImapUsername":{"type":"string","description":"Secure TLS IMAP username for login"},"secureImapPassword":{"type":"string","description":"Secure TLS IMAP password for login"},"imapServerHost":{"type":"string","description":"IMAP server host domain"},"imapServerPort":{"type":"integer","description":"IMAP server host port","format":"int32"},"imapUsername":{"type":"string","description":"IMAP username for login"},"imapPassword":{"type":"string","description":"IMAP password for login"},"imapMailbox":{"type":"string","description":"IMAP mailbox to SELECT"},"mailFromDomain":{"type":"string","description":"Mail from domain or SMTP HELO value","nullable":true}},"description":"Access details for inbox using SMTP or IMAP"},"ImapSmtpAccessServers":{"required":["imapServer","secureImapServer","secureSmtpServer","smtpServer"],"type":"object","properties":{"imapServer":{"$ref":"#/components/schemas/ServerEndpoints"},"secureImapServer":{"$ref":"#/components/schemas/ServerEndpoints"},"smtpServer":{"$ref":"#/components/schemas/ServerEndpoints"},"secureSmtpServer":{"$ref":"#/components/schemas/ServerEndpoints"}},"description":"IMAP and SMTP server endpoints for MailSlurp"},"ServerEndpoints":{"required":["altPorts","host","port","tls"],"type":"object","properties":{"host":{"type":"string"},"port":{"type":"integer","format":"int32"},"tls":{"type":"boolean"},"altPorts":{"type":"array","items":{"type":"integer","format":"int32"}}}},"ImapAccessDetails":{"required":["imapMailbox","imapPassword","imapServerHost","imapServerPort","imapUsername","secureImapPassword","secureImapServerHost","secureImapServerPort","secureImapUsername"],"type":"object","properties":{"secureImapServerHost":{"type":"string","description":"Secure TLS IMAP server host domain"},"secureImapServerPort":{"type":"integer","description":"Secure TLS IMAP server host port","format":"int32"},"secureImapUsername":{"type":"string","description":"Secure TLS IMAP username for login"},"secureImapPassword":{"type":"string","description":"Secure TLS IMAP password for login"},"imapServerHost":{"type":"string","description":"IMAP server host domain"},"imapServerPort":{"type":"integer","description":"IMAP server host port","format":"int32"},"imapUsername":{"type":"string","description":"IMAP username for login"},"imapPassword":{"type":"string","description":"IMAP password for login"},"imapMailbox":{"type":"string","description":"IMAP mailbox to SELECT"}},"description":"Access details for inbox using IMAP"},"InboxIdItem":{"required":["emailAddress","id"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"emailAddress":{"type":"string"}},"description":"Inbox ID and email address pair"},"InboxIdsResult":{"required":["inboxIds"],"type":"object","properties":{"inboxIds":{"type":"array","items":{"$ref":"#/components/schemas/InboxIdItem"}}},"description":"List of inbox IDs and email addresses"},"InboxExistsDto":{"required":["exists"],"type":"object","properties":{"exists":{"type":"boolean"},"softBounce":{"type":"boolean","description":"Inbox is full or simulating a soft bounce via inbox replier or rulesets","nullable":true},"hardBounce":{"type":"boolean","description":"Inbox is blocking receiving emails or simulating a hard bounce via inbox replier or rulesets","nullable":true}},"description":"Result of email exists query"},"InboxByNameResult":{"required":["exists"],"type":"object","properties":{"inboxId":{"type":"string","format":"uuid","nullable":true},"exists":{"type":"boolean"}},"description":"Result of search for inbox by name"},"InboxByEmailAddressResult":{"required":["exists"],"type":"object","properties":{"inboxId":{"type":"string","format":"uuid","nullable":true},"exists":{"type":"boolean"}},"description":"Result of search for inbox by email address"},"GuestPortalUserProjection":{"required":["createdAt","id","portalId","updatedAt","userId","username"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string","format":"uuid"},"username":{"type":"string"},"emailAddress":{"type":"string"},"inboxId":{"type":"string"},"userId":{"type":"string","format":"uuid"},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"portalId":{"type":"string","format":"uuid"}},"description":"Representation of a guest portal user"},"PageGuestPortalUsers":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/GuestPortalUserProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated guest portal users"},"GroupProjection":{"required":["createdAt","id","name"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string","format":"uuid"},"description":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"}},"description":"Data for contact group"},"ContactProjection":{"required":["createdAt","id"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"groupId":{"type":"string","format":"uuid","nullable":true},"emailAddress":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"},"emailAddresses":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"firstName":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"company":{"type":"string","nullable":true},"optOut":{"type":"boolean","nullable":true}},"description":"Email contact for address book"},"PageContactProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/ContactProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated contact results. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"PageGroupProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/GroupProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated missed email results. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"PageInboxForwarderDto":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/InboxForwarderDto"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated inbox forwarder results. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"InboxForwarderEventProjection":{"required":["createdAt"],"type":"object","properties":{"message":{"type":"string","nullable":true},"id":{"type":"string","format":"uuid","nullable":true},"status":{"type":"string","nullable":true,"enum":["SUCCESS","FAILURE"]},"emailId":{"type":"string","format":"uuid","nullable":true},"inboxId":{"type":"string","format":"uuid","nullable":true},"userId":{"type":"string","format":"uuid","nullable":true},"createdAt":{"type":"string","format":"date-time"},"sentId":{"type":"string","format":"uuid","nullable":true},"forwarderId":{"type":"string","format":"uuid","nullable":true}},"description":"Inbox forwarder event"},"PageInboxForwarderEvents":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/InboxForwarderEventProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated inbox forwarder events. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"InboxForwarderEventDto":{"required":["createdAt"],"type":"object","properties":{"id":{"type":"string","format":"uuid","nullable":true},"inboxId":{"type":"string","format":"uuid","nullable":true},"emailId":{"type":"string","format":"uuid","nullable":true},"sentId":{"type":"string","format":"uuid","nullable":true},"userId":{"type":"string","format":"uuid","nullable":true},"forwarderId":{"type":"string","format":"uuid","nullable":true},"message":{"type":"string","nullable":true},"status":{"type":"string","nullable":true,"enum":["SUCCESS","FAILURE"]},"createdAt":{"type":"string","format":"date-time"}},"description":"Inbox forwarder event. Describes how an email was handled by an inbox forwarder.","externalDocs":{"url":"https://docs.mailslurp.com/forwarding/"}},"ExpiredInboxRecordProjection":{"required":["createdAt","emailAddress","id","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"emailAddress":{"type":"string"},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"description":"Record of inbox expiration"},"PageExpiredInboxRecordProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/ExpiredInboxRecordProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated expired inbox results. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"ExpiredInboxDto":{"required":["emailAddress","id","inboxId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"inboxId":{"type":"string","format":"uuid"},"emailAddress":{"type":"string"}},"description":"Expired inbox"},"ExpirationDefaults":{"required":["canPermanentInbox","nextInboxAllowsPermanent"],"type":"object","properties":{"defaultExpirationMillis":{"type":"integer","format":"int64","nullable":true},"maxExpirationMillis":{"type":"integer","format":"int64","nullable":true},"defaultExpiresAt":{"type":"string","format":"date-time","nullable":true},"canPermanentInbox":{"type":"boolean","description":"Use nextInboxAllowsPermanent instead","deprecated":true},"nextInboxAllowsPermanent":{"type":"boolean"}},"description":"Expiration defaults for your account"},"EmailTextLinesResult":{"required":["body","lines"],"type":"object","properties":{"lines":{"type":"array","items":{"type":"string"}},"body":{"type":"string"}},"description":"Parsed text of an email"},"EmailSignature":{"required":["body","detectionType","source"],"type":"object","properties":{"body":{"type":"string","description":"Extracted signature text"},"source":{"type":"string","description":"Source used for extraction. Examples: RAW_TEXT_PART, RAW_HTML_SELECTOR"},"marker":{"type":"string","description":"Matched marker or selector that identified the signature","nullable":true},"detectionType":{"type":"string","description":"Detection strategy used. Examples: DELIMITER, MOBILE_FOOTER, VALEDICTION"}},"description":"Parsed signature block detected in an email","nullable":true},"EmailSignatureParseResult":{"required":["present"],"type":"object","properties":{"present":{"type":"boolean","description":"True when a signature block was detected"},"signature":{"$ref":"#/components/schemas/EmailSignature"}},"description":"Result of attempting to parse an email signature"},"EmailLinksResult":{"required":["body","links"],"type":"object","properties":{"links":{"type":"array","items":{"type":"string"}},"body":{"type":"string"}},"description":"Links found in HTML"},"EmailHtmlDto":{"type":"object","properties":{"subject":{"type":"string"},"body":{"type":"string"}}},"PageDevicePreviewRunProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/DevicePreviewRunDto"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated device preview run results. Page index starts at zero. Use runId for detailed status, provider progress, and screenshots."},"EmailContentPartResult":{"type":"object","properties":{"content":{"type":"string","nullable":true}}},"DownloadAttachmentDto":{"required":["base64FileContents","contentType","sizeBytes"],"type":"object","properties":{"base64FileContents":{"type":"string","description":"Base64 encoded string of attachment bytes. Decode the base64 encoded string to get the raw contents. If the file has a content type such as `text/html` you can read the contents directly by converting it to string using `utf-8` encoding."},"contentType":{"type":"string","description":"Content type of attachment. Examples are `image/png`, `application/msword`, `text/csv` etc."},"sizeBytes":{"type":"integer","description":"Size in bytes of attachment content","format":"int64"}},"description":"Content of attachment"},"EmailRecipientsProjection":{"type":"object","properties":{"to":{"type":"array","items":{"$ref":"#/components/schemas/RecipientProjection"}},"cc":{"type":"array","items":{"$ref":"#/components/schemas/RecipientProjection"}},"bcc":{"type":"array","items":{"$ref":"#/components/schemas/RecipientProjection"}}},"description":"Recipients of original email in thread"},"EmailThreadProjection":{"required":["createdAt","hasAttachments","id","messageCount","to","unread","updatedAt","userId"],"type":"object","properties":{"subject":{"type":"string","description":"Thread topic subject"},"id":{"type":"string","description":"ID of email thread","format":"uuid"},"from":{"type":"string","description":"From sender"},"sender":{"$ref":"#/components/schemas/SenderProjection"},"recipients":{"$ref":"#/components/schemas/EmailRecipientsProjection"},"inboxId":{"type":"string","description":"Inbox ID","format":"uuid"},"userId":{"type":"string","description":"User ID","format":"uuid"},"updatedAt":{"type":"string","description":"Updated at DateTime","format":"date-time"},"createdAt":{"type":"string","description":"Created at DateTime","format":"date-time"},"to":{"type":"array","description":"To recipients","items":{"type":"string","description":"To recipients"}},"cc":{"type":"array","description":"CC recipients","items":{"type":"string","description":"CC recipients"}},"bcc":{"type":"array","description":"BCC recipients","items":{"type":"string","description":"BCC recipients"}},"hasAttachments":{"type":"boolean","description":"Has attachments"},"unread":{"type":"boolean","description":"Has unread"},"messageCount":{"type":"integer","description":"Number of messages in the thread","format":"int32"},"lastBodyExcerpt":{"type":"string","description":"Last body excerpt"},"lastTextExcerpt":{"type":"string","description":"Last text excerpt"},"lastCreatedAt":{"type":"string","description":"Last email created time","format":"date-time"},"lastFrom":{"type":"string","description":"Last sender"},"lastSender":{"$ref":"#/components/schemas/SenderProjection"}},"description":"An email thread is a message thread created for a email based on Message-ID, In-Reply-To, and References headers"},"PageEmailThreadProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EmailThreadProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated email thread projection results."},"RecipientProjection":{"required":["emailAddress","rawValue"],"type":"object","properties":{"name":{"type":"string"},"emailAddress":{"type":"string"},"rawValue":{"type":"string"}}},"SenderProjection":{"required":["emailAddress","rawValue"],"type":"object","properties":{"name":{"type":"string"},"emailAddress":{"type":"string"},"rawValue":{"type":"string"}},"description":"Last sender object"},"EmailThreadDto":{"required":["createdAt","id","to","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","description":"ID of email thread","format":"uuid"},"userId":{"type":"string","description":"User ID","format":"uuid"},"inboxId":{"type":"string","description":"Inbox ID","format":"uuid"},"from":{"type":"string","description":"From sender"},"to":{"type":"array","description":"To recipients","items":{"type":"string","description":"To recipients"}},"cc":{"type":"array","description":"CC recipients","items":{"type":"string","description":"CC recipients"}},"bcc":{"type":"array","description":"BCC recipients","items":{"type":"string","description":"BCC recipients"}},"sender":{"$ref":"#/components/schemas/Sender"},"recipients":{"$ref":"#/components/schemas/EmailRecipients"},"subject":{"type":"string","description":"Thread topic subject"},"createdAt":{"type":"string","description":"Created at DateTime","format":"date-time"},"updatedAt":{"type":"string","description":"Updated at DateTime","format":"date-time"}}},"EmailThreadItem":{"required":["createdAt","entityId","itemType","read","to"],"type":"object","properties":{"itemType":{"type":"string","enum":["RECEIVED_EMAIL","SENT_EMAIL"]},"entityId":{"type":"string","format":"uuid"},"bodyExcerpt":{"type":"string","nullable":true},"textExcerpt":{"type":"string","nullable":true},"subject":{"type":"string","nullable":true},"to":{"type":"array","items":{"type":"string"}},"from":{"type":"string","nullable":true},"bcc":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"cc":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"attachments":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"createdAt":{"type":"string","format":"date-time"},"read":{"type":"boolean"},"inReplyTo":{"type":"string","nullable":true},"messageId":{"type":"string","nullable":true},"threadId":{"type":"string","format":"uuid","nullable":true},"sender":{"$ref":"#/components/schemas/Sender"},"recipients":{"$ref":"#/components/schemas/EmailRecipients"}}},"EmailThreadItemsDto":{"required":["items"],"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/EmailThreadItem"}}}},"GravatarUrl":{"required":["hash","url"],"type":"object","properties":{"url":{"type":"string"},"hash":{"type":"string"}},"description":"User image"},"DevicePreviewRunResultsDto":{"required":["run","screenshots","targets"],"type":"object","properties":{"run":{"$ref":"#/components/schemas/DevicePreviewRunDto"},"targets":{"type":"array","items":{"$ref":"#/components/schemas/DevicePreviewTargetDto"}},"screenshots":{"type":"array","items":{"$ref":"#/components/schemas/DevicePreviewScreenshotDto"}}}},"DevicePreviewScreenshotDto":{"required":["createdAt","displayOrder","isPrimary","runId","screenshotId","updatedAt"],"type":"object","properties":{"screenshotId":{"type":"string","format":"uuid"},"runId":{"type":"string","format":"uuid"},"targetId":{"type":"string","format":"uuid"},"variant":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"isPrimary":{"type":"boolean"},"displayOrder":{"type":"integer","format":"int32"},"storageKey":{"type":"string"},"accessUrl":{"type":"string"},"liveViewUrl":{"type":"string"},"sessionId":{"type":"string"},"browserContextId":{"type":"string"},"deepLinkUrl":{"type":"string"},"width":{"type":"integer","format":"int32"},"height":{"type":"integer","format":"int32"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"DevicePreviewTargetDto":{"required":["createdAt","id","runId","updatedAt"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"runId":{"type":"string","format":"uuid"},"provider":{"type":"string"},"clientProfile":{"type":"string"},"deviceType":{"type":"string"},"browserFamily":{"type":"string"},"platform":{"type":"string"},"colorScheme":{"type":"string"},"status":{"type":"string","enum":["WAITING","READY_TO_CAPTURE","CAPTURING","READY","FAILED","NEEDS_INTERVENTION"]},"failureCode":{"type":"string"},"primaryScreenshotId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"DevicePreviewProviderProgressDto":{"required":["capturingCount","failedCount","pendingCount","provider","readyCount","run","screenshots","status","targetCount","targets"],"type":"object","properties":{"run":{"$ref":"#/components/schemas/DevicePreviewRunDto"},"provider":{"type":"string","enum":["GMAIL","OUTLOOK","YAHOO"]},"status":{"type":"string","enum":["PENDING","CAPTURING","PARTIAL_COMPLETE","COMPLETE","FAILED"]},"targetCount":{"type":"integer","format":"int64"},"readyCount":{"type":"integer","format":"int64"},"failedCount":{"type":"integer","format":"int64"},"capturingCount":{"type":"integer","format":"int64"},"pendingCount":{"type":"integer","format":"int64"},"targets":{"type":"array","items":{"$ref":"#/components/schemas/DevicePreviewTargetDto"}},"screenshots":{"type":"array","items":{"$ref":"#/components/schemas/DevicePreviewScreenshotDto"}}}},"DevicePreviewFeedbackListDto":{"required":["items","page","size","totalElements"],"type":"object","properties":{"totalElements":{"type":"integer","format":"int64"},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"items":{"type":"array","items":{"$ref":"#/components/schemas/DevicePreviewFeedbackDto"}}}},"EmailValidationRequestDto":{"required":["createdAt","emailAddress","id","isValid","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"emailAddress":{"type":"string"},"isValid":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"description":"Email validation request"},"PageEmailValidationRequest":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/EmailValidationRequestDto"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated email validation request records. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"EmailAuditComparisonDto":{"required":["addedInsights","attachmentMentionIssueDelta","baseline","brokenImageDelta","brokenLinkDelta","compatibilityNotSupportedDelta","compatibilityWarningDelta","current","healthScoreDelta","htmlErrorDelta","htmlWarningDelta","removedInsights","reputationFailureDelta","spellingIssueDelta","statusChanged"],"type":"object","properties":{"baseline":{"$ref":"#/components/schemas/EmailAuditDto"},"current":{"$ref":"#/components/schemas/EmailAuditDto"},"healthScoreDelta":{"type":"integer","format":"int32"},"statusChanged":{"type":"boolean"},"brokenLinkDelta":{"type":"integer","format":"int32"},"brokenImageDelta":{"type":"integer","format":"int32"},"spellingIssueDelta":{"type":"integer","format":"int32"},"htmlErrorDelta":{"type":"integer","format":"int32"},"htmlWarningDelta":{"type":"integer","format":"int32"},"compatibilityWarningDelta":{"type":"integer","format":"int32"},"compatibilityNotSupportedDelta":{"type":"integer","format":"int32"},"reputationFailureDelta":{"type":"integer","format":"int32"},"attachmentMentionIssueDelta":{"type":"integer","format":"int32"},"addedInsights":{"type":"array","items":{"type":"string"}},"removedInsights":{"type":"array","items":{"type":"string"}}}},"DomainPreview":{"required":["createdAt","domain","domainType","hasMissingRecords","id","isVerified"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"domain":{"type":"string"},"catchAllInboxId":{"type":"string","format":"uuid","nullable":true},"createdAt":{"type":"string","format":"date-time"},"domainType":{"type":"string","description":"Type of domain. Dictates type of inbox that can be created with domain. HTTP means inboxes are processed using SES while SMTP inboxes use a custom SMTP mail server. SMTP does not support sending so use HTTP for sending emails.","enum":["HTTP_INBOX","SMTP_DOMAIN"]},"isVerified":{"type":"boolean"},"hasMissingRecords":{"type":"boolean"}},"description":"Preview object for domain entity"},"DomainGroup":{"required":["domains","label"],"type":"object","properties":{"label":{"type":"string","enum":["DEFAULT","DOMAIN_POOL","CUSTOM"]},"domains":{"type":"array","items":{"$ref":"#/components/schemas/DomainInformation"}}}},"DomainGroupsDto":{"required":["domainGroups"],"type":"object","properties":{"domainGroups":{"type":"array","items":{"$ref":"#/components/schemas/DomainGroup"}}}},"DomainInformation":{"required":["domainName","domainType","verified"],"type":"object","properties":{"domainName":{"type":"string"},"verified":{"type":"boolean"},"domainType":{"type":"string","description":"Type of domain. Dictates type of inbox that can be created with domain. HTTP means inboxes are processed using SES while SMTP inboxes use a custom SMTP mail server. SMTP does not support sending so use HTTP for sending emails.","enum":["HTTP_INBOX","SMTP_DOMAIN"]}}},"DomainIssuesDto":{"required":["hasIssues"],"type":"object","properties":{"hasIssues":{"type":"boolean"}}},"DomainRegionGroup":{"required":["domains","label"],"type":"object","properties":{"label":{"type":"string","enum":["DEFAULT","DOMAIN_POOL","CUSTOM"]},"domains":{"type":"array","items":{"$ref":"#/components/schemas/DomainRegionInformation"}}}},"DomainRegionGroupsDto":{"required":["domainGroups"],"type":"object","properties":{"domainGroups":{"type":"array","items":{"$ref":"#/components/schemas/DomainRegionGroup"}}},"description":"Grouped available domains including account-region policy status."},"DomainRegionInformation":{"required":["active","creationEnabled","domainName","domainType","sendingEnabled","verified"],"type":"object","properties":{"domainName":{"type":"string"},"verified":{"type":"boolean"},"domainType":{"type":"string","description":"Type of domain. Dictates type of inbox that can be created with domain. HTTP means inboxes are processed using SES while SMTP inboxes use a custom SMTP mail server. SMTP does not support sending so use HTTP for sending emails.","enum":["HTTP_INBOX","SMTP_DOMAIN"]},"accountRegion":{"type":"string","nullable":true,"enum":["US_WEST_2_ACCOUNT_STAGING","US_EAST_1_ACCOUNT_STAGING","EU_WEST_1_ACCOUNT_STAGING","US_WEST_2_ACCOUNT_SES_1","EU_WEST_1_ACCOUNT_SES_1","US_WEST_2_ACCOUNT_SES_2","EU_WEST_1_ACCOUNT_SES_2","US_WEST_2_ACCOUNT_BYTEWISE","EU_WEST_1_ACCOUNT_BYTEWISE","US_WEST_2","EU_WEST_1","US_EAST_1"]},"creationEnabled":{"type":"boolean"},"sendingEnabled":{"type":"boolean"},"active":{"type":"boolean"}}},"DomainMonitorInsightsDto":{"required":["attentionSignals","averageHealthScore","before","bestHealthyStreak","criticalRuns","currentHealthyStreak","degradedRuns","failedRuns","goodPerformanceSignals","healthyRuns","monitorId","since","successRate","topFindings","totalRuns"],"type":"object","properties":{"monitorId":{"type":"string","format":"uuid"},"since":{"type":"string","format":"date-time"},"before":{"type":"string","format":"date-time"},"totalRuns":{"type":"integer","format":"int32"},"healthyRuns":{"type":"integer","format":"int32"},"degradedRuns":{"type":"integer","format":"int32"},"criticalRuns":{"type":"integer","format":"int32"},"failedRuns":{"type":"integer","format":"int32"},"successRate":{"type":"number","format":"double"},"averageHealthScore":{"type":"number","format":"double"},"currentHealthyStreak":{"type":"integer","format":"int32"},"bestHealthyStreak":{"type":"integer","format":"int32"},"goodPerformanceSignals":{"type":"array","items":{"type":"string"}},"attentionSignals":{"type":"array","items":{"type":"string"}},"topFindings":{"type":"array","items":{"type":"string"}},"latestRun":{"$ref":"#/components/schemas/DomainMonitorRunDto"}}},"DomainMonitorSummaryDto":{"required":["authStack","insights","monitor"],"type":"object","properties":{"monitor":{"$ref":"#/components/schemas/DomainMonitorDto"},"latestRun":{"$ref":"#/components/schemas/DomainMonitorRunDto"},"insights":{"$ref":"#/components/schemas/DomainMonitorInsightsDto"},"authStack":{"$ref":"#/components/schemas/CheckEmailAuthStackResults"}}},"DomainMonitorSeriesDto":{"required":["before","bucket","monitorId","points","since"],"type":"object","properties":{"monitorId":{"type":"string","format":"uuid"},"since":{"type":"string","format":"date-time"},"before":{"type":"string","format":"date-time"},"bucket":{"type":"string","enum":["HOUR","DAY"]},"points":{"type":"array","items":{"$ref":"#/components/schemas/DomainMonitorSeriesPointDto"}}}},"DomainMonitorSeriesPointDto":{"required":["averageHealthScore","bucketStart","criticalCount","degradedCount","failedCount","healthyCount","healthyRate","runCount"],"type":"object","properties":{"bucketStart":{"type":"string","format":"date-time"},"runCount":{"type":"integer","format":"int32"},"healthyCount":{"type":"integer","format":"int32"},"degradedCount":{"type":"integer","format":"int32"},"criticalCount":{"type":"integer","format":"int32"},"failedCount":{"type":"integer","format":"int32"},"healthyRate":{"type":"number","format":"double"},"averageHealthScore":{"type":"number","format":"double"}}},"DomainMonitorRunComparisonDto":{"required":["addedInsights","baseline","current","dmarcChanged","dmarcEnforcedChanged","failingChecksDelta","healthScoreDelta","mxChanged","passingChecksDelta","removedInsights","spfChanged","statusChanged"],"type":"object","properties":{"baseline":{"$ref":"#/components/schemas/DomainMonitorRunDto"},"current":{"$ref":"#/components/schemas/DomainMonitorRunDto"},"healthScoreDelta":{"type":"integer","format":"int32"},"statusChanged":{"type":"boolean"},"passingChecksDelta":{"type":"integer","format":"int32"},"failingChecksDelta":{"type":"integer","format":"int32"},"spfChanged":{"type":"boolean"},"dmarcChanged":{"type":"boolean"},"dmarcEnforcedChanged":{"type":"boolean"},"mxChanged":{"type":"boolean"},"addedInsights":{"type":"array","items":{"type":"string"}},"removedInsights":{"type":"array","items":{"type":"string"}}}},"OptInIdentityProjection":{"required":["createdAt","emailAddress","id","updatedAt"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"verified":{"type":"boolean"},"emailAddress":{"type":"string"},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"}}},"PageOptInIdentityProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/OptInIdentityProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated opt in identity projections reflecting users who have verified double-opt in consent to receive emails from your account."},"OptInSendingConsentDto":{"required":["canSend","userHasConsented","verificationCodeSent"],"type":"object","properties":{"verificationCodeSent":{"type":"boolean"},"userHasConsented":{"type":"boolean"},"canSend":{"type":"boolean"}}},"ConnectorProjection":{"required":["createdAt","id","inboxId","userId"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string","format":"uuid"},"enabled":{"type":"boolean"},"emailAddress":{"type":"string"},"inboxId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"description":"Connector"},"PageConnector":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/ConnectorProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated inbox connectors. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"OptionalConnectorSyncSettingsDto":{"required":["present"],"type":"object","properties":{"present":{"type":"boolean"},"result":{"$ref":"#/components/schemas/ConnectorSyncSettingsDto"}}},"OptionalConnectorSmtpConnectionDto":{"required":["present"],"type":"object","properties":{"present":{"type":"boolean"},"result":{"$ref":"#/components/schemas/ConnectorSmtpConnectionDto"}}},"OptionalConnectorImapConnectionDto":{"required":["present"],"type":"object","properties":{"present":{"type":"boolean"},"result":{"$ref":"#/components/schemas/ConnectorImapConnectionDto"}}},"ConnectorEventProjection":{"required":["connectorId","createdAt","eventType","size","status"],"type":"object","properties":{"message":{"type":"string"},"id":{"type":"string","format":"uuid"},"size":{"type":"integer","format":"int64"},"status":{"type":"string","enum":["SUCCESS","INTERNAL_ERROR","SUBSCRIPTION_ERROR","CONNECTION_ERROR","NOT_FOUND"]},"eventType":{"type":"string","enum":["SEND","SYNC"]},"createdAt":{"type":"string","format":"date-time"},"connectorId":{"type":"string","format":"uuid"},"seen":{"type":"boolean"}},"description":"ConnectorEventProjection"},"PageConnectorEvents":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/ConnectorEventProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated inbox connector events. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"ConnectorProviderSettingsDto":{"required":["googleSettings","microsoftSettings"],"type":"object","properties":{"googleSettings":{"$ref":"#/components/schemas/ProviderSettings"},"microsoftSettings":{"$ref":"#/components/schemas/ProviderSettings"}}},"ProviderSettings":{"required":["imapHost","imapPort","imapSsl","mailProvider","smtpHost","smtpPort","smtpSsl"],"type":"object","properties":{"mailProvider":{"type":"string","enum":["GOOGLE","MICROSOFT"]},"imapHost":{"type":"string"},"imapPort":{"type":"integer","format":"int32"},"imapSsl":{"type":"boolean"},"imapStartTls":{"type":"boolean"},"smtpHost":{"type":"string"},"smtpPort":{"type":"integer","format":"int32"},"smtpSsl":{"type":"boolean"},"smtpStartTls":{"type":"boolean"}}},"ConnectorEventDto":{"required":["connectorId","createdAt","eventType","id","size","status"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"connectorId":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["SUCCESS","INTERNAL_ERROR","SUBSCRIPTION_ERROR","CONNECTION_ERROR","NOT_FOUND"]},"eventType":{"type":"string","enum":["SEND","SYNC"]},"size":{"type":"integer","format":"int64"},"message":{"type":"string"},"logs":{"type":"string"},"seen":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"}}},"OptionalConnectorDto":{"required":["present"],"type":"object","properties":{"present":{"type":"boolean"},"result":{"$ref":"#/components/schemas/ConnectorDto"}}},"CampaignProbeSeriesDto":{"required":["before","bucket","points","probeId","since"],"type":"object","properties":{"probeId":{"type":"string","format":"uuid"},"since":{"type":"string","format":"date-time"},"before":{"type":"string","format":"date-time"},"bucket":{"type":"string","enum":["HOUR","DAY"]},"points":{"type":"array","items":{"$ref":"#/components/schemas/CampaignProbeSeriesPointDto"}}}},"CampaignProbeSeriesPointDto":{"required":["averageHealthScore","bucketStart","failedCount","healthyCount","healthyRate","runCount","warningCount"],"type":"object","properties":{"bucketStart":{"type":"string","format":"date-time"},"runCount":{"type":"integer","format":"int32"},"healthyCount":{"type":"integer","format":"int32"},"warningCount":{"type":"integer","format":"int32"},"failedCount":{"type":"integer","format":"int32"},"healthyRate":{"type":"number","format":"double"},"averageHealthScore":{"type":"number","format":"double"}}},"CampaignProbeRunComparisonDto":{"required":["addedInsights","attachmentMentionIssueDelta","baseline","compatibilityNotSupportedDelta","compatibilityWarningDelta","current","healthScoreDelta","htmlErrorDelta","htmlWarningDelta","imageIssueDelta","linkIssueDelta","removedInsights","reputationFailureDelta","statusChanged"],"type":"object","properties":{"baseline":{"$ref":"#/components/schemas/CampaignProbeRunDto"},"current":{"$ref":"#/components/schemas/CampaignProbeRunDto"},"healthScoreDelta":{"type":"integer","format":"int32"},"statusChanged":{"type":"boolean"},"linkIssueDelta":{"type":"integer","format":"int32"},"imageIssueDelta":{"type":"integer","format":"int32"},"compatibilityWarningDelta":{"type":"integer","format":"int32"},"compatibilityNotSupportedDelta":{"type":"integer","format":"int32"},"htmlErrorDelta":{"type":"integer","format":"int32"},"htmlWarningDelta":{"type":"integer","format":"int32"},"reputationFailureDelta":{"type":"integer","format":"int32"},"attachmentMentionIssueDelta":{"type":"integer","format":"int32"},"addedInsights":{"type":"array","items":{"type":"string"}},"removedInsights":{"type":"array","items":{"type":"string"}}}},"CampaignProbeInsightsDto":{"required":["attentionSignals","averageHealthScore","before","bestHealthyStreak","currentHealthyStreak","failedRuns","goodPerformanceSignals","healthyRuns","probeId","since","successRate","topFindings","totalRuns","warningRuns"],"type":"object","properties":{"probeId":{"type":"string","format":"uuid"},"since":{"type":"string","format":"date-time"},"before":{"type":"string","format":"date-time"},"totalRuns":{"type":"integer","format":"int32"},"healthyRuns":{"type":"integer","format":"int32"},"warningRuns":{"type":"integer","format":"int32"},"failedRuns":{"type":"integer","format":"int32"},"successRate":{"type":"number","format":"double"},"averageHealthScore":{"type":"number","format":"double"},"currentHealthyStreak":{"type":"integer","format":"int32"},"bestHealthyStreak":{"type":"integer","format":"int32"},"goodPerformanceSignals":{"type":"array","items":{"type":"string"}},"attentionSignals":{"type":"array","items":{"type":"string"}},"topFindings":{"type":"array","items":{"type":"string"}},"latestRun":{"$ref":"#/components/schemas/CampaignProbeRunDto"}}},"TenantReputationStatusRowDto":{"required":["accountRegion","findingCount","tenantName"],"type":"object","properties":{"accountRegion":{"type":"string","enum":["US_WEST_2_ACCOUNT_STAGING","US_EAST_1_ACCOUNT_STAGING","EU_WEST_1_ACCOUNT_STAGING","US_WEST_2_ACCOUNT_SES_1","EU_WEST_1_ACCOUNT_SES_1","US_WEST_2_ACCOUNT_SES_2","EU_WEST_1_ACCOUNT_SES_2","US_WEST_2_ACCOUNT_BYTEWISE","EU_WEST_1_ACCOUNT_BYTEWISE","US_WEST_2","EU_WEST_1","US_EAST_1"]},"tenantName":{"type":"string"},"tenantArn":{"type":"string"},"sendingStatus":{"type":"string"},"reputationStatus":{"type":"string"},"reputationPolicy":{"type":"string"},"customerManagedSendingStatus":{"type":"string"},"awsManagedSendingStatus":{"type":"string"},"findingCount":{"type":"integer","format":"int32"},"bounceRate":{"type":"number","format":"double"},"complaintRate":{"type":"number","format":"double"},"sendLastHour":{"type":"number","format":"double"},"metricTimestamp":{"type":"string","format":"date-time"},"error":{"type":"string"}}},"TenantReputationStatusSummaryDto":{"required":["generatedAt","rows","userId"],"type":"object","properties":{"generatedAt":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"},"rows":{"type":"array","items":{"$ref":"#/components/schemas/TenantReputationStatusRowDto"}}}},"TenantReputationFindingDto":{"required":["accountRegion","tenantName"],"type":"object","properties":{"accountRegion":{"type":"string","enum":["US_WEST_2_ACCOUNT_STAGING","US_EAST_1_ACCOUNT_STAGING","EU_WEST_1_ACCOUNT_STAGING","US_WEST_2_ACCOUNT_SES_1","EU_WEST_1_ACCOUNT_SES_1","US_WEST_2_ACCOUNT_SES_2","EU_WEST_1_ACCOUNT_SES_2","US_WEST_2_ACCOUNT_BYTEWISE","EU_WEST_1_ACCOUNT_BYTEWISE","US_WEST_2","EU_WEST_1","US_EAST_1"]},"tenantName":{"type":"string"},"tenantArn":{"type":"string"},"type":{"type":"string"},"impact":{"type":"string"},"status":{"type":"string"},"description":{"type":"string"},"createdTimestamp":{"type":"string","format":"date-time"},"lastUpdatedTimestamp":{"type":"string","format":"date-time"}}},"TenantReputationFindingsDto":{"required":["findings","generatedAt","userId"],"type":"object","properties":{"generatedAt":{"type":"string","format":"date-time"},"userId":{"type":"string","format":"uuid"},"findings":{"type":"array","items":{"$ref":"#/components/schemas/TenantReputationFindingDto"}}}},"PageReputationItems":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/ReputationItemProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated reputation items like complaints and bounces. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"ReputationItemProjection":{"required":["createdAt","id","reputationType","severity"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"severity":{"type":"string","enum":["INFO","WARNING","DANGER"]},"createdAt":{"type":"string","format":"date-time"},"recipient":{"type":"string"},"reputationType":{"type":"string","enum":["COMPLAINT","BOUNCE"]},"source":{"type":"string"}}},"BounceRecipientProjection":{"required":["createdAt","recipient"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string","nullable":true},"sentEmailId":{"type":"string","format":"uuid","nullable":true},"createdAt":{"type":"string","format":"date-time"},"recipient":{"type":"string"},"bounceType":{"type":"string","nullable":true},"action":{"type":"string","nullable":true}},"description":"Bounced recipient"},"PageBouncedRecipients":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/BounceRecipientProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated bounced recipients. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"BouncedRecipientDto":{"required":["createdAt","id","recipient"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid","nullable":true},"sentEmailId":{"type":"string","format":"uuid","nullable":true},"recipient":{"type":"string"},"diagnosticCode":{"type":"string","nullable":true},"action":{"type":"string","nullable":true},"bounceType":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"}},"description":"Bounced recipient"},"ListUnsubscribeRecipientProjection":{"required":["createdAt","emailAddress","id"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"emailAddress":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"domainId":{"type":"string","format":"uuid","nullable":true}},"description":"List unsubscribe recipient"},"PageListUnsubscribeRecipients":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/ListUnsubscribeRecipientProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated list unsubscribe recipients. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"BounceProjection":{"required":["createdAt","sender"],"type":"object","properties":{"subject":{"type":"string","nullable":true},"id":{"type":"string","format":"uuid"},"sender":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"bounceType":{"type":"string","nullable":true},"bounceMta":{"type":"string","nullable":true}},"description":"Bounced email event"},"PageBouncedEmail":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/BounceProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated bounced email. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"BouncedEmailDto":{"required":["createdAt","id","notificationType","sender","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"notificationType":{"type":"string"},"sentToRecipients":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"sender":{"type":"string"},"bounceMta":{"type":"string","nullable":true},"bounceType":{"type":"string","nullable":true},"bounceRecipients":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"bounceSubType":{"type":"string","nullable":true},"sentEmailId":{"type":"string","format":"uuid","nullable":true},"subject":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"}},"description":"Bounced email"},"Complaint":{"required":["complaintRecipient","createdAt","id","updatedAt"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"eventType":{"type":"string"},"mailSource":{"type":"string"},"mailMessageId":{"type":"string"},"complaintRecipient":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"PageComplaint":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Complaint"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated complaint email. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"AccountBounceBlockDto":{"required":["bounceCount","bounceCountToday","isFrozen","isSendingBlocked","maximumAccountBounces","maximumDailyBounces"],"type":"object","properties":{"isFrozen":{"type":"boolean"},"isSendingBlocked":{"type":"boolean"},"bounceCount":{"type":"integer","format":"int64"},"bounceCountToday":{"type":"integer","format":"int64"},"maximumDailyBounces":{"type":"integer","format":"int64"},"maximumAccountBounces":{"type":"integer","format":"int64"}}},"AttachmentProjection":{"required":["attachmentId","createdAt","id","updatedAt","userId"],"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","description":"ID","format":"uuid"},"contentLength":{"type":"integer","description":"Content length of attachment in bytes","format":"int64","nullable":true},"inboxId":{"type":"string","description":"Inbox ID","format":"uuid"},"userId":{"type":"string","format":"uuid"},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"contentId":{"type":"string","description":"Content ID of attachment.","nullable":true},"attachmentId":{"type":"string","description":"Attachment ID"},"contentType":{"type":"string","description":"Content type of attachment.","nullable":true,"example":"image/png"}},"description":"Email attachment data"},"PageAttachmentEntity":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/AttachmentProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated attachment entity results. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"AttachmentEntityDto":{"required":["attachmentId","createdAt","id","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","description":"The unique identifier for this attachment.","format":"uuid"},"attachmentId":{"type":"string","description":"The identifier of the attachment file"},"userId":{"type":"string","description":"The user identifier associated with this attachment.","format":"uuid"},"contentType":{"type":"string","description":"The content type of the attachment.","nullable":true},"contentLength":{"type":"integer","description":"The content length of the attachment in bytes.","format":"int64","nullable":true},"contentId":{"type":"string","description":"The content identifier, which is a unique ID for the content part of the email.","nullable":true},"name":{"type":"string","description":"The name of the attachment file.","nullable":true},"inboxId":{"type":"string","description":"The inbox identifier associated with this attachment.","format":"uuid","nullable":true},"createdAt":{"type":"string","description":"The timestamp when this attachment was created.","format":"date-time"},"updatedAt":{"type":"string","description":"The timestamp when this attachment was last updated.","format":"date-time"}},"description":"DTO representation of an attachment."},"AliasProjection":{"required":["createdAt","emailAddress","id","inboxId","updatedAt","userId"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string","format":"uuid"},"emailAddress":{"type":"string"},"inboxId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"updatedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"useThreads":{"type":"boolean"}},"description":"Representation of a alias"},"PageAlias":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/AliasProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated email alias results. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"AliasThreadProjection":{"required":["aliasId","createdAt","id","inboxId","to","updatedAt","userId"],"type":"object","properties":{"subject":{"type":"string","description":"Thread subject"},"name":{"type":"string","description":"Name of thread"},"id":{"type":"string","description":"ID of email thread","format":"uuid"},"inboxId":{"type":"string","description":"Inbox ID","format":"uuid"},"userId":{"type":"string","description":"User ID","format":"uuid"},"aliasId":{"type":"string","description":"Alias ID","format":"uuid"},"updatedAt":{"type":"string","description":"Updated at DateTime","format":"date-time"},"createdAt":{"type":"string","description":"Created at DateTime","format":"date-time"},"to":{"type":"array","description":"To recipients","items":{"type":"string","description":"To recipients"}},"cc":{"type":"array","description":"CC recipients","items":{"type":"string","description":"CC recipients"}},"bcc":{"type":"array","description":"BCC recipients","items":{"type":"string","description":"BCC recipients"}}},"description":"A thread is a message thread created for a message received by an alias"},"PageAliasThreadProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/AliasThreadProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated alias thread projection results."},"AITransformProjection":{"required":["createdAt","id"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"},"conditions":{"type":"array","items":{"type":"string"}},"instructions":{"type":"array","items":{"type":"string"}},"outputSchema":{"$ref":"#/components/schemas/StructuredOutputSchema"}}},"PageAITransformProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/AITransformProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated AI Transform entity. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"AITransformResultProjectionDto":{"required":["aiTransformId","createdAt","id","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"aiTransformId":{"type":"string","format":"uuid"},"aiTransformMappingId":{"type":"string","format":"uuid","nullable":true},"userId":{"type":"string","format":"uuid"},"value":{"type":"object","nullable":true},"entityId":{"type":"string","format":"uuid","nullable":true},"entityType":{"type":"string","nullable":true,"enum":["INBOX","PHONE"]},"smsId":{"type":"string","format":"uuid","nullable":true},"emailId":{"type":"string","format":"uuid","nullable":true},"attachmentId":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"}}},"PageAITransformResultProjection":{"required":["columns","totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/AITransformResultProjectionDto"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"columns":{"type":"array","items":{"type":"string"}},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated AI Transform result entities. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"AITransformResultDto":{"required":["aiTransformId","columns","createdAt","id","updatedAt","userId"],"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"aiTransformId":{"type":"string","format":"uuid"},"aiTransformMappingId":{"type":"string","format":"uuid","nullable":true},"value":{"type":"object","nullable":true},"entityId":{"type":"string","format":"uuid","nullable":true},"entityType":{"type":"string","nullable":true,"enum":["INBOX","PHONE"]},"columns":{"type":"array","nullable":true,"items":{"type":"string","nullable":true}},"emailId":{"type":"string","format":"uuid","nullable":true},"smsId":{"type":"string","format":"uuid","nullable":true},"attachmentId":{"type":"string","nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"PageTableData":{"required":["headers","pagination","rows"],"type":"object","properties":{"headers":{"type":"array","items":{"type":"string"}},"rows":{"type":"array","items":{"type":"array","items":{"type":"string"}}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"Pagination":{"required":["pageNumber","pageSize"],"type":"object","properties":{"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"}}},"AITransformMappingProjection":{"required":["aiTransformId","createdAt","entityType","id","userId"],"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"},"entityType":{"type":"string","enum":["INBOX","PHONE"]},"aiTransformId":{"type":"string","format":"uuid"},"entityId":{"type":"string","format":"uuid"},"contentSelector":{"type":"string","enum":["RAW","BODY","BODY_ATTACHMENTS"]},"triggerSelector":{"type":"string","enum":["PER_MESSAGE","PER_ATTACHMENT"]}}},"PageAITransformMappingProjection":{"required":["totalElements","totalPages"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/AITransformMappingProjection"}},"pageable":{"$ref":"#/components/schemas/PageableObject"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"last":{"type":"boolean"},"size":{"type":"integer","format":"int32"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/SortObject"},"first":{"type":"boolean"},"empty":{"type":"boolean"}},"description":"Paginated AI Transform mapping entities. Page index starts at zero. Projection results may omit larger entity fields. For fetching a full entity use the projection ID with individual method calls."},"EmptyResponseDto":{"type":"object","properties":{"message":{"type":"string"}}},"DeleteResult":{"required":["status"],"type":"object","properties":{"status":{"type":"string","enum":["SUCCESS"]}}},"FlushExpiredInboxesResult":{"required":["expireBefore","inboxIds"],"type":"object","properties":{"inboxIds":{"type":"array","description":"Inbox IDs affected by expiration","items":{"type":"string","description":"Inbox IDs affected by expiration","format":"uuid"}},"expireBefore":{"type":"string","description":"DateTime to filter inboxes so that those expiring before this time are expired","format":"date-time"}},"description":"Result from calling expire on any inboxes that have applicable expiration dates given current time."},"DeleteDevicePreviewRunResult":{"required":["deleted","remoteCleanupAttempted","remoteCleanupSucceeded","runId"],"type":"object","properties":{"runId":{"type":"string","format":"uuid"},"deleted":{"type":"boolean"},"remoteCleanupAttempted":{"type":"boolean"},"remoteCleanupSucceeded":{"type":"boolean"}}}},"securitySchemes":{"API_KEY":{"type":"apiKey","description":"Set x-api-key API KEY header in your client to your MailSlurp API Key value.","name":"x-api-key","in":"header"}}}}