{"openapi":"3.1.0","info":{"title":"API Reference","version":"1.0.0"},"paths":{"/allowlists/add":{"post":{"operationId":"allowlist_allowlists/add","summary":"Add email to allowlist","description":"Adds an email to your email rejection allowlist. If the address is currently on your denylist, that denylist entry will be removed automatically.","tags":["allowlist"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllowlistsAddResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"422":{"description":"One or more request parameters failed validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllowlistsAddRequest"}}}}}},"/allowlists/list":{"post":{"operationId":"allowlist_allowlists/list","summary":"List allowlist entries","description":"Retrieves your email rejection allowlist. You can provide an email address or search prefix to limit the results. Returns up to 1000 results.","tags":["allowlist"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllowlistsListResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllowlistsListRequest"}}}}}},"/allowlists/delete":{"post":{"operationId":"allowlist_allowlists/delete","summary":"Remove email from allowlist","description":"Removes an email address from the allowlist.","tags":["allowlist"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllowlistsDeleteResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"422":{"description":"One or more request parameters failed validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllowlistsDeleteRequest"}}}}}},"/exports/info":{"post":{"operationId":"exports_info","summary":"Get export job information","description":"Returns information about an export job including status and download URL when complete.","tags":["exports"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportsInfoResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown export job","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportsInfoRequest"}}}}}},"/exports/list":{"post":{"operationId":"exports_list","summary":"List export jobs","description":"Returns a list of all export jobs for the account.","tags":["exports"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportsListResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportsListRequest"}}}}}},"/exports/rejects":{"post":{"operationId":"exports_rejects","summary":"Export rejection blacklist","description":"Begins an export of your rejection blacklist. The blacklist will be exported to a zip archive containing a single file named rejects.csv.","tags":["exports"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportsRejectsResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportsRejectsRequest"}}}}}},"/exports/whitelist":{"post":{"operationId":"exports_whitelist","summary":"Export allowlist (legacy)","description":"Begins an export of your rejection allowlist. The allowlist will be exported to a zip archive containing a single file named allowlist.csv.","tags":["exports"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportsWhitelistResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportsWhitelistRequest"}}}}}},"/exports/allowlist":{"post":{"operationId":"exports_allowlist","summary":"Export rejection allowlist","description":"Begins an export of your rejection allowlist. The allowlist will be exported to a zip archive containing a single file named allowlist.csv.","tags":["exports"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportsAllowlistResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportsAllowlistRequest"}}}}}},"/exports/activity":{"post":{"operationId":"exports_activity","summary":"Export activity history","description":"Begins an export of your activity history. The activity will be exported to a zip archive containing a single file named activity.csv with message details and custom metadata fields.","tags":["exports"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportsActivityResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportsActivityRequest"}}}}}},"/ips/list":{"post":{"operationId":"dedicatedIps_ips/list","summary":"List dedicated IPs","description":"Lists your dedicated IPs.","tags":["dedicatedIps"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsListResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsListRequest"}}}}}},"/ips/info":{"post":{"operationId":"dedicatedIps_ips/info","summary":"Get dedicated IP information","description":"Retrieves information about a single dedicated IP.","tags":["dedicatedIps"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsInfoResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsInfoRequest"}}}}}},"/ips/provision":{"post":{"operationId":"dedicatedIps_ips/provision","summary":"Request dedicated IP provisioning","description":"Requests an additional dedicated IP for your account. Accounts may have one outstanding request at any time, and provisioning requests are processed within 24 hours.","tags":["dedicatedIps"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsProvisionResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"402":{"description":"A paid plan is required to use this feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}},"404":{"description":"Unknown IP pool","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPPoolNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsProvisionRequest"}}}}}},"/ips/start-warmup":{"post":{"operationId":"dedicatedIps_ips/start-warmup","summary":"Start IP warmup process","description":"Begins the warmup process for a dedicated IP. During the warmup process, Mandrill will gradually increase the percentage of your mail that is sent over the warming-up IP, over a period of roughly 30 days. The rest of your mail will be sent over shared IPs or other dedicated IPs in the same pool.","tags":["dedicatedIps"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsStartWarmupResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown dedicated IP","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsStartWarmupRequest"}}}}}},"/ips/cancel-warmup":{"post":{"operationId":"dedicatedIps_ips/cancel-warmup","summary":"Cancel IP warmup process","description":"Cancels the warmup process for a dedicated IP.","tags":["dedicatedIps"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsCancelWarmupResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown dedicated IP","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsCancelWarmupRequest"}}}}}},"/ips/set-pool":{"post":{"operationId":"dedicatedIps_ips/set-pool","summary":"Move IP to different pool","description":"Moves a dedicated IP to a different pool.","tags":["dedicatedIps"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsSetPoolResponse"}}}},"400":{"description":"Cannot leave default pool empty","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPInvalidEmptyDefaultPoolError"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown IP or pool","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPOrPoolNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsSetPoolRequest"}}}}}},"/ips/delete":{"post":{"operationId":"dedicatedIps_ips/delete","summary":"Delete dedicated IP","description":"Deletes a dedicated IP. This is permanent and cannot be undone.","tags":["dedicatedIps"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsDeleteResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsDeleteRequest"}}}}}},"/ips/list-pools":{"post":{"operationId":"dedicatedIps_ips/list-pools","summary":"List dedicated IP pools","description":"Lists your dedicated IP pools.","tags":["dedicatedIps"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsListPoolsResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsListPoolsRequest"}}}}}},"/ips/pool-info":{"post":{"operationId":"dedicatedIps_ips/pool-info","summary":"Get pool information","description":"Describes a single dedicated IP pool.","tags":["dedicatedIps"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsPoolInfoResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown IP pool","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPPoolNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsPoolInfoRequest"}}}}}},"/ips/create-pool":{"post":{"operationId":"dedicatedIps_ips/create-pool","summary":"Create dedicated IP pool","description":"Creates a pool and returns it. If a pool already exists with this name, no action will be performed.","tags":["dedicatedIps"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsCreatePoolResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsCreatePoolRequest"}}}}}},"/ips/delete-pool":{"post":{"operationId":"dedicatedIps_ips/delete-pool","summary":"Delete dedicated IP pool","description":"Deletes a pool. A pool must be empty before you can delete it, and you cannot delete your default pool.","tags":["dedicatedIps"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsDeletePoolResponse"}}}},"400":{"description":"Cannot delete default pool or non-empty pool","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPInvalidDeletePoolError"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown IP pool","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPPoolNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsDeletePoolRequest"}}}}}},"/ips/check-custom-dns":{"post":{"operationId":"dedicatedIps_ips/check-custom-dns","summary":"Test custom DNS configuration","description":"Tests whether a domain name is valid for use as the custom reverse DNS for a dedicated IP.","tags":["dedicatedIps"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsCheckCustomDnsResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown dedicated IP","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsCheckCustomDnsRequest"}}}}}},"/ips/set-custom-dns":{"post":{"operationId":"dedicatedIps_ips/set-custom-dns","summary":"Configure custom DNS for IP","description":"Configures the custom DNS name for a dedicated IP.","tags":["dedicatedIps"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsSetCustomDnsResponse"}}}},"400":{"description":"Invalid custom DNS configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPInvalidCustomDnsError"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown dedicated IP","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPsSetCustomDnsRequest"}}}}}},"/inbound/domains":{"post":{"operationId":"inbound_domains","summary":"List inbound domains","description":"List the domains that have been configured for inbound delivery.","tags":["inbound"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundDomainsResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundDomainsRequest"}}}}}},"/inbound/add-domain":{"post":{"operationId":"inbound_addDomain","summary":"Add inbound domain","description":"Add an inbound domain to your account.","tags":["inbound"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundAddDomainResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundAddDomainRequest"}}}}}},"/inbound/check-domain":{"post":{"operationId":"inbound_checkDomain","summary":"Check domain settings","description":"Check the MX settings for an inbound domain. The domain must have already been added with the add-domain call.","tags":["inbound"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundCheckDomainResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown inbound domain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundDomainNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundCheckDomainRequest"}}}}}},"/inbound/delete-domain":{"post":{"operationId":"inbound_deleteDomain","summary":"Delete inbound domain","description":"Delete an inbound domain from the account. All mail will stop routing for this domain immediately.","tags":["inbound"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundDeleteDomainResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown inbound domain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundDomainNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundDeleteDomainRequest"}}}}}},"/inbound/routes":{"post":{"operationId":"inbound_routes","summary":"List routes","description":"List the routes defined for an inbound domain or SMS program. Provide either domain or phone (not both).","tags":["inbound"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundRoutesResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown inbound domain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundDomainNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundRoutesRequest"}}}}}},"/inbound/add-route":{"post":{"operationId":"inbound_addRoute","summary":"Add route","description":"Add a new route to an inbound domain or SMS program. Provide either domain or phone (not both).","tags":["inbound"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundAddRouteResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown inbound domain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundDomainNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundAddRouteRequest"}}}}}},"/inbound/update-route":{"post":{"operationId":"inbound_updateRoute","summary":"Update mailbox route","description":"Update the pattern or webhook of an existing inbound mailbox route. If null is provided for any fields, the values will remain unchanged.","tags":["inbound"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundUpdateRouteResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown inbound route","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundRouteNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundUpdateRouteRequest"}}}}}},"/inbound/delete-route":{"post":{"operationId":"inbound_deleteRoute","summary":"Delete route","description":"Delete an existing inbound route.","tags":["inbound"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundDeleteRouteResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown inbound route","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundRouteNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundDeleteRouteRequest"}}}}}},"/inbound/send-raw":{"post":{"operationId":"inbound_sendRaw","summary":"Send mime document","description":"Take a raw MIME document destined for a domain with inbound domains set up, and send it to the inbound hook exactly as if it had been sent over SMTP.","tags":["inbound"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundSendRawResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown inbound domain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundDomainNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundSendRawRequest"}}}}}},"/mctemplates/info":{"post":{"operationId":"mailchimpTemplates_mctemplates/info","summary":"Get template info","description":"Returns complete information about a Mailchimp Transactional template including draft and published versions","tags":["mailchimpTemplates"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MctemplatesInfoResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Mailchimp template not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MctemplateNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MctemplatesInfoRequest"}}}}}},"/mctemplates/list":{"post":{"operationId":"mailchimpTemplates_mctemplates/list","summary":"List templates","description":"Returns a list of all Mailchimp Transactional templates for the authenticated user","tags":["mailchimpTemplates"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MctemplatesListResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MctemplatesListRequest"}}}}}},"/mctemplates/render":{"post":{"operationId":"mailchimpTemplates_mctemplates/render","summary":"Render template","description":"Renders a Mailchimp Transactional template with optional merge variables","tags":["mailchimpTemplates"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MctemplatesRenderResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Mailchimp template not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MctemplateNotFoundError"}}}},"422":{"description":"Invalid mc_template_version parameter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MctemplateInvalidVersionError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MctemplatesRenderRequest"}}}}}},"/mctemplates/time-series":{"post":{"operationId":"mailchimpTemplates_mctemplates/time-series","summary":"Get template time series","description":"Returns hourly stats for the last 30 days for a Mailchimp Transactional template. Returns an empty array if the template exists but has never been used to send messages.","tags":["mailchimpTemplates"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MctemplatesTimeSeriesResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Mailchimp template not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MctemplateNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MctemplatesTimeSeriesRequest"}}}}}},"/messages/send":{"post":{"operationId":"messages_send","summary":"Send a message","description":"Send a new transactional message through Mandrill\n\n<table class=\"simple top30 errors\">\n     <thead><tr><th colspan=\"1\">Note</th></tr></thead>\n     <tbody>\n         <tr>\n             <td class=\"param-desc\">\n                 If you signed up for a Mandrill account on or after December 1st, 2015, you must add SPF and DKIM records and verify ownership of your sending domains before you can send email through your account. Mandrill will not send any email from unverified domains or domains without valid SPF and DKIM records, including public domains like gmail.com, yahoo.com, and more.<br><br>Custom signing domains are only available to Mandrill accounts created before December 1st, 2015. If you signed up for a new Mandrill account on or after December 1st, 2015, the signing_domain parameter will be ignored.<br><br>Mail sent from unverified domains or domains without valid SPF and DKIM records will be rejected with the reject_reason, unsigned.<br><br>Learn more about <a href='https://mailchimp.com/developer/transactional/docs/authentication-delivery/#authentication'>SPF and DKIM</a>, and <a href='https://mailchimp.com/developer/transactional/guides/send-first-email/#verify-domain-ownership'>domain verification</a>\n             </td>\n         </tr>\n     </tbody>\n </table>","tags":["messages"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesSendResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"402":{"description":"A paid plan is required to use this feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}},"404":{"description":"Unknown subaccount","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageSubaccountNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesSendRequest"}}}}}},"/messages/send-template":{"post":{"operationId":"messages_sendTemplate","summary":"Send using a template","description":"Send a new transactional message using a template. If you signed up for a Mandrill account on or after December 1st, 2015, you must add SPF and DKIM records and verify ownership of your sending domains before you can send email through your account. Mandrill will not send any email from unverified domains or domains without valid SPF and DKIM records, including public domains like gmail.com, yahoo.com, and more. Custom signing domains are only available to Mandrill accounts created before December 1st, 2015. If you signed up for a new Mandrill account on or after December 1st, 2015, the signing_domain parameter will be ignored. Mail sent from unverified domains or domains without valid SPF and DKIM records will be rejected with the reject_reason, unsigned.","tags":["messages"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesSendTemplateResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"402":{"description":"A paid plan is required to use this feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}},"404":{"description":"Template or subaccount not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Messages_send-templateRequestNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesSendTemplateRequest"}}}}}},"/messages/send-mc-template":{"post":{"operationId":"messages_sendMcTemplate","summary":"Send using Mailchimp template","description":"Send a new transactional message through Mandrill using a Mailchimp Transactional template.","tags":["messages"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesSendMcTemplateResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"402":{"description":"A paid plan is required to use this feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}},"404":{"description":"Template or subaccount not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Messages_send-mc-templateRequestNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesSendMcTemplateRequest"}}}}}},"/messages/search":{"post":{"operationId":"messages_search","summary":"Search recently sent messages","description":"Search recently sent messages and optionally narrow by date range, tags, senders, and API keys. Results can include both email and SMS messages. If no date range is specified, results within the last 7 days are returned.","tags":["messages"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesSearchResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}},"503":{"description":"Service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageServiceUnavailableError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesSearchRequest"}}}}}},"/messages/search-time-series":{"post":{"operationId":"messages_searchTimeSeries","summary":"Search time series","description":"Search the content of recently sent messages and return the aggregated hourly stats for matching messages.","tags":["messages"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesSearchTimeSeriesResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}},"503":{"description":"Service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageServiceUnavailableError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesSearchTimeSeriesRequest"}}}}}},"/messages/info":{"post":{"operationId":"messages_info","summary":"Get message info","description":"Returns detailed information about a single sent message. Can return either email or SMS message information depending on the message type.","tags":["messages"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesInfoResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Message not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesInfoRequest"}}}}}},"/messages/content":{"post":{"operationId":"messages_content","summary":"Get message content","description":"Returns the full content of a recently sent message. For email messages, includes HTML, text, and attachments. For SMS messages, includes text content and SMS-specific fields.","tags":["messages"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesContentResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Message not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesContentRequest"}}}}}},"/messages/parse":{"post":{"operationId":"messages_parse","summary":"Parse a MIME message","description":"Parse the full MIME document for an email message, returning the content of the message broken into its constituent pieces.","tags":["messages"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesParseResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"422":{"description":"One or more request parameters failed validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesParseRequest"}}}}}},"/messages/send-raw":{"post":{"operationId":"messages_sendRaw","summary":"Send a raw message","description":"Send a raw MIME document for a message, and send it exactly as if it were sent through Mandrill's SMTP servers.","tags":["messages"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesSendRawResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"402":{"description":"A paid plan is required to use this feature.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}},"404":{"description":"Unknown subaccount","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageSubaccountNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesSendRawRequest"}}}}}},"/messages/list-scheduled":{"post":{"operationId":"messages_listScheduled","summary":"Get scheduled emails","description":"Queries your scheduled emails.","tags":["messages"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesListScheduledResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesListScheduledRequest"}}}}}},"/messages/cancel-scheduled":{"post":{"operationId":"messages_cancelScheduled","summary":"Cancel a scheduled email","description":"Cancels a scheduled email.","tags":["messages"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesCancelScheduledResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Message not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesCancelScheduledRequest"}}}}}},"/messages/reschedule":{"post":{"operationId":"messages_reschedule","summary":"Reschedule a scheduled email","description":"Reschedules a scheduled email.","tags":["messages"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesRescheduleResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Message not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesRescheduleRequest"}}}}}},"/messages/send-sms":{"post":{"operationId":"messages_sendSms","summary":"Send SMS message","description":"Send a new SMS message through Mandrill","tags":["messages"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesSendSmsResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown subaccount for SMS message","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageSmsSubaccountNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesSendSmsRequest"}}}}}},"/metadata/list":{"post":{"operationId":"metadata_list","summary":"List custom metadata fields","description":"Get the list of custom metadata fields indexed for the account","tags":["metadata"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataListResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataListRequest"}}}}}},"/metadata/add":{"post":{"operationId":"metadata_add","summary":"Add custom metadata field","description":"Add a new custom metadata field to be indexed for the account","tags":["metadata"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataAddResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"422":{"description":"One or more request parameters failed validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataAddRequest"}}}}}},"/metadata/update":{"post":{"operationId":"metadata_update","summary":"Update custom metadata field","description":"Update an existing custom metadata field","tags":["metadata"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataUpdateResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown metadata field","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataUpdateRequest"}}}}}},"/metadata/delete":{"post":{"operationId":"metadata_delete","summary":"Delete custom metadata field","description":"Delete an existing custom metadata field. Deletion is not instantaneous, and /metadata/list will continue to return the field until the asynchronous deletion process is complete.","tags":["metadata"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataDeleteResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown metadata field","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataDeleteRequest"}}}}}},"/rejects/add":{"post":{"operationId":"rejects_add","summary":"Add email to rejection blacklist","description":"Adds an email to your email rejection denylist. Addresses that you add manually will never expire and there is no reputation penalty for removing them from your denylist. Attempting to denylist an address that has been whitelisted will have no effect.","tags":["rejects"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectsAddResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown subaccount","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectSubaccountNotFoundError"}}}},"422":{"description":"One or more request parameters failed validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectsAddRequest"}}}}}},"/rejects/add-sms":{"post":{"operationId":"rejects_addSms","summary":"Add SMS to denylist","description":"Adds a phone number to your SMS rejection denylist. Phone numbers that you add manually will never expire and there is no reputation penalty for removing them from your denylist.","tags":["rejects"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectsAddSmsResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown subaccount","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectSubaccountNotFoundError"}}}},"422":{"description":"One or more request parameters failed validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectsAddSmsRequest"}}}}}},"/rejects/list":{"post":{"operationId":"rejects_list","summary":"List rejection blacklist entries","description":"Retrieves your email rejection denylist. You can provide an email address to limit the results. Returns up to 1000 results. By default, entries that have expired are excluded from the results; set include_expired to true to include them.","tags":["rejects"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectsListResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown subaccount","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectSubaccountNotFoundError"}}}},"429":{"description":"Request rate limit exceeded. Retry after a brief delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestLimitExceededError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectsListRequest"}}}}}},"/rejects/list-sms":{"post":{"operationId":"rejects_listSms","summary":"List SMS denylist","description":"Retrieves your SMS rejection denylist. You can provide a phone number to limit the results. Returns up to 1000 results. By default, entries that have expired are excluded from the results; set include_expired to true to include them.","tags":["rejects"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectsListSmsResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"422":{"description":"One or more request parameters failed validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"429":{"description":"Request rate limit exceeded. Retry after a brief delay.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestLimitExceededError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectsListSmsRequest"}}}}}},"/rejects/delete":{"post":{"operationId":"rejects_delete","summary":"Remove from blacklist","description":"Deletes an email rejection. There is no limit to how many rejections you can remove from your denylist, but keep in mind that each deletion has an affect on your reputation.","tags":["rejects"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectsDeleteResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Email not found in rejection list or unknown subaccount","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectEmailNotFoundError"}}}},"422":{"description":"One or more request parameters failed validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectsDeleteRequest"}}}}}},"/rejects/delete-sms":{"post":{"operationId":"rejects_deleteSms","summary":"Remove SMS from denylist","description":"Deletes an SMS rejection. There is no limit to how many rejections you can remove from your denylist, but keep in mind that each deletion has an affect on your reputation.","tags":["rejects"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectsDeleteSmsResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Phone number not found in rejection list or unknown subaccount","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectPhoneNotFoundError"}}}},"422":{"description":"One or more request parameters failed validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectsDeleteSmsRequest"}}}}}},"/senders/list":{"post":{"operationId":"senders_list","summary":"List senders used by this account","description":"Return the senders that have tried to use this account.","tags":["senders"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendersListResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendersListRequest"}}}}}},"/senders/domains":{"post":{"operationId":"senders_domains","summary":"List sender domains","description":"Returns the sender domains that have been added to this account.","tags":["senders"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendersDomainsResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendersDomainsRequest"}}}}}},"/senders/add-domain":{"post":{"operationId":"senders_addDomain","summary":"Add a sender domain","description":"Adds a sender domain to your account. Sender domains are added automatically as you send, but you can add them ahead of time.","tags":["senders"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendersAddDomainResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendersAddDomainRequest"}}}}}},"/senders/check-domain":{"post":{"operationId":"senders_checkDomain","summary":"Check domain SPF and DKIM","description":"Checks the SPF and DKIM settings for a domain. If it isn't already added to your account, it will be added automatically.","tags":["senders"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendersCheckDomainResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendersCheckDomainRequest"}}}}}},"/senders/verify-domain":{"post":{"operationId":"senders_verifyDomain","summary":"Verify a sender domain by email","description":"Sends a verification email in order to verify ownership of a domain.","tags":["senders"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendersVerifyDomainResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendersVerifyDomainRequest"}}}}}},"/senders/info":{"post":{"operationId":"senders_info","summary":"Get sender info","description":"Return more detailed information about a single sender, including aggregates of recent stats.","tags":["senders"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendersInfoResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown sender","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendersInfoRequest"}}}}}},"/senders/time-series":{"post":{"operationId":"senders_timeSeries","summary":"Get hourly stats for a sender","description":"Return the recent history (hourly stats for the last 30 days) for a sender.","tags":["senders"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendersTimeSeriesResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown sender","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendersTimeSeriesRequest"}}}}}},"/senders/delete-domain":{"post":{"operationId":"senders_deleteDomain","summary":"Delete a sender domain","description":"Deletes an unverified sender domain from your account. Verified domains cannot be deleted via API and require login confirmation.","tags":["senders"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendersDeleteDomainResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"403":{"description":"Cannot delete verified sender domain — please login to confirm deletion","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderCannotDeleteVerifiedError"}}}},"404":{"description":"Unknown sender domain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderDomainNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendersDeleteDomainRequest"}}}}}},"/subaccounts/list":{"post":{"operationId":"subaccounts_list","summary":"List subaccounts","description":"Get the list of subaccounts defined for the account, optionally filtered by a prefix. Returns up to a maximum of 1,000 subaccounts.","tags":["subaccounts"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountsListResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountsListRequest"}}}}}},"/subaccounts/add":{"post":{"operationId":"subaccounts_add","summary":"Add a new subaccount","description":"Create a new subaccount with the specified configuration. The subaccount can be used to organize and track sending for different customers or purposes.","tags":["subaccounts"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountsAddResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"422":{"description":"One or more request parameters failed validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountsAddRequest"}}}}}},"/subaccounts/info":{"post":{"operationId":"subaccounts_info","summary":"Get subaccount information","description":"Retrieve detailed information about a specific subaccount including sending statistics and configuration.","tags":["subaccounts"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountsInfoResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown subaccount","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountsInfoRequest"}}}}}},"/subaccounts/update":{"post":{"operationId":"subaccounts_update","summary":"Update an existing subaccount","description":"Update the configuration of an existing subaccount including name, notes, and custom quota settings.","tags":["subaccounts"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountsUpdateResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown subaccount","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountsUpdateRequest"}}}}}},"/subaccounts/delete":{"post":{"operationId":"subaccounts_delete","summary":"Delete a subaccount","description":"Delete an existing subaccount. Any email related to the subaccount will be saved, but stats will be removed and any future sending calls to this subaccount will fail.","tags":["subaccounts"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountsDeleteResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown subaccount","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountsDeleteRequest"}}}}}},"/subaccounts/pause":{"post":{"operationId":"subaccounts_pause","summary":"Pause a subaccount","description":"Pause a subaccount's sending. Any future emails delivered to this subaccount will be queued for a maximum of 3 days until the subaccount is resumed.","tags":["subaccounts"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountsPauseResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown subaccount","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountsPauseRequest"}}}}}},"/subaccounts/resume":{"post":{"operationId":"subaccounts_resume","summary":"Resume a paused subaccount","description":"Resume a paused subaccount's sending. The subaccount will return to active status and queued emails will be processed.","tags":["subaccounts"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountsResumeResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown subaccount","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubaccountsResumeRequest"}}}}}},"/tags/list":{"post":{"operationId":"tags_list","summary":"List all user-defined tags","description":"Return all of the user-defined tag information","tags":["tags"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagsListResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagsListRequest"}}}}}},"/tags/delete":{"post":{"operationId":"tags_delete","summary":"Delete a tag permanently","description":"Deletes a tag permanently. Deleting a tag removes the tag from any messages that have been sent, and also deletes the tag's stats. There is no way to undo this operation, so use it carefully.","tags":["tags"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagsDeleteResponse"}}}},"400":{"description":"Invalid tag name","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagInvalidNameError"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagsDeleteRequest"}}}}}},"/tags/info":{"post":{"operationId":"tags_info","summary":"Get tag info","description":"Return more detailed information about a single tag, including aggregates of recent stats","tags":["tags"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagsInfoResponse"}}}},"400":{"description":"Invalid tag name","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagInvalidNameError"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagsInfoRequest"}}}}}},"/tags/time-series":{"post":{"operationId":"tags_timeSeries","summary":"Get tag time series","description":"Return the recent history (hourly stats for the last 30 days) for a tag","tags":["tags"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagsTimeSeriesResponse"}}}},"400":{"description":"Invalid tag name","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagInvalidNameError"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagsTimeSeriesRequest"}}}}}},"/tags/all-time-series":{"post":{"operationId":"tags_allTimeSeries","summary":"Get time series data for all tags","description":"Return the recent history (hourly stats for the last 30 days) for all tags","tags":["tags"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagsAllTimeSeriesResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagsAllTimeSeriesRequest"}}}}}},"/templates/add":{"post":{"operationId":"templates_add","summary":"Add a new template","description":"Creates a new email template with the specified content and settings.","tags":["templates"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatesAddResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"422":{"description":"Invalid template data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateInvalidDataError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatesAddRequest"}}}}}},"/templates/info":{"post":{"operationId":"templates_info","summary":"Get template information","description":"Retrieves information for an existing template.","tags":["templates"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatesInfoResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Template not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatesInfoRequest"}}}}}},"/templates/update":{"post":{"operationId":"templates_update","summary":"Update an existing template","description":"Updates the code for an existing template. If null is provided for any fields, the values will remain unchanged.","tags":["templates"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatesUpdateResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Template not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatesUpdateRequest"}}}}}},"/templates/publish":{"post":{"operationId":"templates_publish","summary":"Publish a template","description":"Publishes the content for the template. Any new messages sent using this template will start using the content that was previously in draft.","tags":["templates"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatesPublishResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Template not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatesPublishRequest"}}}}}},"/templates/delete":{"post":{"operationId":"templates_delete","summary":"Delete a template","description":"Deletes an existing template.","tags":["templates"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatesDeleteResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Template not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatesDeleteRequest"}}}}}},"/templates/list":{"post":{"operationId":"templates_list","summary":"List all templates","description":"Returns a list of all templates available to this user.","tags":["templates"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatesListResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatesListRequest"}}}}}},"/templates/time-series":{"post":{"operationId":"templates_timeSeries","summary":"Get template time series data","description":"Returns the recent history (hourly stats for the last 30 days) for a template.","tags":["templates"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatesTimeSeriesResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Template not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatesTimeSeriesRequest"}}}}}},"/templates/render":{"post":{"operationId":"templates_render","summary":"Render a template","description":"Injects content and merge variables into a template, returning the HTML that results.","tags":["templates"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatesRenderResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Template not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatesRenderRequest"}}}}}},"/urls/tracking-domains":{"post":{"operationId":"trackingDomains_urls/tracking-domains","summary":"Get tracking domains","description":"Get the list of tracking domains set up for your account","tags":["trackingDomains"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlsTrackingDomainsResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlsTrackingDomainsRequest"}}}}}},"/urls/add-tracking-domain":{"post":{"operationId":"trackingDomains_urls/add-tracking-domain","summary":"Add tracking domain","description":"Add a tracking domain to your account","tags":["trackingDomains"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlsAddTrackingDomainResponse"}}}},"400":{"description":"Invalid tracking domain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlInvalidDomainError"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlsAddTrackingDomainRequest"}}}}}},"/urls/check-tracking-domain":{"post":{"operationId":"trackingDomains_urls/check-tracking-domain","summary":"Check tracking domain","description":"Checks the CNAME settings for a tracking domain. The domain must have been added already with the add-tracking-domain call","tags":["trackingDomains"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlsCheckTrackingDomainResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown tracking domain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlsCheckTrackingDomainRequest"}}}}}},"/urls/delete-tracking-domain":{"post":{"operationId":"trackingDomains_urls/delete-tracking-domain","summary":"Delete a tracking domain","description":"Deletes an unverified tracking domain from your account. Valid tracking domains cannot be deleted via API and require login confirmation.","tags":["trackingDomains"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlsDeleteTrackingDomainResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"403":{"description":"Cannot delete verified tracking domain — please login to confirm deletion","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlCannotDeleteVerifiedError"}}}},"404":{"description":"Unknown tracking domain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlsDeleteTrackingDomainRequest"}}}}}},"/users/info":{"post":{"operationId":"users_info","summary":"Get account info","description":"Returns user account information including username, reputation, quota, and historical sending stats","tags":["users"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersInfoResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersInfoRequest"}}}}}},"/users/ping":{"post":{"operationId":"users_ping","summary":"Ping","description":"Returns 'PONG!'.","tags":["users"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersPingResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersPingRequest"}}}}}},"/users/ping2":{"post":{"operationId":"users_ping2","summary":"Ping (strict JSON)","description":"Validate an API key and respond to a ping (strict JSON parser version)","tags":["users"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersPing2Response"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersPing2Request"}}}}}},"/users/senders":{"post":{"operationId":"users_senders","summary":"List account senders","description":"Returns an array of sender data for each sending address used by the account, both verified and unverified","tags":["users"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersSendersResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersSendersRequest"}}}}}},"/webhooks/list":{"post":{"operationId":"webhooks_list","summary":"Get the list of all webhooks","description":"Get the list of all webhooks defined for this account","tags":["webhooks"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhooksListResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhooksListRequest"}}}}}},"/webhooks/add":{"post":{"operationId":"webhooks_add","summary":"Add a new webhook","description":"Create a new webhook to receive event notifications","tags":["webhooks"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhooksAddResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhooksAddRequest"}}}}}},"/webhooks/info":{"post":{"operationId":"webhooks_info","summary":"Get webhook information","description":"Get the data about an existing webhook","tags":["webhooks"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhooksInfoResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown webhook","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhooksInfoRequest"}}}}}},"/webhooks/update":{"post":{"operationId":"webhooks_update","summary":"Update an existing webhook","description":"Update the configuration of an existing webhook","tags":["webhooks"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhooksUpdateResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown webhook","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhooksUpdateRequest"}}}}}},"/webhooks/delete":{"post":{"operationId":"webhooks_delete","summary":"Delete an existing webhook","description":"Remove a webhook from the account","tags":["webhooks"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhooksDeleteResponse"}}}},"401":{"description":"Invalid or missing API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidKeyError"}}}},"404":{"description":"Unknown webhook","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookNotFoundError"}}}},"500":{"description":"An unexpected internal server error occurred.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhooksDeleteRequest"}}}}}}},"tags":[{"name":"allowlist"},{"name":"exports"},{"name":"dedicatedIps"},{"name":"inbound"},{"name":"mailchimpTemplates"},{"name":"messages"},{"name":"metadata"},{"name":"rejects"},{"name":"senders"},{"name":"subaccounts"},{"name":"tags"},{"name":"templates"},{"name":"trackingDomains"},{"name":"users"},{"name":"webhooks"}],"servers":[{"url":"https://mandrillapp.com/api/1.4","description":"Mailchimp Transactional API v1.4"}],"components":{"schemas":{"AllowlistsAddRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"email":{"type":"string","format":"email","description":"An email address to add to the allowlist"},"comment":{"type":"string","maxLength":255,"description":"An optional description of why the email was added to the allowlist"}},"required":["key","email"],"description":"Request payload for adding an email to the allowlist","title":"AllowlistsAddRequest"},"AllowlistsAddResponse":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The email address you provided"},"added":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["email","added"],"description":"Response for adding an email to the allowlist","title":"AllowlistsAddResponse"},"InvalidKeyErrorCode":{"type":"string","enum":["401"],"description":"Numeric error code","title":"InvalidKeyErrorCode"},"InvalidKeyErrorName":{"type":"string","enum":["Invalid_Key"],"description":"Machine-friendly error name","title":"InvalidKeyErrorName"},"InvalidKeyError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"$ref":"#/components/schemas/InvalidKeyErrorCode","description":"Numeric error code"},"name":{"$ref":"#/components/schemas/InvalidKeyErrorName","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"The provided API key is not valid or is missing.","title":"InvalidKeyError"},"ValidationErrorName":{"type":"string","enum":["ValidationError"],"description":"Machine-friendly error name","title":"ValidationErrorName"},"ValidationError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"$ref":"#/components/schemas/ValidationErrorName","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"One or more request parameters failed validation.","title":"ValidationError"},"ServerError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"An unexpected internal server error occurred.","title":"ServerError"},"AllowlistsListRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"email":{"type":"string","description":"An optional email address or prefix to search by"}},"required":["key"],"description":"Request payload for retrieving the allowlist","title":"AllowlistsListRequest"},"AllowlistsListResponseItems":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The email address that is allowlisted"},"detail":{"type":["string","null"],"description":"A description of why the email was allowlisted"},"created_at":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"When the email was added to the allowlist"}},"required":["email","detail","created_at"],"title":"AllowlistsListResponseItems"},"AllowlistsListResponse":{"type":"array","items":{"$ref":"#/components/schemas/AllowlistsListResponseItems"},"description":"Response containing up to 1000 allowlist entries","title":"AllowlistsListResponse"},"AllowlistsDeleteRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"email":{"type":"string","format":"email","description":"The email address to remove from the allowlist"}},"required":["key","email"],"description":"Request payload for removing an email from the allowlist","title":"AllowlistsDeleteRequest"},"AllowlistsDeleteResponse":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The email address that was removed from the allowlist"},"deleted":{"type":"boolean","description":"Whether the address was deleted successfully"}},"required":["email","deleted"],"description":"Response for removing an email from the allowlist","title":"AllowlistsDeleteResponse"},"ExportsInfoRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"id":{"type":"string","description":"Export job identifier"}},"required":["key","id"],"description":"Request payload for retrieving export job information","title":"ExportsInfoRequest"},"ExportsInfoResponse":{"description":"Any type","title":"ExportsInfoResponse"},"ExportNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Unknown export job","title":"ExportNotFoundError"},"ExportsListRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"}},"required":["key"],"description":"Request payload for listing export jobs","title":"ExportsListRequest"},"ExportType":{"type":"string","enum":["reject","whitelist","allowlist","activity"],"description":"Type of export job","title":"ExportType"},"ExportState":{"type":"string","enum":["waiting","working","complete","error","expired"],"description":"Current state of the export job","title":"ExportState"},"Export":{"type":"object","properties":{"id":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}\\.\\d+$","description":"Unique identifier for this export job"},"created_at":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"Date and time the export job was created in UTC YYYY-MM-DD HH:MM:SS format"},"type":{"$ref":"#/components/schemas/ExportType","description":"Type of export job"},"finished_at":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"Date and time the export job finished in UTC YYYY-MM-DD HH:MM:SS format, or null if not finished"},"state":{"$ref":"#/components/schemas/ExportState","description":"Current state of the export job"},"result_url":{"type":["string","null"],"format":"uri","description":"URL to download the export results when job is complete, or null if not ready"}},"required":["id","created_at","type","state"],"description":"Export job information including status and download URL when complete","title":"Export"},"ExportsListResponse":{"type":"array","items":{"$ref":"#/components/schemas/Export"},"description":"List of export jobs for the account","title":"ExportsListResponse"},"ExportsRejectsRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"notify_email":{"type":"string","format":"email","description":"Optional email address to notify when the export job has finished"}},"required":["key"],"description":"Request payload for exporting the rejection blacklist","title":"ExportsRejectsRequest"},"ExportsRejectsResponse":{"description":"Any type","title":"ExportsRejectsResponse"},"ExportsWhitelistRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"notify_email":{"type":"string","format":"email","description":"Optional email address to notify when the export job has finished"}},"required":["key"],"description":"Request payload for exporting the rejection allowlist (legacy endpoint)","title":"ExportsWhitelistRequest"},"ExportsWhitelistResponse":{"description":"Any type","title":"ExportsWhitelistResponse"},"ExportsAllowlistRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"notify_email":{"type":"string","format":"email","description":"Optional email address to notify when the export job has finished"}},"required":["key"],"description":"Request payload for exporting the rejection allowlist","title":"ExportsAllowlistRequest"},"ExportsAllowlistResponse":{"description":"Any type","title":"ExportsAllowlistResponse"},"ExportsActivityRequestStatesItems":{"type":"string","enum":["sent","rejected","bounced","soft-bounced","spam","unsub"],"description":"A message state","title":"ExportsActivityRequestStatesItems"},"ExportsActivityRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"notify_email":{"type":"string","format":"email","description":"Optional email address to notify when the export job has finished"},"date_from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"Start date as a UTC string in YYYY-MM-DD HH:MM:SS format"},"date_to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"End date as a UTC string in YYYY-MM-DD HH:MM:SS format"},"tags":{"type":"array","items":{"type":"string"},"description":"Array of tag names to narrow the export to; will match messages that contain ANY of the tags"},"senders":{"type":"array","items":{"type":"string","format":"email"},"description":"Array of sender email addresses to narrow the export to"},"states":{"type":"array","items":{"$ref":"#/components/schemas/ExportsActivityRequestStatesItems"},"description":"Array of message states to narrow the export to; messages with ANY of the states will be included"},"api_keys":{"type":"array","items":{"type":"string"},"description":"Array of API keys to narrow the export to; messages sent with ANY of the keys will be included"}},"required":["key"],"description":"Request parameters for exporting activity history with optional filters","title":"ExportsActivityRequest"},"ExportsActivityResponse":{"description":"Any type","title":"ExportsActivityResponse"},"IPsListRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"}},"required":["key"],"description":"Request payload for listing dedicated IPs","title":"IPsListRequest"},"IpCustomDns":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether custom DNS has been configured for this IP"},"valid":{"type":"boolean","description":"Whether the IP's custom DNS is currently valid"},"error":{"type":["string","null"],"description":"If the IP's custom DNS is invalid, this will include details about the error"}},"required":["enabled","valid"],"description":"Information about the IP's custom DNS configuration","title":"IpCustomDns"},"IPsWarmupStatus":{"type":"object","properties":{"warming_up":{"type":"boolean","description":"Whether the IP is currently in warmup mode"},"start_at":{"type":["string","null"],"description":"The start time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format"},"end_at":{"type":["string","null"],"description":"The end date and time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format"}},"required":["warming_up"],"description":"Information about an IP's warmup status and schedule","title":"IPsWarmupStatus"},"IP":{"type":"object","properties":{"ip":{"type":"string","format":"ipv4","description":"The IP address (IPv4)"},"created_at":{"type":"string","description":"The date and time that the dedicated IP was created as a UTC string in YYYY-MM-DD HH:MM:SS format"},"pool":{"type":"string","description":"The name of the pool that this dedicated IP belongs to"},"domain":{"type":"string","description":"The domain name (reverse DNS) of this dedicated IP"},"custom_dns":{"$ref":"#/components/schemas/IpCustomDns","description":"Information about the IP's custom DNS configuration"},"warmup":{"$ref":"#/components/schemas/IPsWarmupStatus","description":"Information about the IP's warmup status"}},"required":["ip","created_at","pool","domain","custom_dns","warmup"],"description":"Information about a dedicated IP address including warmup status and custom DNS configuration","title":"IP"},"IPsListResponse":{"type":"array","items":{"$ref":"#/components/schemas/IP"},"description":"Array of dedicated IP information","title":"IPsListResponse"},"IPsInfoRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"ip":{"type":"string","description":"A dedicated IP address"}},"required":["key","ip"],"description":"Request payload for retrieving information about a single dedicated IP","title":"IPsInfoRequest"},"IPsInfoResponse":{"description":"Any type","title":"IPsInfoResponse"},"IPsProvisionRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"warmup":{"type":"boolean","description":"Whether to enable warmup mode for the IP"},"pool":{"type":["string","null"],"description":"The ID of the pool to add the dedicated IP to, or null to use your account's default pool"}},"required":["key"],"description":"Request payload for provisioning an additional dedicated IP","title":"IPsProvisionRequest"},"IPsProvisionResponse":{"type":"object","properties":{"requested_at":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?$","description":"The date and time that the request was created as a UTC timestamp in YYYY-MM-DD HH:MM:SS[.fraction] format"}},"required":["requested_at"],"description":"Response for dedicated IP provisioning request","title":"IPsProvisionResponse"},"PaymentRequiredErrorCode":{"type":"string","enum":["10"],"description":"Numeric error code","title":"PaymentRequiredErrorCode"},"PaymentRequiredErrorName":{"type":"string","enum":["PaymentRequired"],"description":"Machine-friendly error name","title":"PaymentRequiredErrorName"},"PaymentRequiredError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"$ref":"#/components/schemas/PaymentRequiredErrorCode","description":"Numeric error code"},"name":{"$ref":"#/components/schemas/PaymentRequiredErrorName","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"The account does not have the required paid plan or billing status to perform this action.","title":"PaymentRequiredError"},"IPPoolNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Unknown IP pool","title":"IPPoolNotFoundError"},"IPsStartWarmupRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"ip":{"type":"string","description":"A dedicated IP address"}},"required":["key","ip"],"description":"Request payload for beginning the warmup process for a dedicated IP","title":"IPsStartWarmupRequest"},"IPsStartWarmupResponse":{"description":"Any type","title":"IPsStartWarmupResponse"},"IPNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Unknown dedicated IP","title":"IPNotFoundError"},"IPsCancelWarmupRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"ip":{"type":"string","description":"A dedicated IP address"}},"required":["key","ip"],"description":"Request payload for cancelling the warmup process for a dedicated IP","title":"IPsCancelWarmupRequest"},"IPsCancelWarmupResponse":{"description":"Any type","title":"IPsCancelWarmupResponse"},"IPsSetPoolRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"ip":{"type":"string","description":"A dedicated IP address"},"pool":{"type":"string","description":"The name of the new pool to add the dedicated IP to"},"create_pool":{"type":"boolean","description":"Whether to create the pool if it does not exist; if false and the pool does not exist, an Unknown_Pool will be thrown"}},"required":["key","ip","pool"],"description":"Request payload for moving a dedicated IP to a different pool","title":"IPsSetPoolRequest"},"IPsSetPoolResponse":{"description":"Any type","title":"IPsSetPoolResponse"},"IPInvalidEmptyDefaultPoolError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Cannot leave default pool empty","title":"IPInvalidEmptyDefaultPoolError"},"IPOrPoolNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Unknown IP or pool","title":"IPOrPoolNotFoundError"},"IPsDeleteRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"ip":{"type":"string","description":"The dedicated IP to remove from your account"}},"required":["key","ip"],"description":"Request payload for deleting a dedicated IP","title":"IPsDeleteRequest"},"IPsDeleteResponse":{"type":"object","properties":{"ip":{"type":"string","description":"The IP address that was deleted"},"deleted":{"type":"boolean","description":"Whether the IP was successfully deleted"}},"required":["ip","deleted"],"description":"Response for dedicated IP deletion operation","title":"IPsDeleteResponse"},"IPsListPoolsRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"}},"required":["key"],"description":"Request payload for listing dedicated IP pools","title":"IPsListPoolsRequest"},"IPsPool":{"type":"object","properties":{"name":{"type":"string","description":"This pool's name"},"created_at":{"type":"string","description":"The date and time that this pool was created as a UTC timestamp in YYYY-MM-DD HH:MM:SS format"},"ips":{"type":"array","items":{"$ref":"#/components/schemas/IP"},"description":"The dedicated IPs in this pool"}},"required":["name","created_at","ips"],"description":"Information about a dedicated IP pool including all IPs in the pool","title":"IPsPool"},"IPsListPoolsResponse":{"type":"array","items":{"$ref":"#/components/schemas/IPsPool"},"description":"Array of dedicated IP pool information","title":"IPsListPoolsResponse"},"IPsPoolInfoRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"pool":{"type":"string","description":"A pool name"}},"required":["key","pool"],"description":"Request payload for describing a single dedicated IP pool","title":"IPsPoolInfoRequest"},"IPsPoolInfoResponse":{"description":"Any type","title":"IPsPoolInfoResponse"},"IPsCreatePoolRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"pool":{"type":"string","description":"The name of a pool to create"}},"required":["key","pool"],"description":"Request payload for creating a dedicated IP pool","title":"IPsCreatePoolRequest"},"IPsCreatePoolResponse":{"description":"Any type","title":"IPsCreatePoolResponse"},"IPsDeletePoolRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"pool":{"type":"string","description":"The name of a pool to delete"}},"required":["key","pool"],"description":"Request payload for deleting a dedicated IP pool","title":"IPsDeletePoolRequest"},"IPsDeletePoolResponse":{"type":"object","properties":{"pool":{"type":"string","description":"The name of the pool that was deleted"},"deleted":{"type":"boolean","description":"Whether the pool was successfully deleted"}},"required":["pool","deleted"],"description":"Response for dedicated IP pool deletion operation","title":"IPsDeletePoolResponse"},"IPInvalidDeletePoolError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Cannot delete default pool or non-empty pool","title":"IPInvalidDeletePoolError"},"IPsCheckCustomDnsRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"ip":{"type":"string","description":"A dedicated IP address"},"domain":{"type":"string","format":"hostname","description":"The domain name to test"}},"required":["key","ip","domain"],"description":"Request payload for testing whether a domain name is valid for use as the custom reverse DNS for a dedicated IP","title":"IPsCheckCustomDnsRequest"},"IPsCheckCustomDnsResponse":{"type":"object","properties":{"valid":{"type":"boolean","description":"Whether the domain name has a correctly-configured A record pointing to the IP address"},"error":{"type":["string","null"],"description":"If valid is false, this will contain details about why the domain's A record is incorrect"}},"required":["valid"],"description":"Validation results for custom DNS domain configuration","title":"IPsCheckCustomDnsResponse"},"IPsSetCustomDnsRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"ip":{"type":"string","description":"A dedicated IP address"},"domain":{"type":"string","format":"hostname","description":"A domain name to set as the dedicated IP's custom DNS name"}},"required":["key","ip","domain"],"description":"Request payload for configuring the custom DNS name for a dedicated IP","title":"IPsSetCustomDnsRequest"},"IPsSetCustomDnsResponse":{"description":"Any type","title":"IPsSetCustomDnsResponse"},"IPInvalidCustomDnsError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Invalid custom DNS configuration","title":"IPInvalidCustomDnsError"},"InboundDomainsRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"}},"required":["key"],"description":"Request payload for listing inbound domains","title":"InboundDomainsRequest"},"InboundDomain":{"type":"object","properties":{"domain":{"type":"string","description":"The inbound domain name"},"created_at":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}\\.\\d+$","description":"When the domain was added to the account (UTC YYYY-MM-DD HH:MM:SS.microseconds)"},"valid_mx":{"type":["boolean","null"],"description":"Whether the MX records are properly configured for inbound delivery"}},"required":["domain","created_at","valid_mx"],"description":"Inbound email domain configuration and status","title":"InboundDomain"},"InboundDomainsResponse":{"type":"array","items":{"$ref":"#/components/schemas/InboundDomain"},"description":"List of inbound domains associated with the account","title":"InboundDomainsResponse"},"InboundAddDomainRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"domain":{"type":"string","format":"hostname","description":"A domain name for inbound email delivery"}},"required":["key","domain"],"description":"Request payload for adding an inbound domain","title":"InboundAddDomainRequest"},"InboundAddDomainResponse":{"description":"Any type","title":"InboundAddDomainResponse"},"InboundCheckDomainRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"domain":{"type":"string","format":"hostname","description":"A domain name for inbound email delivery"}},"required":["key","domain"],"description":"Request payload for checking an inbound domain","title":"InboundCheckDomainRequest"},"InboundCheckDomainResponse":{"description":"Any type","title":"InboundCheckDomainResponse"},"InboundDomainNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Unknown inbound domain","title":"InboundDomainNotFoundError"},"InboundDeleteDomainRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"domain":{"type":"string","format":"hostname","description":"A domain name for inbound email delivery"}},"required":["key","domain"],"description":"Request payload for deleting an inbound domain","title":"InboundDeleteDomainRequest"},"InboundDeleteDomainResponse":{"description":"Any type","title":"InboundDeleteDomainResponse"},"InboundRoutesRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"domain":{"type":"string","format":"hostname","description":"The domain to check (required if phone is not provided)"},"phone":{"type":"string","description":"The SMS program phone number (required if domain is not provided)"}},"required":["key"],"description":"Request payload for listing mailbox routes for an inbound domain","title":"InboundRoutesRequest"},"InboundRoute":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the route"},"pattern":{"type":"string","description":"The search pattern that the mailbox name should match"},"url":{"type":"string","format":"uri","description":"The webhook URL where inbound messages will be published"}},"required":["id","pattern","url"],"description":"Mailbox routing rule for inbound emails","title":"InboundRoute"},"InboundRoutesResponse":{"type":"array","items":{"$ref":"#/components/schemas/InboundRoute"},"description":"List of mailbox routes for an inbound domain","title":"InboundRoutesResponse"},"InboundAddRouteRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"domain":{"type":"string","format":"hostname","description":"An existing inbound domain (required if phone is not provided)"},"phone":{"type":"string","description":"The SMS program phone number - the TO number that receives inbound SMS (required if domain is not provided)"},"pattern":{"type":"string","description":"For email: the mailbox pattern (e.g., \"mailbox-*\"). For SMS: not used, the phone number is the pattern."},"url":{"type":"string","format":"active-uri","description":"The webhook URL where the inbound messages will be published"}},"required":["key"],"description":"Request payload for adding a new mailbox route to an inbound domain","title":"InboundAddRouteRequest"},"InboundAddRouteResponse":{"description":"Any type","title":"InboundAddRouteResponse"},"InboundUpdateRouteRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"id":{"type":"string","description":"The unique identifier of an existing mailbox route"},"pattern":{"type":["string","null"],"description":"The search pattern that the mailbox name should match (null to leave unchanged)"},"url":{"type":["string","null"],"format":"uri","description":"The webhook URL where the inbound messages will be published (null to leave unchanged)"}},"required":["key","id"],"description":"Request payload for updating an existing inbound mailbox route","title":"InboundUpdateRouteRequest"},"InboundUpdateRouteResponse":{"description":"Any type","title":"InboundUpdateRouteResponse"},"InboundRouteNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Unknown inbound route","title":"InboundRouteNotFoundError"},"InboundDeleteRouteRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"id":{"type":"string","description":"The unique identifier of an existing route"}},"required":["key","id"],"description":"Request payload for deleting an existing inbound mailbox route","title":"InboundDeleteRouteRequest"},"InboundDeleteRouteResponse":{"description":"Any type","title":"InboundDeleteRouteResponse"},"InboundSendRawRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"raw_message":{"type":"string","description":"The full MIME document of an email message"},"to":{"type":["array","null"],"items":{"type":"string","format":"email"},"description":"Optionally define the recipients to receive the message - otherwise we'll use the To, Cc, and Bcc headers provided in the document"},"mail_from":{"type":["string","null"],"format":"email","description":"The address specified in the MAIL FROM stage of the SMTP conversation"},"helo":{"type":["string","null"],"description":"The hostname provided during HELO"},"client_address":{"type":["string","null"],"description":"The remote host's IP address"}},"required":["key","raw_message"],"description":"Request payload for sending a raw MIME document to the inbound hook","title":"InboundSendRawRequest"},"InboundSendRawResponseItems":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The email address that was processed."},"pattern":{"type":"string","description":"The route pattern that matched this email."},"url":{"type":"string","format":"uri","description":"The webhook URL where this message was sent."}},"required":["email","pattern","url"],"title":"InboundSendRawResponseItems"},"InboundSendRawResponse":{"type":["array","null"],"items":{"$ref":"#/components/schemas/InboundSendRawResponseItems"},"description":"Array of processing results showing matched routes (empty or absent when no recipients are processed or the message is invalid).","title":"InboundSendRawResponse"},"MctemplatesInfoRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"mc_template_id":{"type":"integer","description":"The Mailchimp template ID"}},"required":["key","mc_template_id"],"description":"Request payload for getting Mailchimp Transactional template information","title":"MctemplatesInfoRequest"},"MctemplatesInfoResponse":{"type":"object","properties":{"mc_template_id":{"type":"integer","description":"Mailchimp template ID"},"mc_template_name":{"type":"string","description":"Template name"},"labels":{"type":"array","items":{"type":"string"},"description":"Array of labels (always empty for transactional templates)"},"code":{"type":"string","description":"Template HTML (draft version)"},"subject":{"type":"string","description":"Default subject line"},"from_email":{"type":"string","description":"Default sending address"},"from_name":{"type":"string","description":"Default from name"},"text":{"type":"string","description":"Template text (draft version)"},"publish_code":{"type":"string","description":"Template HTML (published version)"},"publish_text":{"type":"string","description":"Template text (published version)"},"published_at":{"type":["string","null"],"pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"Date and time when template was published in UTC YYYY-MM-DD HH:MM:SS format"},"created_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"Date and time when template was created in UTC YYYY-MM-DD HH:MM:SS format"},"updated_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"Date and time when template was last updated in UTC YYYY-MM-DD HH:MM:SS format"},"draft_updated_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"Date and time when template draft was last updated in UTC YYYY-MM-DD HH:MM:SS format"},"is_broken_template":{"type":"boolean","description":"Whether template has rendering errors"}},"required":["mc_template_id","mc_template_name","labels","code","subject","from_email","from_name","text","publish_code","publish_text","published_at","created_at","updated_at","is_broken_template"],"description":"Mailchimp Transactional template information","title":"MctemplatesInfoResponse"},"MctemplateNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Mailchimp template not found","title":"MctemplateNotFoundError"},"MctemplatesListRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"search_query":{"type":["string","null"],"description":"Optional search query to filter templates"}},"required":["key"],"description":"Request payload for listing Mailchimp Transactional templates","title":"MctemplatesListRequest"},"MctemplatesMcTemplate":{"type":"object","properties":{"mc_template_id":{"type":"integer","description":"Mailchimp template ID"},"mc_template_name":{"type":"string","description":"Template name"},"labels":{"type":"array","items":{"type":"string"},"description":"Array of labels (always empty for transactional templates)"},"code":{"type":"string","description":"Template HTML (draft version)"},"subject":{"type":"string","description":"Default subject line"},"from_email":{"type":"string","description":"Default sending address"},"from_name":{"type":"string","description":"Default from name"},"text":{"type":"string","description":"Template text (draft version)"},"publish_code":{"type":"string","description":"Template HTML (published version)"},"publish_text":{"type":"string","description":"Template text (published version)"},"published_at":{"type":["string","null"],"pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"Date and time when template was published in UTC YYYY-MM-DD HH:MM:SS format"},"created_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"Date and time when template was created in UTC YYYY-MM-DD HH:MM:SS format"},"updated_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"Date and time when template was last updated in UTC YYYY-MM-DD HH:MM:SS format"},"draft_updated_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"Date and time when template draft was last updated in UTC YYYY-MM-DD HH:MM:SS format"},"is_broken_template":{"type":"boolean","description":"Whether template has rendering errors"}},"required":["mc_template_id","mc_template_name","labels","code","subject","from_email","from_name","text","publish_code","publish_text","published_at","created_at","updated_at","is_broken_template"],"description":"Mailchimp Transactional template information including content, metadata, and settings","title":"MctemplatesMcTemplate"},"MctemplatesListResponse":{"type":"array","items":{"$ref":"#/components/schemas/MctemplatesMcTemplate"},"description":"Array of Mailchimp Transactional templates","title":"MctemplatesListResponse"},"MctemplatesRenderRequestMcTemplateVersion":{"type":"string","enum":["published","draft"],"default":"published","description":"The template version to render - \"published\" or \"draft\"","title":"MctemplatesRenderRequestMcTemplateVersion"},"MctemplatesRenderRequestMergeVarsItems":{"type":"object","properties":{"name":{"type":"string","description":"Variable name"},"content":{"type":"string","description":"Variable value"}},"title":"MctemplatesRenderRequestMergeVarsItems"},"MctemplatesRenderRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"mc_template_id":{"type":"integer","description":"The Mailchimp template ID"},"mc_template_version":{"$ref":"#/components/schemas/MctemplatesRenderRequestMcTemplateVersion","default":"published","description":"The template version to render - \"published\" or \"draft\""},"merge_vars":{"type":["array","null"],"items":{"$ref":"#/components/schemas/MctemplatesRenderRequestMergeVarsItems"},"description":"Optional merge variables to inject into the template"}},"required":["key","mc_template_id"],"description":"Request payload for rendering a Mailchimp Transactional template","title":"MctemplatesRenderRequest"},"MctemplatesRenderResponse":{"type":"object","properties":{"html":{"type":"string","description":"Rendered HTML with merge variables applied"}},"required":["html"],"description":"Rendered Mailchimp Transactional template with merge variables applied","title":"MctemplatesRenderResponse"},"MctemplateInvalidVersionError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Invalid mc_template_version parameter","title":"MctemplateInvalidVersionError"},"MctemplatesTimeSeriesRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"mc_template_id":{"type":"integer","description":"The Mailchimp template ID"}},"required":["key","mc_template_id"],"description":"Request payload for getting Mailchimp Transactional template time series data","title":"MctemplatesTimeSeriesRequest"},"MctemplatesTimeSeries":{"type":"object","properties":{"sent":{"type":"integer","description":"Number of emails sent during the hour"},"hard_bounces":{"type":"integer","description":"Number of emails that hard bounced during the hour"},"soft_bounces":{"type":"integer","description":"Number of emails that soft bounced during the hour"},"rejects":{"type":"integer","description":"Number of emails rejected during the hour"},"complaints":{"type":"integer","description":"Number of spam complaints received during the hour"},"unsubs":{"type":"integer","description":"Number of unsubscribe requests received during the hour"},"opens":{"type":"integer","description":"Number of emails opened during the hour"},"unique_opens":{"type":"integer","description":"Number of unique opens generated by messages sent during the hour"},"clicks":{"type":"integer","description":"Number of tracked URLs clicked during the hour"},"unique_clicks":{"type":"integer","description":"Number of unique clicks generated by messages sent during the hour"},"time":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"The hour as a UTC date string in YYYY-MM-DD HH:MM:SS format"}},"required":["sent","hard_bounces","soft_bounces","rejects","complaints","unsubs","opens","unique_opens","clicks","unique_clicks","time"],"description":"Hourly statistics for a Mailchimp Transactional template in a specific time period","title":"MctemplatesTimeSeries"},"MctemplatesTimeSeriesResponse":{"type":"array","items":{"$ref":"#/components/schemas/MctemplatesTimeSeries"},"description":"Array of hourly stats for the last 30 days for a Mailchimp Transactional template","title":"MctemplatesTimeSeriesResponse"},"MessagesRequestComponentToItemsType":{"type":"string","enum":["to","cc","bcc"],"default":"to","description":"the header type to use for the recipient, defaults to \"to\" if not provided Possible values: \"to\", \"cc\", or \"bcc\".","title":"MessagesRequestComponentToItemsType"},"MessagesRequestComponentToItems":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The email address of the recipient"},"name":{"type":["string","null"],"description":"The optional display name to use for the recipient"},"type":{"$ref":"#/components/schemas/MessagesRequestComponentToItemsType","default":"to","description":"the header type to use for the recipient, defaults to \"to\" if not provided Possible values: \"to\", \"cc\", or \"bcc\"."}},"title":"MessagesRequestComponentToItems"},"MessagesRequestComponentHeaders":{"type":"object","properties":{},"description":"optional extra headers to add to the message (most headers are allowed)","title":"MessagesRequestComponentHeaders"},"MessagesRequestComponentMergeLanguage":{"type":"string","enum":["mailchimp","handlebars"],"default":"mailchimp","description":"the merge tag language to use when evaluating merge tags, either mailchimp or handlebars Possible values: \"mailchimp\" or \"handlebars\".","title":"MessagesRequestComponentMergeLanguage"},"MergeVar":{"type":"object","properties":{"name":{"type":"string","description":"Merge variable name (case-insensitive, may not start with _)"},"content":{"type":"string","description":"Content value for the merge variable"}},"description":"Merge variable for template content injection","title":"MergeVar"},"MessagesRequestComponentMergeVarsItems":{"type":"object","properties":{"rcpt":{"type":"string","format":"email","description":"Email address of the recipient"},"vars":{"type":"array","items":{"$ref":"#/components/schemas/MergeVar"},"description":"Recipient-specific merge variables"}},"title":"MessagesRequestComponentMergeVarsItems"},"MessagesRequestComponentGoogleAnalyticsCampaign":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"string"}],"description":"optional string indicating the value to set for the utm_campaign tracking parameter. If this isn't provided the email's from address will be used instead.","title":"MessagesRequestComponentGoogleAnalyticsCampaign"},"MessagesRequestComponentMetadata":{"type":"object","properties":{},"description":"metadata an associative array of user metadata. Mandrill will store this metadata and make it available for retrieval. In addition, you can select up to 10 metadata fields to index and make searchable using the Mandrill search api.","title":"MessagesRequestComponentMetadata"},"MessagesRequestComponentRecipientMetadataItemsValues":{"type":"object","properties":{},"title":"MessagesRequestComponentRecipientMetadataItemsValues"},"MessagesRequestComponentRecipientMetadataItems":{"type":"object","properties":{"rcpt":{"type":"string"},"values":{"$ref":"#/components/schemas/MessagesRequestComponentRecipientMetadataItemsValues"}},"title":"MessagesRequestComponentRecipientMetadataItems"},"MessagesRequestComponentAttachmentsItems":{"type":"object","properties":{"type":{"type":"string","description":"the MIME type of the attachment"},"name":{"type":"string","description":"the file name of the attachment"},"content":{"type":"string","description":"the content of the attachment as a base64-encoded string"}},"title":"MessagesRequestComponentAttachmentsItems"},"MessagesRequestComponentImagesItems":{"type":"object","properties":{"type":{"type":"string","description":"the MIME type of the image - must start with \"image/\""},"name":{"type":"string","description":"the content ID of the image - used <img src=\"cid:THIS_VALUE\"> to reference the image in your HTML content"},"content":{"type":"string","description":"the content of the image as a base64-encoded string"}},"title":"MessagesRequestComponentImagesItems"},"MessagesRequestComponent":{"type":"object","properties":{"html":{"type":["string","null"],"description":"the full HTML content to be sent"},"text":{"type":["string","null"],"description":"optional full text content to be sent"},"subject":{"type":["string","null"],"maxLength":998,"description":"the message subject"},"from_email":{"type":["string","null"],"format":"email","description":"the sender email address"},"from_name":{"type":["string","null"],"description":"optional from name to be used"},"to":{"type":"array","items":{"$ref":"#/components/schemas/MessagesRequestComponentToItems"},"description":"an array of recipient information."},"headers":{"$ref":"#/components/schemas/MessagesRequestComponentHeaders","description":"optional extra headers to add to the message (most headers are allowed)"},"important":{"type":["boolean","null"],"description":"whether or not this message is important, and should be delivered ahead of non-important messages"},"track_opens":{"type":["boolean","null"],"description":"whether or not to turn on open tracking for the message"},"track_clicks":{"type":["boolean","null"],"description":"whether or not to turn on click tracking for the message"},"auto_text":{"type":["boolean","null"],"description":"whether or not to automatically generate a text part for messages that are not given text"},"auto_html":{"type":["boolean","null"],"description":"whether or not to automatically generate an HTML part for messages that are not given HTML"},"inline_css":{"type":["boolean","null"],"description":"whether or not to automatically inline all CSS styles provided in the message HTML - only for HTML documents less than 256KB in size"},"url_strip_qs":{"type":["boolean","null"],"description":"whether or not to strip the query string from URLs when aggregating tracked URL data"},"preserve_recipients":{"type":["boolean","null"],"description":"whether or not to expose all recipients in to \"To\" header for each email"},"view_content_link":{"type":["boolean","null"],"description":"set to false to remove content logging for sensitive emails"},"bcc_address":{"type":["string","null"],"format":"email","description":"an optional address to receive an exact copy of each recipient's email"},"tracking_domain":{"type":["string","null"],"description":"a custom domain to use for tracking opens and clicks instead of mandrillapp.com"},"signing_domain":{"type":["string","null"],"description":"a custom domain to use for SPF/DKIM signing instead of mandrill (for \"via\" or \"on behalf of\" in email clients)"},"return_path_domain":{"type":["string","null"],"description":"a custom domain to use for the messages's return-path"},"merge":{"type":["boolean","null"],"description":"whether to evaluate merge tags in the message. Will automatically be set to true if either merge_vars or global_merge_vars are provided."},"merge_language":{"$ref":"#/components/schemas/MessagesRequestComponentMergeLanguage","default":"mailchimp","description":"the merge tag language to use when evaluating merge tags, either mailchimp or handlebars Possible values: \"mailchimp\" or \"handlebars\"."},"global_merge_vars":{"type":"array","items":{"$ref":"#/components/schemas/MergeVar"},"description":"global merge variables to use for all recipients. You can override these per recipient."},"merge_vars":{"type":"array","items":{"$ref":"#/components/schemas/MessagesRequestComponentMergeVarsItems"},"description":"per-recipient merge variables, which override global merge variables with the same name."},"tags":{"type":"array","items":{"type":"string"},"description":"an array of string to tag the message with. Stats are accumulated using tags, though we only store the first 100 we see, so this should not be unique or change frequently. Tags should be 50 characters or less. Any tags starting with an underscore are reserved for internal use and will cause errors."},"subaccount":{"type":["string","null"],"description":"the unique id of a subaccount for this message - must already exist or will fail with an error"},"google_analytics_domains":{"type":"array","items":{"type":"string"},"description":"an array of strings indicating for which any matching URLs will automatically have Google Analytics parameters appended to their query string automatically."},"google_analytics_campaign":{"$ref":"#/components/schemas/MessagesRequestComponentGoogleAnalyticsCampaign","description":"optional string indicating the value to set for the utm_campaign tracking parameter. If this isn't provided the email's from address will be used instead."},"metadata":{"$ref":"#/components/schemas/MessagesRequestComponentMetadata","description":"metadata an associative array of user metadata. Mandrill will store this metadata and make it available for retrieval. In addition, you can select up to 10 metadata fields to index and make searchable using the Mandrill search api."},"recipient_metadata":{"type":"array","items":{"$ref":"#/components/schemas/MessagesRequestComponentRecipientMetadataItems"},"description":"Per-recipient metadata that will override the global values specified in the metadata parameter."},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/MessagesRequestComponentAttachmentsItems"},"description":"an array of supported attachments to add to the message"},"images":{"type":"array","items":{"$ref":"#/components/schemas/MessagesRequestComponentImagesItems"},"description":"an array of embedded images to add to the message"}},"description":"Mandrill message payload for transactional email","title":"MessagesRequestComponent"},"MessagesSendRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"message":{"$ref":"#/components/schemas/MessagesRequestComponent","description":"the information on the message to send"},"async":{"type":["boolean","null"],"description":"enable a background sending mode that is optimized for bulk sending. In async mode, messages/send will immediately return a status of \"queued\" for every recipient. To handle rejections when sending in async mode, set up a webhook for the 'reject' event. Defaults to false for messages with no more than 10 recipients; messages with more than 10 recipients are always sent asynchronously, regardless of the value of async."},"ip_pool":{"type":"string","description":"the name of the dedicated ip pool that should be used to send the message. If you do not have any dedicated IPs, this parameter has no effect. If you specify a pool that does not exist, your default pool will be used instead."},"send_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"when this message should be sent as a UTC timestamp in YYYY-MM-DD HH:MM:SS format. If you specify a time in the past, the message will be sent immediately; for future dates, you're limited to one year from the date of scheduling."}},"required":["key","message"],"description":"Request body for messages/send","title":"MessagesSendRequest"},"MessagesSendResultStatus":{"type":"string","enum":["sent","queued","scheduled","rejected","invalid"],"description":"The sending status of the recipient","title":"MessagesSendResultStatus"},"MessagesSendResultRejectReason":{"type":"string","enum":["hard-bounce","soft-bounce","spam","unsub","custom","invalid-sender","invalid","test-mode-limit","unsigned","rule"],"description":"The reason for the rejection if the recipient status is rejected","title":"MessagesSendResultRejectReason"},"MessagesSendResultQueuedReason":{"type":"string","enum":["attachments","multiple-recipients","free-trial-sends-exhausted","hourly-quota-exhausted","monthly-limit-reached","sending-paused","sending-suspended","account-suspended","sending-backlogged"],"description":"The reason for the queuing if the recipient status is queued","title":"MessagesSendResultQueuedReason"},"MessagesSendResult":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The email address of the recipient"},"status":{"$ref":"#/components/schemas/MessagesSendResultStatus","description":"The sending status of the recipient"},"reject_reason":{"$ref":"#/components/schemas/MessagesSendResultRejectReason","description":"The reason for the rejection if the recipient status is rejected"},"queued_reason":{"$ref":"#/components/schemas/MessagesSendResultQueuedReason","description":"The reason for the queuing if the recipient status is queued"},"_id":{"type":"string","description":"The message's unique id"}},"required":["email","status","_id"],"description":"The sending results for a single recipient","title":"MessagesSendResult"},"MessagesSendResponse":{"type":"array","items":{"$ref":"#/components/schemas/MessagesSendResult"},"description":"Array of send results, one per recipient","title":"MessagesSendResponse"},"MessageSubaccountNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Unknown subaccount","title":"MessageSubaccountNotFoundError"},"MessagesSendTemplateRequestTemplateContentItems":{"type":"object","properties":{"name":{"type":"string","description":"the name of the mc:edit editable region to inject into"},"content":{"type":"string","description":"the content to inject"}},"title":"MessagesSendTemplateRequestTemplateContentItems"},"MessagesSendTemplateRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"template_name":{"type":"string","description":"the immutable slug of a template that exists in the user's account. Make sure you don't use the template name as this one might change."},"template_content":{"type":"array","items":{"$ref":"#/components/schemas/MessagesSendTemplateRequestTemplateContentItems"},"description":"an array of template content to send. Each item in the array should be a struct with two keys - name: the name of the content block to set the content for, and content: the actual content to put into the block"},"message":{"$ref":"#/components/schemas/MessagesRequestComponent","description":"the other information on the message to send - same as /messages/send, but without the html content"},"async":{"type":["boolean","null"],"description":"enable a background sending mode that is optimized for bulk sending. In async mode, messages/send will immediately return a status of \"queued\" for every recipient. To handle rejections when sending in async mode, set up a webhook for the 'reject' event. Defaults to false for messages with no more than 10 recipients; messages with more than 10 recipients are always sent asynchronously, regardless of the value of async."},"ip_pool":{"type":"string","description":"the name of the dedicated ip pool that should be used to send the message. If you do not have any dedicated IPs, this parameter has no effect. If you specify a pool that does not exist, your default pool will be used instead."},"send_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"when this message should be sent as a UTC timestamp in YYYY-MM-DD HH:MM:SS format. If you specify a time in the past, the message will be sent immediately; for future dates, you're limited to one year from the date of scheduling."}},"required":["key","template_name","template_content","message"],"description":"Request body for messages/send-template","title":"MessagesSendTemplateRequest"},"MessagesSendTemplateResponse":{"description":"Any type","title":"MessagesSendTemplateResponse"},"Error":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Standard error payload returned on API errors.","title":"Error"},"Messages_send-templateRequestNotFoundError":{"oneOf":[{"$ref":"#/components/schemas/Error"},{"$ref":"#/components/schemas/Error"}],"title":"Messages/send-templateRequestNotFoundError"},"MessagesSendMcTemplateRequestMcTemplateVersion":{"type":"string","enum":["draft","published"],"description":"which version of the template to use - \"draft\" for draft content or \"published\" for published content. Defaults to \"published\". Note: requesting \"published\" when the template has not been published will return a 404 error.","title":"MessagesSendMcTemplateRequestMcTemplateVersion"},"MessagesSendMcTemplateRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"mc_template_id":{"type":"integer","description":"the Mailchimp Transactional template ID from the user's account"},"mc_template_version":{"$ref":"#/components/schemas/MessagesSendMcTemplateRequestMcTemplateVersion","description":"which version of the template to use - \"draft\" for draft content or \"published\" for published content. Defaults to \"published\". Note: requesting \"published\" when the template has not been published will return a 404 error."},"message":{"$ref":"#/components/schemas/MessagesRequestComponent","description":"the other information on the message to send - same as /messages/send"},"async":{"type":["boolean","null"],"description":"enable a background sending mode that is optimized for bulk sending. In async mode, messages/send will immediately return a status of \"queued\" for every recipient. To handle rejections when sending in async mode, set up a webhook for the 'reject' event. Defaults to false for messages with no more than 10 recipients; messages with more than 10 recipients are always sent asynchronously, regardless of the value of async."},"ip_pool":{"type":"string","description":"the name of the dedicated ip pool that should be used to send the message. If you do not have any dedicated IPs, this parameter has no effect. If you specify a pool that does not exist, your default pool will be used instead."},"send_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"when this message should be sent as a UTC timestamp in YYYY-MM-DD HH:MM:SS format. If you specify a time in the past, the message will be sent immediately; for future dates, you're limited to one year from the date of scheduling."}},"required":["key","mc_template_id","message"],"description":"Request body for messages/send-mc-template","title":"MessagesSendMcTemplateRequest"},"MessagesSendMcTemplateResponse":{"description":"Any type","title":"MessagesSendMcTemplateResponse"},"Messages_send-mc-templateRequestNotFoundError":{"oneOf":[{"$ref":"#/components/schemas/Error"},{"$ref":"#/components/schemas/Error"}],"title":"Messages/send-mc-templateRequestNotFoundError"},"MessagesSearchRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"query":{"type":"string","description":"search terms to find matching messages"},"date_from":{"type":["string","null"],"format":"date","description":"start date"},"date_to":{"type":["string","null"],"format":"date","description":"end date"},"tags":{"type":["array","null"],"items":{"type":"string"},"description":"an array of tag names to narrow the search to"},"senders":{"type":["array","null"],"items":{"type":"string","format":"email"},"description":"an array of sender addresses to narrow the search to"},"api_keys":{"type":["array","null"],"items":{"type":"string"},"description":"an array of API keys to narrow the search to"},"limit":{"type":"integer","minimum":1,"maximum":1000,"description":"the maximum number of results to return, defaults to 100, upper limit of 1000"}},"required":["key"],"description":"Request body for messages/search","title":"MessagesSearchRequest"},"MessagesOpenDetail":{"type":"object","properties":{"ts":{"type":"integer","description":"Unix timestamp when the open occurred"},"ip":{"type":"string","description":"IP address of the opener"},"location":{"type":"string","description":"Geographic location of the opener"},"ua":{"type":"string","description":"User agent of the opener"}},"required":["ts","ip","location","ua"],"description":"Details about a message open event","title":"MessagesOpenDetail"},"MessagesClickDetail":{"type":"object","properties":{"ts":{"type":"integer","description":"Unix timestamp when the click occurred"},"url":{"type":"string","description":"The URL that was clicked"},"ip":{"type":"string","description":"IP address of the clicker"},"location":{"type":"string","description":"Geographic location of the clicker"},"ua":{"type":"string","description":"User agent of the clicker"}},"required":["ts","url","ip","location","ua"],"description":"Details about a message click event","title":"MessagesClickDetail"},"MessagesEmailInfoState":{"type":"string","enum":["sent","bounced","rejected","queued","scheduled","canceled"],"description":"Sending status of this message","title":"MessagesEmailInfoState"},"MessagesEmailInfoMetadata":{"type":"object","properties":{},"description":"Any custom metadata provided when the message was sent","title":"MessagesEmailInfoMetadata"},"MessagesSmtpEventType":{"type":"string","enum":["sent","bounced","rejected","delivered"],"description":"The type of SMTP event","title":"MessagesSmtpEventType"},"MessagesSmtpEvent":{"type":"object","properties":{"ts":{"type":"integer","description":"Unix timestamp when the event occurred"},"type":{"$ref":"#/components/schemas/MessagesSmtpEventType","description":"The type of SMTP event"},"diag":{"type":["string","null"],"description":"The SMTP response from the recipient's server or internal diagnostic"},"source_ip":{"type":"string","format":"ipv4","description":"The IP address that sent the message"},"destination_ip":{"type":"string","description":"The IP address of the recipient's server (empty string for internal processing)"},"size":{"type":"integer","description":"The size of the message in bytes"}},"required":["ts","type","source_ip","destination_ip","size"],"description":"Details about an SMTP event","title":"MessagesSmtpEvent"},"MessagesEmailInfoResendsItems":{"type":"object","properties":{},"title":"MessagesEmailInfoResendsItems"},"MessagesEmailInfoReject":{"type":"object","properties":{"reason":{"type":"string","description":"The reason for rejection"},"last_event_at":{"type":"string","description":"When the rejection occurred"}},"description":"Rejection details if message was rejected","title":"MessagesEmailInfoReject"},"MessagesEmailInfo":{"type":"object","properties":{"ts":{"type":"integer","description":"Unix timestamp when the message was sent"},"_id":{"type":"string","description":"The message's unique id"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags associated with the message"},"sender":{"type":"string","format":"email","description":"The sender email address"},"template":{"type":["string","null"],"description":"Template used if applicable"},"mc_template":{"type":["string","null"],"description":"Mailchimp template used if applicable"},"subject":{"type":"string","description":"The message subject"},"email":{"type":"string","format":"email","description":"The recipient email address"},"opens":{"type":"integer","description":"Number of times the message has been opened"},"clicks":{"type":"integer","description":"Number of times links in the message have been clicked"},"opens_detail":{"type":"array","items":{"$ref":"#/components/schemas/MessagesOpenDetail"},"description":"Details about opens, if captured"},"clicks_detail":{"type":"array","items":{"$ref":"#/components/schemas/MessagesClickDetail"},"description":"Details about clicks, if captured"},"state":{"$ref":"#/components/schemas/MessagesEmailInfoState","description":"Sending status of this message"},"metadata":{"$ref":"#/components/schemas/MessagesEmailInfoMetadata","description":"Any custom metadata provided when the message was sent"},"smtp_events":{"type":"array","items":{"$ref":"#/components/schemas/MessagesSmtpEvent"},"description":"SMTP events related to the message"},"diag":{"type":["string","null"],"description":"Diagnostic information about why the message was rejected"},"subaccount":{"type":["string","null"],"description":"The subaccount used to send the message"},"resends":{"type":"array","items":{"$ref":"#/components/schemas/MessagesEmailInfoResendsItems"},"description":"Array of resend attempts"},"reject":{"oneOf":[{"$ref":"#/components/schemas/MessagesEmailInfoReject"},{"type":"null"}],"description":"Rejection details if message was rejected"},"bounce_description":{"type":"string","description":"Description of bounce/rejection reason (only present for rejected messages)"}},"required":["ts","_id","tags","sender","subject","email","opens","clicks","opens_detail","clicks_detail","state","smtp_events","subaccount","resends","reject"],"description":"Detailed information about a sent email message","title":"MessagesEmailInfo"},"MessagesSmsInfoState":{"type":"string","enum":["sent","bounced","rejected","queued","scheduled","canceled"],"description":"Sending status of this message","title":"MessagesSmsInfoState"},"MessagesSmsInfoMetadata":{"type":"object","properties":{},"description":"Any custom metadata provided when the message was sent","title":"MessagesSmsInfoMetadata"},"MessagesSmsInfoChannel":{"type":"string","enum":["sms"],"description":"The channel type for this message","title":"MessagesSmsInfoChannel"},"MessagesSmsInfoConsent":{"type":"string","enum":["onetime","recurring","recurring-no-confirm"],"description":"The consent type for this SMS","title":"MessagesSmsInfoConsent"},"MessagesSmsEventState":{"type":"string","enum":["sent","delivered","failed","canceled"],"description":"The state of the SMS event","title":"MessagesSmsEventState"},"MessagesSmsEvent":{"type":"object","properties":{"ts":{"type":"integer","description":"Unix timestamp when the event occurred"},"state":{"$ref":"#/components/schemas/MessagesSmsEventState","description":"The state of the SMS event"},"sub_state":{"type":["string","null"],"description":"Additional state details"}},"required":["ts","state"],"description":"Details about an SMS event","title":"MessagesSmsEvent"},"MessagesSmsInfoReject":{"type":"object","properties":{"reason":{"type":"string","description":"The reason for rejection"},"last_event_at":{"type":"string","description":"When the rejection occurred"}},"description":"Rejection details if message was rejected","title":"MessagesSmsInfoReject"},"MessagesSmsInfo":{"type":"object","properties":{"ts":{"type":"integer","description":"Unix timestamp when the message was sent"},"_id":{"type":"string","description":"The message's unique id"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags associated with the message"},"opens":{"type":"integer","description":"Number of times the message has been opened"},"clicks":{"type":"integer","description":"Number of times links in the message have been clicked"},"opens_detail":{"type":"array","items":{"$ref":"#/components/schemas/MessagesOpenDetail"},"description":"Details about opens, if captured"},"clicks_detail":{"type":"array","items":{"$ref":"#/components/schemas/MessagesClickDetail"},"description":"Details about clicks, if captured"},"state":{"$ref":"#/components/schemas/MessagesSmsInfoState","description":"Sending status of this message"},"metadata":{"$ref":"#/components/schemas/MessagesSmsInfoMetadata","description":"Any custom metadata provided when the message was sent"},"channel":{"$ref":"#/components/schemas/MessagesSmsInfoChannel","description":"The channel type for this message"},"to":{"type":"string","pattern":"^\\+[1-9]\\d{1,14}$","description":"The recipient phone number"},"from":{"type":"string","description":"The SMS sender identifier"},"text":{"type":"string","description":"The SMS message text content"},"consent":{"$ref":"#/components/schemas/MessagesSmsInfoConsent","description":"The consent type for this SMS"},"sms_events":{"type":"array","items":{"$ref":"#/components/schemas/MessagesSmsEvent"},"description":"SMS events related to the message"},"subaccount":{"type":["string","null"],"description":"The subaccount used to send the message"},"reject":{"oneOf":[{"$ref":"#/components/schemas/MessagesSmsInfoReject"},{"type":"null"}],"description":"Rejection details if message was rejected"}},"required":["ts","_id","tags","opens","clicks","opens_detail","clicks_detail","state","channel","to","from","text","consent","sms_events"],"description":"Detailed information about a sent SMS message","title":"MessagesSmsInfo"},"MessagesSearchResponseItems":{"oneOf":[{"$ref":"#/components/schemas/MessagesEmailInfo"},{"$ref":"#/components/schemas/MessagesSmsInfo"}],"title":"MessagesSearchResponseItems"},"MessagesSearchResponse":{"type":"array","items":{"$ref":"#/components/schemas/MessagesSearchResponseItems"},"description":"Array of messages matching the search query (can include both email and SMS messages)","title":"MessagesSearchResponse"},"MessageServiceUnavailableError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Service unavailable","title":"MessageServiceUnavailableError"},"MessagesSearchTimeSeriesRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"query":{"type":"string","description":"the search terms to find matching messages for"},"date_from":{"type":["string","null"],"format":"date","description":"start date"},"date_to":{"type":["string","null"],"format":"date","description":"end date"},"tags":{"type":["array","null"],"items":{"type":"string"},"description":"an array of tag names to narrow the search to, will return messages that contain ANY of the tags"},"senders":{"type":["array","null"],"items":{"type":"string","format":"email"},"description":"an array of sender addresses to narrow the search to, will return messages sent by ANY of the senders"}},"required":["key"],"description":"Request body for messages/search-time-series","title":"MessagesSearchTimeSeriesRequest"},"MessagesSearchTimeSeries":{"type":"object","properties":{"time":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"The hour that the statistic occurred"},"sent":{"type":"integer","description":"The number of emails sent during the time period"},"opens":{"type":"integer","description":"The number of emails opened during the time period"},"clicks":{"type":"integer","description":"The number of clicks during the time period"},"hard_bounces":{"type":"integer","description":"The number of hard bounces during the time period"},"soft_bounces":{"type":"integer","description":"The number of soft bounces during the time period"},"rejects":{"type":"integer","description":"The number of emails rejected during the time period"},"complaints":{"type":"integer","description":"The number of spam complaints during the time period"},"unsubs":{"type":"integer","description":"The number of unsubscribes during the time period"},"unique_opens":{"type":"integer","description":"The number of unique opens during the time period"},"unique_clicks":{"type":"integer","description":"The number of unique clicks during the time period"}},"required":["time","sent","opens","clicks","hard_bounces","soft_bounces","rejects","complaints","unsubs","unique_opens","unique_clicks"],"description":"Time series data point for message search results","title":"MessagesSearchTimeSeries"},"MessagesSearchTimeSeriesResponse":{"type":"array","items":{"$ref":"#/components/schemas/MessagesSearchTimeSeries"},"description":"Array of hourly message stats matching the search query","title":"MessagesSearchTimeSeriesResponse"},"MessagesInfoRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"id":{"type":"string","description":"the unique id of the message to get - passed as the \"_id\" field in webhooks, send calls, or search calls"}},"required":["key","id"],"description":"Request body for messages/info","title":"MessagesInfoRequest"},"MessagesInfoResponse":{"oneOf":[{"$ref":"#/components/schemas/MessagesEmailInfo"},{"$ref":"#/components/schemas/MessagesSmsInfo"}],"description":"Information about the message (email or SMS)","title":"MessagesInfoResponse"},"MessageNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Message not found","title":"MessageNotFoundError"},"MessagesContentRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"id":{"type":"string","description":"the unique id of the message to get - passed as the \"_id\" field in webhooks, send calls, or search calls"}},"required":["key","id"],"description":"Request body for messages/content","title":"MessagesContentRequest"},"MessagesEmailContentTo":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The recipient email address"},"name":{"type":"string","description":"The recipient name"}},"required":["email"],"description":"The recipient information","title":"MessagesEmailContentTo"},"MessagesEmailContentAttachmentsItems":{"type":"object","properties":{"name":{"type":"string","description":"The attachment filename"},"type":{"type":"string","description":"The MIME type of the attachment"},"content":{"type":"string","description":"The attachment content"}},"required":["name","type","content"],"title":"MessagesEmailContentAttachmentsItems"},"MessagesEmailContent":{"type":"object","properties":{"ts":{"type":"integer","description":"Unix timestamp when the message was sent"},"_id":{"type":"string","description":"The message's unique id"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags associated with the message"},"from_email":{"type":"string","format":"email","description":"The sender email address"},"from_name":{"type":["string","null"],"description":"The sender name"},"subject":{"type":"string","description":"The message subject"},"to":{"$ref":"#/components/schemas/MessagesEmailContentTo","description":"The recipient information"},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"The message headers"},"text":{"type":"string","description":"The text content of the message"},"html":{"type":"string","description":"The full HTML content of the message"},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/MessagesEmailContentAttachmentsItems"},"description":"List of attachments"}},"required":["ts","_id","tags","from_email","subject","to","headers","text","html","attachments"],"description":"The parsed content of a message","title":"MessagesEmailContent"},"MessagesSmsContentChannel":{"type":"string","enum":["sms"],"description":"The channel type for this message","title":"MessagesSmsContentChannel"},"MessagesSmsContentState":{"type":"string","enum":["sent","bounced","rejected","queued","scheduled","canceled"],"description":"Sending status of this message","title":"MessagesSmsContentState"},"MessagesSmsContent":{"type":"object","properties":{"ts":{"type":"integer","description":"Unix timestamp when the message was sent"},"_id":{"type":"string","description":"The message's unique id"},"tags":{"type":"array","items":{"type":"string"},"description":"List of tags associated with the message"},"channel":{"$ref":"#/components/schemas/MessagesSmsContentChannel","description":"The channel type for this message"},"to":{"type":"string","pattern":"^\\+[1-9]\\d{1,14}$","description":"The recipient phone number"},"from":{"type":"string","description":"The SMS sender identifier"},"text":{"type":"string","description":"The SMS message text content"},"state":{"$ref":"#/components/schemas/MessagesSmsContentState","description":"Sending status of this message"}},"required":["ts","_id","tags","channel","to","from","text","state"],"description":"The content of an SMS message","title":"MessagesSmsContent"},"MessagesContentResponse":{"oneOf":[{"$ref":"#/components/schemas/MessagesEmailContent"},{"$ref":"#/components/schemas/MessagesSmsContent"}],"description":"The content of the message (email or SMS)","title":"MessagesContentResponse"},"MessagesParseRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"raw_message":{"type":"string","description":"the full MIME document of an email message"}},"required":["key","raw_message"],"description":"Request body for messages/parse","title":"MessagesParseRequest"},"MessagesParseResponseAttachmentsItems":{"type":"object","properties":{"name":{"type":"string","description":"The attachment filename"},"type":{"type":"string","description":"The MIME type of the attachment"},"content":{"type":"string","description":"The attachment content"},"binary":{"type":"boolean","description":"Whether the attachment is binary"}},"title":"MessagesParseResponseAttachmentsItems"},"MessagesParseResponseToItems":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The recipient email address"},"name":{"type":["string","null"],"description":"The recipient name"}},"title":"MessagesParseResponseToItems"},"MessagesParseResponse":{"type":"object","properties":{"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"The parsed message headers"},"text":{"type":"string","description":"The text content of the message"},"text_flowed":{"type":"boolean","description":"Whether the text content uses format=flowed"},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/MessagesParseResponseAttachmentsItems"},"description":"List of parsed attachments"},"from_email":{"type":"string","format":"email","description":"The sender email address"},"from_name":{"type":"string","description":"The sender name"},"html":{"type":["string","null"],"description":"The HTML content if present"},"to":{"type":"array","items":{"$ref":"#/components/schemas/MessagesParseResponseToItems"},"description":"List of recipients"},"subject":{"type":["string","null"],"description":"The message subject"}},"required":["headers","text","text_flowed","attachments","from_email","from_name"],"description":"The parsed components of a raw MIME message","title":"MessagesParseResponse"},"MessagesSendRawRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"raw_message":{"type":"string","description":"the full MIME document of an email message"},"from_email":{"type":["string","null"],"format":"email","description":"optionally define the sender address - otherwise we'll use the address found in the provided headers"},"from_name":{"type":["string","null"],"description":"optionally define the sender alias"},"to":{"type":"array","items":{"type":"string","format":"email"},"description":"optionally define the recipient to receive the message - otherwise we'll use the To, Cc, and Bcc headers provided in the document"},"async":{"type":["boolean","null"],"description":"enable a background sending mode that is optimized for bulk sending. In async mode, messages/send will immediately return a status of \"queued\" for every recipient. To handle rejections when sending in async mode, set up a webhook for the 'reject' event. Defaults to false for messages with no more than 10 recipients; messages with more than 10 recipients are always sent asynchronously, regardless of the value of async."},"ip_pool":{"type":"string","description":"the name of the dedicated ip pool that should be used to send the message. If you do not have any dedicated IPs, this parameter has no effect. If you specify a pool that does not exist, your default pool will be used instead."},"send_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"when this message should be sent as a UTC timestamp in YYYY-MM-DD HH:MM:SS format. If you specify a time in the past, the message will be sent immediately; for future dates, you're limited to one year from the date of scheduling."},"return_path_domain":{"type":["string","null"],"description":"a custom domain to use for the messages' return-path"}},"required":["key","raw_message"],"description":"Request body for messages/send-raw","title":"MessagesSendRawRequest"},"MessagesSendRawResponse":{"description":"Any type","title":"MessagesSendRawResponse"},"MessagesListScheduledRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"to":{"type":["string","null"],"format":"email","description":"an optional recipient address to restrict results to"}},"required":["key"],"description":"Request body for messages/list-scheduled","title":"MessagesListScheduledRequest"},"MessagesScheduled":{"type":"object","properties":{"_id":{"type":"string","description":"The message unique identifier"},"created_at":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"When the message was created"},"send_at":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"When the message is scheduled to be sent"},"from_email":{"type":"string","format":"email","description":"The sender email address"},"to":{"type":"string","format":"email","description":"The recipient email address"},"subject":{"type":"string","description":"The message subject"}},"required":["_id","created_at","send_at","from_email","to","subject"],"description":"Information about a scheduled message","title":"MessagesScheduled"},"MessagesListScheduledResponse":{"type":"array","items":{"$ref":"#/components/schemas/MessagesScheduled"},"description":"Array of scheduled messages","title":"MessagesListScheduledResponse"},"MessagesCancelScheduledRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"id":{"type":"string","description":"a scheduled email id, as returned by any of the messages/send calls or messages/list-scheduled"}},"required":["key","id"],"description":"Request body for messages/cancel-scheduled","title":"MessagesCancelScheduledRequest"},"MessagesCancelScheduledResponse":{"description":"Any type","title":"MessagesCancelScheduledResponse"},"MessagesRescheduleRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"id":{"type":"string","description":"a scheduled email id, as returned by any of the messages/send calls or messages/list-scheduled"},"send_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"the new UTC timestamp when the message should sent. Mandrill can't time travel, so if you specify a time in past the message will be sent immediately"}},"required":["key","id","send_at"],"description":"Request body for messages/reschedule","title":"MessagesRescheduleRequest"},"MessagesRescheduleResponse":{"description":"Any type","title":"MessagesRescheduleResponse"},"MessagesSendSmsRequestMessageSmsConsent":{"type":"string","enum":["onetime","recurring","recurring-no-confirm"],"description":"The consent type for this SMS","title":"MessagesSendSmsRequestMessageSmsConsent"},"MessagesSendSmsRequestMessageSms":{"type":"object","properties":{"text":{"type":"string","description":"The SMS message content to be sent."},"to":{"type":"array","items":{"type":"string","pattern":"^\\+[1-9]\\d{1,14}$"},"description":"The phone numbers to send the SMS to."},"from":{"type":"string","description":"The phone number to send the SMS from."},"consent":{"$ref":"#/components/schemas/MessagesSendSmsRequestMessageSmsConsent","description":"The consent type for this SMS"},"track_clicks":{"type":"boolean","description":"whether or not to turn on click tracking for the message"}},"required":["text","to","from","consent"],"title":"MessagesSendSmsRequestMessageSms"},"MessagesSendSmsRequestMessageMergeVarsItems":{"type":"object","properties":{"rcpt":{"type":"string","pattern":"^\\+[1-9]\\d{1,14}$","description":"Phone number of the recipient"},"vars":{"type":"array","items":{"$ref":"#/components/schemas/MergeVar"},"description":"Recipient-specific merge variables"}},"title":"MessagesSendSmsRequestMessageMergeVarsItems"},"MessagesSendSmsRequestMessage":{"type":"object","properties":{"sms":{"$ref":"#/components/schemas/MessagesSendSmsRequestMessageSms"},"merge":{"type":"boolean","description":"Whether to evaluate merge tags in the message. Will automatically be set to true if either merge_vars or global_merge_vars are provided."},"merge_language":{"type":"string","description":"the merge tag language to use when evaluating merge tags, either mailchimp or handlebars Possible values: \"mailchimp\" or \"handlebars\"."},"global_merge_vars":{"type":"array","items":{"$ref":"#/components/schemas/MergeVar"},"description":"global merge variables to use for all recipients. You can override these per recipient."},"merge_vars":{"type":"array","items":{"$ref":"#/components/schemas/MessagesSendSmsRequestMessageMergeVarsItems"},"description":"per-recipient merge variables, which override global merge variables with the same name."}},"required":["sms"],"title":"MessagesSendSmsRequestMessage"},"MessagesSendSmsRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"message":{"$ref":"#/components/schemas/MessagesSendSmsRequestMessage"},"async":{"type":["boolean","null"],"description":"enable a background sending mode that is optimized for bulk sending. In async mode, messages/send-sms will immediately return a status of \"queued\" for every recipient. To handle rejections when sending in async mode, set up a webhook for the 'reject' event. Defaults to false for messages with no more than 10 recipients; messages with more than 10 recipients are always sent asynchronously, regardless of the value of async."}},"required":["key","message"],"description":"Request body for messages/send-sms","title":"MessagesSendSmsRequest"},"MessagesSmsMessageStatus":{"type":"string","enum":["sent","queued","scheduled","rejected","invalid"],"description":"The sending status of the recipient","title":"MessagesSmsMessageStatus"},"MessagesSmsMessageRejectReason":{"type":"string","enum":["hard-bounce","soft-bounce","spam","unsub","custom","invalid-sender","invalid","test-mode-limit","unsigned","rule"],"description":"The reason for the rejection if the recipient status is rejected","title":"MessagesSmsMessageRejectReason"},"MessagesSmsMessageQueueReason":{"type":"string","enum":["async requested by user","multiple recipients"],"description":"The reason for the queuing if the recipient status is queued","title":"MessagesSmsMessageQueueReason"},"MessagesSmsMessage":{"type":"object","properties":{"to":{"type":"string","pattern":"^\\+[1-9]\\d{1,14}$","description":"The phone number of the recipient"},"from":{"type":"string","description":"The phone number of the sender"},"status":{"$ref":"#/components/schemas/MessagesSmsMessageStatus","description":"The sending status of the recipient"},"reject_reason":{"$ref":"#/components/schemas/MessagesSmsMessageRejectReason","description":"The reason for the rejection if the recipient status is rejected"},"queue_reason":{"$ref":"#/components/schemas/MessagesSmsMessageQueueReason","description":"The reason for the queuing if the recipient status is queued"},"_id":{"type":"string","description":"The message's unique id"}},"required":["to","from","status","_id"],"description":"The sending results for a single SMS recipient","title":"MessagesSmsMessage"},"MessagesSendSmsResponse":{"type":"array","items":{"$ref":"#/components/schemas/MessagesSmsMessage"},"description":"Array of SMS send results, one per recipient","title":"MessagesSendSmsResponse"},"MessageSmsSubaccountNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Unknown subaccount for SMS message","title":"MessageSmsSubaccountNotFoundError"},"MetadataListRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"}},"required":["key"],"description":"Request payload for listing custom metadata fields","title":"MetadataListRequest"},"MetadataResponseDataState":{"type":"string","enum":["active","delete","index","failed"],"description":"Current state of the metadata field","title":"MetadataResponseDataState"},"MetadataResponseData":{"type":"object","properties":{"name":{"type":"string","maxLength":64,"description":"Unique identifier for the metadata field"},"state":{"$ref":"#/components/schemas/MetadataResponseDataState","description":"Current state of the metadata field"},"view_template":{"type":["string","null"],"maxLength":1024,"description":"Mustache template to control how the metadata is rendered in activity logs"}},"required":["name","state"],"description":"Response data for metadata field operations","title":"MetadataResponseData"},"MetadataListResponse":{"type":"array","items":{"$ref":"#/components/schemas/MetadataResponseData"},"description":"List of custom metadata fields for the account","title":"MetadataListResponse"},"MetadataAddRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"name":{"type":"string","maxLength":64,"description":"A unique identifier for the metadata field"},"view_template":{"type":["string","null"],"maxLength":1024,"description":"Optional Mustache template to control how the metadata is rendered in your activity log"}},"required":["key","name"],"description":"Request payload for adding a custom metadata field","title":"MetadataAddRequest"},"MetadataAddResponse":{"description":"Any type","title":"MetadataAddResponse"},"MetadataUpdateRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"name":{"type":"string","maxLength":64,"description":"The unique identifier of the metadata field to update"},"view_template":{"type":"string","maxLength":1024,"description":"Mustache template to control how the metadata is rendered in your activity log"}},"required":["key","name","view_template"],"description":"Request payload for updating a custom metadata field","title":"MetadataUpdateRequest"},"MetadataUpdateResponse":{"description":"Any type","title":"MetadataUpdateResponse"},"MetadataNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Unknown metadata field","title":"MetadataNotFoundError"},"MetadataDeleteRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"name":{"type":"string","maxLength":64,"description":"The unique identifier of the metadata field to delete"}},"required":["key","name"],"description":"Request payload for deleting a custom metadata field","title":"MetadataDeleteRequest"},"MetadataDeleteResponse":{"description":"Any type","title":"MetadataDeleteResponse"},"RejectsAddRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"email":{"type":"string","format":"email","description":"An email address to block"},"comment":{"type":"string","description":"An optional comment describing the rejection"},"subaccount":{"type":"string","maxLength":255,"description":"An optional unique identifier for the subaccount to limit the blacklist entry"}},"required":["key","email"],"description":"Request payload for adding an email to the rejection blacklist","title":"RejectsAddRequest"},"RejectsAddResponse":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The email address you provided"},"added":{"type":"boolean","description":"Whether the operation succeeded"}},"required":["email","added"],"description":"Response for adding an email to the rejection blacklist","title":"RejectsAddResponse"},"RejectSubaccountNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Unknown subaccount","title":"RejectSubaccountNotFoundError"},"RejectsAddSmsRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"phone":{"type":"string","description":"A phone number to block in E.164 format"},"comment":{"type":"string","description":"An optional comment describing the rejection"},"subaccount":{"type":"string","maxLength":255,"description":"An optional unique identifier for the subaccount to limit the denylist entry"}},"required":["key","phone"],"description":"Request payload for adding a phone number to the SMS rejection denylist","title":"RejectsAddSmsRequest"},"RejectsAddSmsResponse":{"description":"Any type","title":"RejectsAddSmsResponse"},"RejectsListRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"email":{"type":"string","description":"An optional email address to search by"},"include_expired":{"type":"boolean","description":"Whether to include rejections that have already expired"},"subaccount":{"type":"string","maxLength":255,"description":"An optional unique identifier for the subaccount to limit the blacklist"}},"required":["key"],"description":"Request payload for retrieving email rejection blacklist","title":"RejectsListRequest"},"RejectsListResponseItemsReason":{"type":"string","enum":["hard-bounce","soft-bounce","spam","unsub","custom"],"description":"The type of event that caused this rejection","title":"RejectsListResponseItemsReason"},"RejectsListResponseItemsSender":{"type":"object","properties":{"address":{"type":"string","format":"email","description":"The sender's email address"},"created_at":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"The date and time that the sender was first seen by Mandrill as a UTC date string in YYYY-MM-DD HH:MM:SS format"},"sent":{"type":"integer","description":"The total number of messages sent by this sender"},"hard_bounces":{"type":"integer","description":"The total number of hard bounces by messages by this sender"},"soft_bounces":{"type":"integer","description":"The total number of soft bounces by messages by this sender"},"rejects":{"type":"integer","description":"The total number of rejected messages by this sender"},"complaints":{"type":"integer","description":"The total number of spam complaints received for messages by this sender"},"unsubs":{"type":"integer","description":"The total number of unsubscribe requests received for messages by this sender"}},"description":"The sender that this blocklist entry applies to, or null if none","title":"RejectsListResponseItemsSender"},"RejectsListResponseItems":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The email that is blocked"},"reason":{"$ref":"#/components/schemas/RejectsListResponseItemsReason","description":"The type of event that caused this rejection"},"detail":{"type":["string","null"],"description":"Extended details about the event, such as the SMTP diagnostic for bounces or the comment for manually-created rejections, or null if none was recorded"},"created_at":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"When the email was added to the blocklist"},"last_event_at":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"The timestamp of the most recent event that either created or renewed this rejection"},"expires_at":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"When the blocklist entry will expire (this may be in the past)"},"expired":{"type":"boolean","description":"Whether the blocklist entry has expired"},"sender":{"oneOf":[{"$ref":"#/components/schemas/RejectsListResponseItemsSender"},{"type":"null"}],"description":"The sender that this blocklist entry applies to, or null if none"},"subaccount":{"type":["string","null"],"description":"The subaccount that this denylist entry applies to, or null if none"}},"required":["email","reason","detail","created_at","last_event_at","expires_at","expired"],"title":"RejectsListResponseItems"},"RejectsListResponse":{"type":"array","items":{"$ref":"#/components/schemas/RejectsListResponseItems"},"description":"Response containing up to 1000 rejection blacklist entries","title":"RejectsListResponse"},"RequestLimitExceededErrorCode":{"type":"string","enum":["429"],"description":"Numeric error code","title":"RequestLimitExceededErrorCode"},"RequestLimitExceededErrorName":{"type":"string","enum":["RequestLimitExceeded"],"description":"Machine-friendly error name","title":"RequestLimitExceededErrorName"},"RequestLimitExceededError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"$ref":"#/components/schemas/RequestLimitExceededErrorCode","description":"Numeric error code"},"name":{"$ref":"#/components/schemas/RequestLimitExceededErrorName","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"The request has been rate-limited. Slow down and retry after a brief delay.","title":"RequestLimitExceededError"},"RejectsListSmsRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"phone":{"type":"string","description":"An optional phone number to search by in E.164 format"},"include_expired":{"type":"boolean","description":"Whether to include rejections that have already expired"},"subaccount":{"type":"string","maxLength":255,"description":"An optional unique identifier for the subaccount to limit the denylist"}},"required":["key"],"description":"Request payload for retrieving the SMS rejection denylist","title":"RejectsListSmsRequest"},"RejectsListSmsResponseItems":{"type":"object","properties":{"phone":{"type":"string","description":"The phone number on the denylist"},"created_at":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"The date and time that the entry was created"},"expires_at":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"The date and time that the entry expires"},"expired":{"type":"boolean","description":"Whether the entry has expired"},"subaccount":{"type":["string","null"],"description":"The subaccount that the entry belongs to"}},"required":["phone","created_at","expired"],"title":"RejectsListSmsResponseItems"},"RejectsListSmsResponse":{"type":"array","items":{"$ref":"#/components/schemas/RejectsListSmsResponseItems"},"description":"Response containing up to 1000 SMS rejection denylist entries","title":"RejectsListSmsResponse"},"RejectsDeleteRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"email":{"type":"string","format":"email","description":"An email address to remove from the blacklist"},"subaccount":{"type":"string","maxLength":255,"description":"An optional unique identifier for the subaccount to limit the blacklist deletion"}},"required":["key","email"],"description":"Request payload for deleting an email from the rejection blacklist","title":"RejectsDeleteRequest"},"RejectsDeleteResponse":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"The email address that was removed from the blacklist"},"deleted":{"type":"boolean","description":"Whether the address was deleted successfully"},"subaccount":{"type":"string","description":"The subaccount blacklist that the address was removed from, if any"}},"required":["email","deleted"],"description":"Response for deleting an email from the rejection blacklist","title":"RejectsDeleteResponse"},"RejectEmailNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Email not found in rejection list or unknown subaccount","title":"RejectEmailNotFoundError"},"RejectsDeleteSmsRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"phone":{"type":"string","description":"A phone number in E.164 format"},"subaccount":{"type":"string","maxLength":255,"description":"An optional unique identifier for the subaccount to limit the denylist deletion"}},"required":["key","phone"],"description":"Request payload for deleting a phone number from the SMS rejection denylist","title":"RejectsDeleteSmsRequest"},"RejectsDeleteSmsResponse":{"description":"Any type","title":"RejectsDeleteSmsResponse"},"RejectPhoneNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Phone number not found in rejection list or unknown subaccount","title":"RejectPhoneNotFoundError"},"SendersListRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"}},"required":["key"],"description":"Request payload for listing senders used by this account","title":"SendersListRequest"},"Sender":{"type":"object","properties":{"address":{"type":"string","format":"email","description":"The sender's email address"},"created_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"UTC timestamp when first seen"},"sent":{"type":"integer","description":"Total messages sent by this sender"},"hard_bounces":{"type":"integer","description":"Total number of hard bounces by this sender"},"soft_bounces":{"type":"integer","description":"Total number of soft bounces by this sender"},"rejects":{"type":"integer","description":"Total number of rejected messages by this sender"},"complaints":{"type":"integer","description":"Total number of spam complaints for this sender"},"unsubs":{"type":"integer","description":"Total number of unsubscribe requests for this sender"},"opens":{"type":"integer","description":"Total number of times messages by this sender have been opened"},"clicks":{"type":"integer","description":"Total number of tracked URL clicks by this sender"},"unique_clicks":{"type":"integer","description":"Number of unique clicks for emails sent by this sender"},"unique_opens":{"type":"integer","description":"Number of unique opens for emails sent by this sender"}},"description":"Information about a sending address used by the account.","title":"Sender"},"SendersListResponse":{"type":"array","items":{"$ref":"#/components/schemas/Sender"},"description":"Array of sender information for each sending address used by the account","title":"SendersListResponse"},"SendersDomainsRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"}},"required":["key"],"description":"Request payload for listing sender domains","title":"SendersDomainsRequest"},"VerificationDetail":{"type":"object","properties":{"valid":{"type":"boolean","description":"Whether this verification is valid."},"valid_after":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"The date and time that this verification was last tested."},"error":{"type":"string","description":"An error message indicating why the verification failed."}},"description":"Details about the verification status of a domain.","title":"VerificationDetail"},"DmarcDetail":{"type":"object","properties":{"valid":{"type":"boolean","description":"Whether this verification is valid."},"error":{"type":"string","description":"An error message indicating why the verification failed."}},"description":"Details about the DMARC status of a domain.","title":"DmarcDetail"},"SendersSenderDomain":{"type":"object","properties":{"domain":{"type":"string","format":"hostname"},"created_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"The date and time that the sending domain was first seen."},"last_tested_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"The date and time that the sending domain was last tested."},"spf":{"$ref":"#/components/schemas/VerificationDetail","description":"Details about the domain's SPF record."},"dkim":{"$ref":"#/components/schemas/VerificationDetail","description":"Details about the domain's DKIM record."},"dkim2":{"$ref":"#/components/schemas/VerificationDetail","description":"Details about the domain's second DKIM record."},"dmarc":{"$ref":"#/components/schemas/DmarcDetail","description":"Details about the domain's DMARC record."},"verified_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"The date and time that the sending domain was verified."},"valid_signing":{"type":"boolean","description":"Whether this domain can be used to sign messages."},"verify_txt_key":{"type":"string","description":"The key for the TXT record used to verify the domain."}},"description":"A domain used for sending by the account, including verification status.","title":"SendersSenderDomain"},"SendersDomainsResponse":{"type":"array","items":{"$ref":"#/components/schemas/SendersSenderDomain"},"description":"Array of sender domain information for each sending domain used by the account","title":"SendersDomainsResponse"},"SendersAddDomainRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"domain":{"type":"string","format":"hostname","maxLength":255}},"required":["key","domain"],"description":"Request body for adding a sender domain.","title":"SendersAddDomainRequest"},"SendersAddDomainResponse":{"description":"Any type","title":"SendersAddDomainResponse"},"SendersCheckDomainRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"domain":{"type":"string","format":"hostname","maxLength":255}},"required":["key","domain"],"description":"Request body for checking a sender domain.","title":"SendersCheckDomainRequest"},"SendersCheckDomainResponse":{"description":"Any type","title":"SendersCheckDomainResponse"},"SendersVerifyDomainRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"domain":{"type":"string","format":"hostname","description":"A domain name at which you can receive email"},"mailbox":{"type":"string","format":"mailbox","description":"A mailbox at the domain where the verification email should be sent"}},"required":["key","domain","mailbox"],"description":"Request payload for sending a verification email to verify ownership of a domain","title":"SendersVerifyDomainRequest"},"SendersVerifyDomainResponseStatus":{"type":"string","enum":["sent","already_verified"],"title":"SendersVerifyDomainResponseStatus"},"SendersVerifyDomainResponse":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/SendersVerifyDomainResponseStatus"},"domain":{"type":"string","format":"hostname"},"email":{"type":"string","format":"email"}},"required":["status","domain","email"],"description":"Result of a sender domain verification email request.","title":"SendersVerifyDomainResponse"},"SendersInfoRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"address":{"type":"string","format":"email","description":"The email address of the sender"}},"required":["key","address"],"description":"Request payload for retrieving detailed information about a single sender","title":"SendersInfoRequest"},"StatsWindow":{"type":"object","properties":{"sent":{"type":"integer","description":"Number of emails sent"},"hard_bounces":{"type":"integer","description":"Number of emails that hard bounced"},"soft_bounces":{"type":"integer","description":"Number of emails that soft bounced"},"rejects":{"type":"integer","description":"Number of emails rejected"},"complaints":{"type":"integer","description":"Number of spam complaints"},"unsubs":{"type":"integer","description":"Number of unsubscribe requests"},"opens":{"type":"integer","description":"Number of times emails were opened"},"unique_opens":{"type":"integer","description":"Number of unique opens"},"clicks":{"type":"integer","description":"Number of tracked URL clicks"},"unique_clicks":{"type":"integer","description":"Number of unique clicks"}},"description":"Aggregate sending statistics for a time window","title":"StatsWindow"},"SendersInfoResponseStats":{"type":"object","properties":{"today":{"$ref":"#/components/schemas/StatsWindow"},"last_7_days":{"$ref":"#/components/schemas/StatsWindow"},"last_30_days":{"$ref":"#/components/schemas/StatsWindow"},"last_60_days":{"$ref":"#/components/schemas/StatsWindow"},"last_90_days":{"$ref":"#/components/schemas/StatsWindow"}},"title":"SendersInfoResponseStats"},"SendersInfoResponse":{"type":"object","properties":{"address":{"type":"string","format":"email","description":"The sender's email address"},"created_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"UTC timestamp when first seen"},"sent":{"type":"integer","description":"Total messages sent by this sender"},"hard_bounces":{"type":"integer","description":"Total number of hard bounces by this sender"},"soft_bounces":{"type":"integer","description":"Total number of soft bounces by this sender"},"rejects":{"type":"integer","description":"Total number of rejected messages by this sender"},"complaints":{"type":"integer","description":"Total number of spam complaints for this sender"},"unsubs":{"type":"integer","description":"Total number of unsubscribe requests for this sender"},"opens":{"type":"integer","description":"Total number of times messages by this sender have been opened"},"clicks":{"type":"integer","description":"Total number of tracked URL clicks by this sender"},"unique_clicks":{"type":"integer","description":"Number of unique clicks for emails sent by this sender"},"unique_opens":{"type":"integer","description":"Number of unique opens for emails sent by this sender"},"stats":{"$ref":"#/components/schemas/SendersInfoResponseStats"}},"description":"Detailed sender info including time-window stats.","title":"SendersInfoResponse"},"SenderNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Unknown sender","title":"SenderNotFoundError"},"SendersTimeSeriesRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"address":{"type":"string","format":"email","description":"The email address of the sender"}},"required":["key","address"],"description":"Request payload for retrieving hourly stats for a sender","title":"SendersTimeSeriesRequest"},"SendersHourStat":{"type":"object","properties":{"time":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"UTC hour in YYYY-MM-DD HH:MM:SS"},"sent":{"type":"integer"},"hard_bounces":{"type":"integer"},"soft_bounces":{"type":"integer"},"rejects":{"type":"integer"},"complaints":{"type":"integer"},"opens":{"type":"integer"},"unique_opens":{"type":"integer"},"clicks":{"type":"integer"},"unique_clicks":{"type":"integer"}},"description":"Hourly stats row for a sender over the last 30 days.","title":"SendersHourStat"},"SendersTimeSeriesResponse":{"type":"array","items":{"$ref":"#/components/schemas/SendersHourStat"},"description":"Array of hourly stats for a sender over the last 30 days","title":"SendersTimeSeriesResponse"},"SendersDeleteDomainRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"domain":{"type":"string","format":"hostname","maxLength":255,"description":"the domain name to delete"}},"required":["key","domain"],"description":"Request body for deleting a sender domain.","title":"SendersDeleteDomainRequest"},"SendersDeleteDomainResponse":{"description":"Any type","title":"SendersDeleteDomainResponse"},"SenderCannotDeleteVerifiedError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Cannot delete verified sender domain","title":"SenderCannotDeleteVerifiedError"},"SenderDomainNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Unknown sender domain","title":"SenderDomainNotFoundError"},"SubaccountsListRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"q":{"type":"string","description":"An optional prefix to filter the subaccounts' ids and names"}},"required":["key"],"description":"Request payload for listing subaccounts, optionally filtered by a prefix","title":"SubaccountsListRequest"},"SubaccountsSubaccountStatus":{"type":"string","enum":["active","paused"],"description":"Current sending status of the subaccount","title":"SubaccountsSubaccountStatus"},"SubaccountsSubaccount":{"type":"object","properties":{"id":{"type":"string","maxLength":255,"description":"Unique identifier for the subaccount"},"name":{"type":"string","maxLength":255,"description":"Optional display name for the subaccount"},"created_at":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"Date and time the subaccount was created in UTC YYYY-MM-DD HH:MM:SS format"},"first_sent_at":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"Date and time that the subaccount first sent as a UTC string in YYYY-MM-DD HH:MM:SS format"},"status":{"$ref":"#/components/schemas/SubaccountsSubaccountStatus","description":"Current sending status of the subaccount"},"reputation":{"type":"integer","maximum":100,"description":"Subaccount reputation on a scale from 0 to 100"},"sent_weekly":{"type":"integer","description":"Number of emails the subaccount has sent so far this week (weeks start on midnight Monday, UTC)"},"sent_monthly":{"type":"integer","description":"Number of emails the subaccount has sent so far this month (months start on midnight of the 1st, UTC)"},"sent_total":{"type":"integer","description":"Number of emails the subaccount has sent since it was created"},"custom_quota":{"type":"integer","minimum":1,"description":"Optional manual hourly quota for the subaccount. Only present when explicitly set during creation/update"}},"required":["id","created_at","status","reputation","sent_weekly","sent_monthly","sent_total"],"description":"Basic subaccount information returned by most operations (add, update, delete, pause, resume, list)","title":"SubaccountsSubaccount"},"SubaccountsListResponse":{"type":"array","items":{"$ref":"#/components/schemas/SubaccountsSubaccount"},"description":"List of subaccounts for the account, up to a maximum of 1,000","title":"SubaccountsListResponse"},"SubaccountsAddRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"id":{"type":"string","maxLength":255,"description":"A unique identifier for the subaccount to be used in sending calls"},"name":{"type":["string","null"],"maxLength":1024,"description":"An optional display name to further identify the subaccount"},"notes":{"type":["string","null"],"description":"Optional extra text to associate with the subaccount"},"custom_quota":{"type":["integer","null"],"minimum":1,"description":"An optional manual hourly quota for the subaccount. If not specified, Mandrill will manage this based on reputation"}},"required":["key","id"],"description":"Request payload for creating a new subaccount","title":"SubaccountsAddRequest"},"SubaccountsAddResponse":{"description":"Any type","title":"SubaccountsAddResponse"},"SubaccountsInfoRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"id":{"type":"string","description":"The unique identifier of the subaccount to query"}},"required":["key","id"],"description":"Request payload for subaccount operations requiring only a subaccount ID","title":"SubaccountsInfoRequest"},"SubaccountsInfoResponseStatus":{"type":"string","enum":["active","paused"],"description":"Current sending status of the subaccount","title":"SubaccountsInfoResponseStatus"},"SubaccountsInfoResponse":{"type":"object","properties":{"id":{"type":"string","maxLength":255,"description":"Unique identifier for the subaccount"},"name":{"type":"string","maxLength":255,"description":"Optional display name for the subaccount"},"created_at":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"Date and time the subaccount was created in UTC YYYY-MM-DD HH:MM:SS format"},"first_sent_at":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"Date and time that the subaccount first sent as a UTC string in YYYY-MM-DD HH:MM:SS format"},"status":{"$ref":"#/components/schemas/SubaccountsInfoResponseStatus","description":"Current sending status of the subaccount"},"reputation":{"type":"integer","maximum":100,"description":"Subaccount reputation on a scale from 0 to 100"},"sent_weekly":{"type":"integer","description":"Number of emails the subaccount has sent so far this week (weeks start on midnight Monday, UTC)"},"sent_monthly":{"type":"integer","description":"Number of emails the subaccount has sent so far this month (months start on midnight of the 1st, UTC)"},"sent_total":{"type":"integer","description":"Number of emails the subaccount has sent since it was created"},"custom_quota":{"type":"integer","minimum":1,"description":"Optional manual hourly quota for the subaccount. Only present when explicitly set during creation/update"},"sent_hourly":{"type":"integer","description":"Number of emails the subaccount has sent in the last hour"},"hourly_quota":{"type":"integer","description":"Current hourly quota for the subaccount, either manual or reputation-based"},"notes":{"type":"string","description":"Optional extra text to associate with the subaccount"},"last_30_days":{"$ref":"#/components/schemas/StatsWindow","description":"Sending statistics for this subaccount in the last 30 days"}},"required":["id","created_at","status","reputation","sent_weekly","sent_monthly","sent_total","sent_hourly","hourly_quota","notes","last_30_days"],"description":"Complete subaccount information including sending statistics and configuration (returned by info endpoint)","title":"SubaccountsInfoResponse"},"SubaccountNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Unknown subaccount","title":"SubaccountNotFoundError"},"SubaccountsUpdateRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"id":{"type":"string","description":"The unique identifier of the subaccount to update"},"name":{"type":["string","null"],"maxLength":1024,"description":"An optional display name to further identify the subaccount"},"notes":{"type":["string","null"],"description":"Optional extra text to associate with the subaccount"},"custom_quota":{"type":["integer","null"],"minimum":1,"description":"An optional manual hourly quota for the subaccount. If not specified, Mandrill will manage this based on reputation"}},"required":["key","id"],"description":"Request payload for updating an existing subaccount","title":"SubaccountsUpdateRequest"},"SubaccountsUpdateResponse":{"description":"Any type","title":"SubaccountsUpdateResponse"},"SubaccountsDeleteRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"id":{"type":"string","description":"The unique identifier of the subaccount to delete"}},"required":["key","id"],"description":"Request payload for deleting a subaccount","title":"SubaccountsDeleteRequest"},"SubaccountsDeleteResponse":{"description":"Any type","title":"SubaccountsDeleteResponse"},"SubaccountsPauseRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"id":{"type":"string","description":"The unique identifier of the subaccount to pause"}},"required":["key","id"],"description":"Request payload for pausing a subaccount","title":"SubaccountsPauseRequest"},"SubaccountsPauseResponse":{"description":"Any type","title":"SubaccountsPauseResponse"},"SubaccountsResumeRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"id":{"type":"string","description":"The unique identifier of the subaccount to resume"}},"required":["key","id"],"description":"Request payload for resuming a paused subaccount","title":"SubaccountsResumeRequest"},"SubaccountsResumeResponse":{"description":"Any type","title":"SubaccountsResumeResponse"},"TagsListRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"}},"required":["key"],"description":"Request payload for listing all user-defined tags","title":"TagsListRequest"},"TagsTag":{"type":"object","properties":{"user_id":{"type":"integer","description":"User ID associated with this tag"},"tag":{"type":"string","description":"Tag name"},"sent":{"type":"integer","description":"Total number of emails sent with this tag"},"hard_bounces":{"type":"integer","description":"Total number of hard bounces for emails with this tag"},"soft_bounces":{"type":"integer","description":"Total number of soft bounces for emails with this tag"},"rejects":{"type":"integer","description":"Total number of rejected emails with this tag"},"complaints":{"type":"integer","description":"Total number of spam complaints for emails with this tag"},"unsubs":{"type":"integer","description":"Total number of unsubscribe requests for emails with this tag"},"opens":{"type":"integer","description":"Total number of times emails with this tag have been opened"},"clicks":{"type":"integer","description":"Total number of tracked URLs clicked in emails with this tag"},"content_reviews":{"type":"integer","description":"Number of content reviews for this tag"},"content_rejections":{"type":"integer","description":"Number of content rejections for this tag"},"reject_resets":{"type":"integer","description":"Number of reject resets for this tag"},"unique_opens":{"type":"integer","description":"Total number of unique opens for emails with this tag"},"unique_clicks":{"type":"integer","description":"Total number of unique clicks for emails with this tag"},"reputation":{"type":"integer","minimum":0,"maximum":100,"description":"Tag reputation score on scale 0-100"},"confidence":{"type":"integer","minimum":0,"maximum":100,"description":"Confidence score for this tag"}},"required":["user_id","tag","sent","hard_bounces","soft_bounces","rejects","complaints","unsubs","opens","clicks","content_reviews","content_rejections","reject_resets","unique_opens","unique_clicks","reputation","confidence"],"description":"Tag information including sending statistics and reputation metrics","title":"TagsTag"},"TagsListResponse":{"type":"array","items":{"$ref":"#/components/schemas/TagsTag"},"description":"Array of tags used in the account","title":"TagsListResponse"},"TagsDeleteRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"tag":{"type":"string","description":"An existing tag name"}},"required":["key","tag"],"description":"Request payload for deleting a tag","title":"TagsDeleteRequest"},"TagsDeleteResponse":{"type":"object","properties":{"tag":{"type":"string","description":"The name of the tag that was deleted"},"sent":{"type":"integer","description":"Total number of emails sent with this tag before deletion"},"hard_bounces":{"type":"integer","description":"Total number of hard bounces for emails with this tag before deletion"},"soft_bounces":{"type":"integer","description":"Total number of soft bounces for emails with this tag before deletion"},"rejects":{"type":"integer","description":"Total number of rejected emails with this tag before deletion"},"complaints":{"type":"integer","description":"Total number of spam complaints for emails with this tag before deletion"},"unsubs":{"type":"integer","description":"Total number of unsubscribe requests for emails with this tag before deletion"},"opens":{"type":"integer","description":"Total number of times emails with this tag were opened before deletion"},"clicks":{"type":"integer","description":"Total number of tracked URLs clicked in emails with this tag before deletion"},"unique_opens":{"type":"integer","description":"Total number of unique opens for emails with this tag before deletion"},"unique_clicks":{"type":"integer","description":"Total number of unique clicks for emails with this tag before deletion"},"reputation":{"type":"integer","minimum":0,"maximum":100,"description":"Final reputation score of the tag before deletion"}},"required":["tag","sent","hard_bounces","soft_bounces","rejects","complaints","unsubs","opens","clicks","unique_opens","unique_clicks","reputation"],"description":"Response containing information about a deleted tag including its final statistics","title":"TagsDeleteResponse"},"TagInvalidNameError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Invalid tag name","title":"TagInvalidNameError"},"TagsInfoRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"tag":{"type":"string","description":"An existing tag name"}},"required":["key","tag"],"description":"Request payload for getting tag info","title":"TagsInfoRequest"},"TagsInfoResponseStats":{"type":"object","properties":{"today":{"$ref":"#/components/schemas/StatsWindow"},"last_7_days":{"$ref":"#/components/schemas/StatsWindow"},"last_30_days":{"$ref":"#/components/schemas/StatsWindow"},"last_60_days":{"$ref":"#/components/schemas/StatsWindow"},"last_90_days":{"$ref":"#/components/schemas/StatsWindow"}},"required":["today","last_7_days","last_30_days","last_60_days","last_90_days"],"description":"Aggregate summary of the tag's sending stats across different time windows","title":"TagsInfoResponseStats"},"TagsInfoResponse":{"type":"object","properties":{"tag":{"type":"string","description":"Tag name"},"sent":{"type":"integer","description":"Total number of emails sent with this tag"},"hard_bounces":{"type":"integer","description":"Total number of hard bounces for emails with this tag"},"soft_bounces":{"type":"integer","description":"Total number of soft bounces for emails with this tag"},"rejects":{"type":"integer","description":"Total number of rejected emails with this tag"},"complaints":{"type":"integer","description":"Total number of spam complaints for emails with this tag"},"unsubs":{"type":"integer","description":"Total number of unsubscribe requests for emails with this tag"},"opens":{"type":"integer","description":"Total number of times emails with this tag have been opened"},"clicks":{"type":"integer","description":"Total number of tracked URLs clicked in emails with this tag"},"unique_opens":{"type":"integer","description":"Total number of unique opens for emails with this tag"},"unique_clicks":{"type":"integer","description":"Total number of unique clicks for emails with this tag"},"reputation":{"type":"integer","minimum":0,"maximum":100,"description":"Tag reputation score on scale 0-100"},"stats":{"$ref":"#/components/schemas/TagsInfoResponseStats","description":"Aggregate summary of the tag's sending stats across different time windows"}},"required":["tag","sent","hard_bounces","soft_bounces","rejects","complaints","unsubs","opens","clicks","unique_opens","unique_clicks","reputation","stats"],"description":"Detailed tag information including aggregate statistics across different time windows","title":"TagsInfoResponse"},"TagsTimeSeriesRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"tag":{"type":"string","description":"An existing tag name"}},"required":["key","tag"],"description":"Request payload for getting tag time series data","title":"TagsTimeSeriesRequest"},"TagsTagTimeSeries":{"type":"object","properties":{"sent":{"type":"integer","description":"Number of emails sent during the hour"},"hard_bounces":{"type":"integer","description":"Number of emails that hard bounced during the hour"},"soft_bounces":{"type":"integer","description":"Number of emails that soft bounced during the hour"},"rejects":{"type":"integer","description":"Number of emails rejected during the hour"},"complaints":{"type":"integer","description":"Number of spam complaints received during the hour"},"unsubs":{"type":"integer","description":"Number of unsubscribe requests received during the hour"},"opens":{"type":"integer","description":"Number of emails opened during the hour"},"unique_opens":{"type":"integer","description":"Number of unique opens generated by messages sent during the hour"},"clicks":{"type":"integer","description":"Number of tracked URLs clicked during the hour"},"unique_clicks":{"type":"integer","description":"Number of unique clicks generated by messages sent during the hour"},"time":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"The hour as a UTC date string in YYYY-MM-DD HH:MM:SS format"}},"required":["sent","hard_bounces","soft_bounces","rejects","complaints","unsubs","opens","unique_opens","clicks","unique_clicks","time"],"description":"Hourly statistics for a tag in a specific time period","title":"TagsTagTimeSeries"},"TagsTimeSeriesResponse":{"type":"array","items":{"$ref":"#/components/schemas/TagsTagTimeSeries"},"description":"Array of hourly stats for the last 30 days for a tag","title":"TagsTimeSeriesResponse"},"TagsAllTimeSeriesRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"}},"required":["key"],"description":"Request payload for retrieving time series data for all tags","title":"TagsAllTimeSeriesRequest"},"TagsTimeSeriesWithTag":{"type":"object","properties":{"sent":{"type":"integer","description":"Number of emails sent during the hour"},"hard_bounces":{"type":"integer","description":"Number of emails that hard bounced during the hour"},"soft_bounces":{"type":"integer","description":"Number of emails that soft bounced during the hour"},"rejects":{"type":"integer","description":"Number of emails rejected during the hour"},"complaints":{"type":"integer","description":"Number of spam complaints received during the hour"},"unsubs":{"type":"integer","description":"Number of unsubscribe requests received during the hour"},"opens":{"type":"integer","description":"Number of emails opened during the hour"},"unique_opens":{"type":"integer","description":"Number of unique opens generated by messages sent during the hour"},"clicks":{"type":"integer","description":"Number of tracked URLs clicked during the hour"},"unique_clicks":{"type":"integer","description":"Number of unique clicks generated by messages sent during the hour"},"time":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"The hour as a UTC date string in YYYY-MM-DD HH:MM:SS format"},"tag":{"type":"string","description":"Tag name for this time series entry"}},"required":["sent","hard_bounces","soft_bounces","rejects","complaints","unsubs","opens","unique_opens","clicks","unique_clicks","time","tag"],"description":"Hourly statistics for a tag in a specific time period, including the tag name","title":"TagsTimeSeriesWithTag"},"TagsAllTimeSeriesResponse":{"type":"array","items":{"$ref":"#/components/schemas/TagsTimeSeriesWithTag"},"description":"Array of hourly stats across all tags for the last 30 days","title":"TagsAllTimeSeriesResponse"},"TemplatesAddRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"name":{"type":"string","description":"Name for the new template - must be unique"},"from_email":{"type":["string","null"],"format":"email","description":"Default sending address for emails sent using this template"},"from_name":{"type":["string","null"],"description":"Default from name to be used"},"subject":{"type":["string","null"],"description":"Default subject line to be used"},"code":{"type":["string","null"],"description":"HTML code for the template with mc:edit attributes for editable elements"},"text":{"type":["string","null"],"description":"Default text part to be used when sending with this template"},"publish":{"type":"boolean","default":true,"description":"Set to false to add a draft template without publishing"},"labels":{"type":"array","items":{"type":"string","maxLength":100},"description":"Optional array of up to 10 labels to use for filtering templates"}},"required":["key","name"],"description":"Request payload for adding a new template","title":"TemplatesAddRequest"},"TemplatesAddResponse":{"description":"Any type","title":"TemplatesAddResponse"},"TemplateInvalidDataError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Invalid template data","title":"TemplateInvalidDataError"},"TemplatesInfoRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"name":{"type":"string","description":"Immutable name of an existing template"}},"required":["key","name"],"description":"Request payload for getting template information","title":"TemplatesInfoRequest"},"TemplatesInfoResponse":{"description":"Any type","title":"TemplatesInfoResponse"},"TemplateNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Template not found","title":"TemplateNotFoundError"},"TemplatesUpdateRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"name":{"type":"string","description":"Immutable name of an existing template"},"from_email":{"type":["string","null"],"format":"email","description":"New default sending address"},"from_name":{"type":["string","null"],"description":"New default from name"},"subject":{"type":["string","null"],"description":"New default subject line"},"code":{"type":["string","null"],"description":"New code for the template"},"text":{"type":["string","null"],"description":"New default text part to be used"},"publish":{"type":"boolean","default":true,"description":"Set to false to update the draft version without publishing"},"labels":{"type":["array","null"],"items":{"type":"string","maxLength":100},"description":"Optional array of up to 10 labels to use for filtering templates"}},"required":["key","name"],"description":"Request payload for updating an existing template","title":"TemplatesUpdateRequest"},"TemplatesUpdateResponse":{"description":"Any type","title":"TemplatesUpdateResponse"},"TemplatesPublishRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"name":{"type":"string","description":"Immutable name of an existing template"}},"required":["key","name"],"description":"Request payload for publishing a template","title":"TemplatesPublishRequest"},"TemplatesPublishResponse":{"description":"Any type","title":"TemplatesPublishResponse"},"TemplatesDeleteRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"name":{"type":"string","description":"Immutable slug of an existing template"}},"required":["key","name"],"description":"Request payload for deleting a template","title":"TemplatesDeleteRequest"},"TemplatesDeleteResponse":{"description":"Any type","title":"TemplatesDeleteResponse"},"TemplatesListRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"label":{"type":["string","null"],"description":"Optional label to filter the templates"}},"required":["key"],"description":"Request payload for listing templates","title":"TemplatesListRequest"},"TemplatesTemplate":{"type":"object","properties":{"slug":{"type":"string","description":"Immutable unique identifier for the template"},"name":{"type":"string","description":"Human-readable name of the template"},"labels":{"type":"array","items":{"type":"string","maxLength":100},"description":"Array of labels for filtering templates"},"code":{"type":["string","null"],"description":"Draft HTML code for the template with mc:edit attributes"},"subject":{"type":["string","null"],"description":"Draft default subject line"},"from_email":{"type":["string","null"],"format":"email","description":"Draft default sending address"},"from_name":{"type":["string","null"],"description":"Draft default from name"},"text":{"type":["string","null"],"description":"Draft default text part"},"publish_name":{"type":"string","description":"Published name of the template"},"publish_code":{"type":["string","null"],"description":"Published HTML code for the template"},"publish_subject":{"type":["string","null"],"description":"Published default subject line"},"publish_from_email":{"type":["string","null"],"format":"email","description":"Published default sending address"},"publish_from_name":{"type":["string","null"],"description":"Published default from name"},"publish_text":{"type":["string","null"],"description":"Published default text part"},"published_at":{"type":["string","null"],"pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"Date and time when template was last published in UTC YYYY-MM-DD HH:MM:SS format"},"created_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"Date and time when template was created in UTC YYYY-MM-DD HH:MM:SS format"},"updated_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"Date and time when template was last updated in UTC YYYY-MM-DD HH:MM:SS format"},"draft_updated_at":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"Date and time when template draft was last updated in UTC YYYY-MM-DD HH:MM:SS format"},"is_broken_template":{"type":"boolean","description":"Whether the template has broken syntax or references"}},"required":["slug","name","labels","code","subject","from_email","from_name","text","publish_name","publish_code","publish_subject","publish_from_email","publish_from_name","publish_text","published_at","created_at","updated_at","is_broken_template"],"description":"Template information including content, metadata, and settings","title":"TemplatesTemplate"},"TemplatesListResponse":{"type":"array","items":{"$ref":"#/components/schemas/TemplatesTemplate"},"description":"Array of templates available to the account","title":"TemplatesListResponse"},"TemplatesTimeSeriesRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"name":{"type":"string","description":"Name of an existing template"}},"required":["key","name"],"description":"Request payload for getting template time series data","title":"TemplatesTimeSeriesRequest"},"TemplatesTemplateHistory":{"type":"object","properties":{"time":{"type":"string","pattern":"^$|^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$","description":"Hour as a UTC date string in YYYY-MM-DD HH:MM:SS format"},"sent":{"type":"integer","minimum":0,"description":"Number of emails sent during the hour"},"hard_bounces":{"type":"integer","minimum":0,"description":"Number of emails that hard bounced during the hour"},"soft_bounces":{"type":"integer","minimum":0,"description":"Number of emails that soft bounced during the hour"},"rejects":{"type":"integer","minimum":0,"description":"Number of emails that were rejected during the hour"},"complaints":{"type":"integer","minimum":0,"description":"Number of spam complaints received during the hour"},"opens":{"type":"integer","minimum":0,"description":"Number of emails opened during the hour"},"unique_opens":{"type":"integer","minimum":0,"description":"Number of unique opens generated by messages sent during the hour"},"clicks":{"type":"integer","minimum":0,"description":"Number of tracked URLs clicked during the hour"},"unique_clicks":{"type":"integer","minimum":0,"description":"Number of unique clicks generated by messages sent during the hour"}},"required":["time","sent","hard_bounces","soft_bounces","rejects","complaints","opens","unique_opens","clicks","unique_clicks"],"description":"Hourly statistics for template usage","title":"TemplatesTemplateHistory"},"TemplatesTimeSeriesResponse":{"type":"array","items":{"$ref":"#/components/schemas/TemplatesTemplateHistory"},"description":"Array of hourly stats for the last 30 days for a template","title":"TemplatesTimeSeriesResponse"},"TemplateContent":{"type":"object","properties":{"name":{"type":["string","null"],"description":"Name of the mc:edit editable region to inject into"},"content":{"type":["string","null"],"description":"Content to inject into the editable region"}},"description":"Content injection for template editable regions. Fields are optional to allow empty objects.","title":"TemplateContent"},"TemplatesRenderRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"template_name":{"type":"string","description":"Immutable name or slug of a template that exists in the user's account"},"template_content":{"type":"array","items":{"$ref":"#/components/schemas/TemplateContent"},"description":"Array of template content to render"},"merge_vars":{"type":["array","null"],"items":{"$ref":"#/components/schemas/MergeVar"},"description":"Optional merge variables to use for injecting merge field content"}},"required":["key","template_name","template_content"],"description":"Request payload for rendering a template with content and merge variables","title":"TemplatesRenderRequest"},"TemplatesRenderResponse":{"type":"object","properties":{"html":{"type":"string","description":"Rendered HTML as a string with content and merge variables injected"}},"required":["html"],"description":"Result of rendering a template with content and merge variables","title":"TemplatesRenderResponse"},"UrlsTrackingDomainsRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"}},"required":["key"],"description":"Request payload for listing tracking domains","title":"UrlsTrackingDomainsRequest"},"TrackingDomainCname":{"type":"object","properties":{"valid":{"type":"boolean","description":"Whether the CNAME record is properly configured"},"valid_after":{"type":["string","null"],"description":"When the CNAME will be valid (if applicable)"},"error":{"type":["string","null"],"description":"An error describing the CNAME record, or null if the record is correct"}},"required":["valid","valid_after","error"],"description":"CNAME record verification status and details","title":"TrackingDomainCname"},"TrackingDomain":{"type":"object","properties":{"domain":{"type":"string","format":"hostname","description":"The tracking domain name"},"created_at":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}\\.\\d+$","description":"When the domain was added to the account"},"last_tested_at":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}\\.\\d+$","description":"When the domain was last tested for CNAME configuration"},"cname":{"$ref":"#/components/schemas/TrackingDomainCname","description":"CNAME record verification status and details"},"valid_tracking":{"type":"boolean","description":"Whether this domain is ready to be used for tracking"}},"required":["domain","created_at","last_tested_at","cname","valid_tracking"],"description":"Tracking domain configuration and verification status","title":"TrackingDomain"},"UrlsTrackingDomainsResponse":{"type":"array","items":{"$ref":"#/components/schemas/TrackingDomain"},"description":"Array of tracking domains and their status","title":"UrlsTrackingDomainsResponse"},"UrlsAddTrackingDomainRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"domain":{"type":"string","format":"hostname","description":"A domain name to add for tracking"}},"required":["key","domain"],"description":"Request payload for adding a tracking domain to your account","title":"UrlsAddTrackingDomainRequest"},"UrlsAddTrackingDomainResponse":{"description":"Any type","title":"UrlsAddTrackingDomainResponse"},"UrlInvalidDomainError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Invalid tracking domain","title":"UrlInvalidDomainError"},"UrlsCheckTrackingDomainRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"domain":{"type":"string","format":"hostname","description":"An existing tracking domain name"}},"required":["key","domain"],"description":"Request payload for checking the CNAME settings for a tracking domain","title":"UrlsCheckTrackingDomainRequest"},"UrlsCheckTrackingDomainResponse":{"description":"Any type","title":"UrlsCheckTrackingDomainResponse"},"UrlNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Unknown tracking domain","title":"UrlNotFoundError"},"UrlsDeleteTrackingDomainRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"domain":{"type":"string","format":"hostname","description":"An existing tracking domain name"}},"required":["key","domain"],"description":"Request payload for deleting a tracking domain from your account","title":"UrlsDeleteTrackingDomainRequest"},"UrlsDeleteTrackingDomainResponse":{"description":"Any type","title":"UrlsDeleteTrackingDomainResponse"},"UrlCannotDeleteVerifiedError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Cannot delete verified tracking domain","title":"UrlCannotDeleteVerifiedError"},"UsersInfoRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"}},"required":["key"],"description":"Request payload for retrieving user account information","title":"UsersInfoRequest"},"UsersInfoResponseStats":{"type":"object","properties":{"today":{"$ref":"#/components/schemas/StatsWindow"},"last_7_days":{"$ref":"#/components/schemas/StatsWindow"},"last_30_days":{"$ref":"#/components/schemas/StatsWindow"},"last_60_days":{"$ref":"#/components/schemas/StatsWindow"},"last_90_days":{"$ref":"#/components/schemas/StatsWindow"},"all_time":{"$ref":"#/components/schemas/StatsWindow"}},"required":["today","last_7_days","last_30_days","last_60_days","last_90_days","all_time"],"description":"Aggregate sending statistics across different time windows","title":"UsersInfoResponseStats"},"UsersInfoResponse":{"type":"object","properties":{"username":{"type":"string","description":"Username for SMTP authentication"},"created_at":{"type":"string","description":"Account creation date in UTC YYYY-MM-DD HH:MM:SS format"},"public_id":{"type":"string","description":"Unique permanent identifier for this user"},"reputation":{"type":"integer","minimum":0,"maximum":100,"description":"User reputation on scale 0-100, 75+ is generally good"},"hourly_quota":{"type":"integer","description":"Maximum emails delivered per hour. Any emails beyond that will be accepted and queued for later delivery. Users with higher reputations will have higher hourly quotas"},"backlog":{"type":"integer","description":"Number of emails queued due to quota limits"},"stats":{"$ref":"#/components/schemas/UsersInfoResponseStats","description":"Aggregate sending statistics across different time windows"}},"required":["username","created_at","public_id","reputation","hourly_quota","backlog","stats"],"description":"Authenticated user account information including sending stats","title":"UsersInfoResponse"},"UsersPingRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"}},"required":["key"],"description":"Request payload for validating an API key with a ping","title":"UsersPingRequest"},"UsersPingResponse":{"type":"string","enum":["PONG!"],"description":"The string 'PONG!'","title":"UsersPingResponse"},"UsersPing2Request":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"}},"required":["key"],"description":"Request payload for validating an API key with a ping (strict JSON parser version)","title":"UsersPing2Request"},"UsersPing2ResponsePing":{"type":"string","enum":["PONG!"],"description":"Always the literal string \"PONG!\".","title":"UsersPing2ResponsePing"},"UsersPing2Response":{"type":"object","properties":{"PING":{"$ref":"#/components/schemas/UsersPing2ResponsePing","description":"Always the literal string \"PONG!\"."}},"required":["PING"],"description":"Static JSON payload confirming the API is reachable.","title":"UsersPing2Response"},"UsersSendersRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"}},"required":["key"],"description":"Request payload for retrieving senders associated with this account","title":"UsersSendersRequest"},"UsersSendersResponse":{"type":"array","items":{"$ref":"#/components/schemas/Sender"},"description":"Array of sender information for each sending address used by the account","title":"UsersSendersResponse"},"WebhooksListRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"}},"required":["key"],"description":"Request payload for listing all webhooks","title":"WebhooksListRequest"},"Webhook":{"type":"object","properties":{"id":{"type":"integer","description":"Unique identifier for the webhook"},"url":{"type":"string","format":"uri","description":"The URL where webhook events will be posted"},"auth_key":{"type":["string","null"],"description":"The key used for webhook authentication"},"description":{"type":["string","null"],"description":"Optional description of the webhook"},"events":{"type":"array","items":{"type":"string"},"description":"Array of event types that will trigger the webhook"},"created_at":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}\\.\\d+$","description":"When the webhook was created (UTC YYYY-MM-DD HH:MM:SS.microseconds)"},"last_sent_at":{"type":["string","null"],"pattern":"^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$","description":"When the last event was sent to this webhook (UTC YYYY-MM-DD HH:MM:SS)"},"batches_sent":{"type":"integer","description":"Number of batches sent to this webhook"},"events_sent":{"type":"integer","description":"Total number of events sent to this webhook"},"last_error":{"type":["string","null"],"description":"Last error message received when attempting to call the webhook"}},"required":["id","url","events","created_at","batches_sent","events_sent"],"description":"Webhook configuration for receiving event notifications.","title":"Webhook"},"WebhooksListResponse":{"type":"array","items":{"$ref":"#/components/schemas/Webhook"},"description":"Array of webhooks configured for the account","title":"WebhooksListResponse"},"WebhooksAddRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"url":{"type":"string","format":"active-uri","description":"The URL to POST batches of events"},"description":{"type":["string","null"],"description":"An optional description of the webhook"},"events":{"type":"array","items":{"type":"string"},"description":"Optional list of event types that will trigger the webhook"}},"required":["key","url"],"description":"Request payload for creating a new webhook.","title":"WebhooksAddRequest"},"WebhooksAddResponse":{"description":"Any type","title":"WebhooksAddResponse"},"WebhooksInfoRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"id":{"type":"integer","description":"The unique identifier of a webhook belonging to this account"}},"required":["key","id"],"description":"Request payload for getting webhook info.","title":"WebhooksInfoRequest"},"WebhooksInfoResponse":{"description":"Any type","title":"WebhooksInfoResponse"},"WebhookNotFoundError":{"type":"object","properties":{"status":{"type":"string","description":"Status of the response, typically \"error\""},"code":{"type":"integer","description":"Numeric error code"},"name":{"type":"string","description":"Machine-friendly error name"},"message":{"type":"string","description":"Human-readable error message"}},"required":["status","code","name","message"],"description":"Unknown webhook","title":"WebhookNotFoundError"},"WebhooksUpdateRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"id":{"type":"integer","description":"The unique identifier of a webhook belonging to this account"},"url":{"type":"string","format":"active-uri","description":"The URL to POST batches of events"},"description":{"type":["string","null"],"description":"An optional description of the webhook"},"events":{"type":"array","items":{"type":"string"},"description":"Optional list of event types that will trigger the webhook"}},"required":["key","id","url"],"description":"Request payload for updating an existing webhook.","title":"WebhooksUpdateRequest"},"WebhooksUpdateResponse":{"description":"Any type","title":"WebhooksUpdateResponse"},"WebhooksDeleteRequest":{"type":"object","properties":{"key":{"type":"string","description":"A valid Mandrill API key"},"id":{"type":"integer","description":"The unique identifier of a webhook belonging to this account"}},"required":["key","id"],"description":"Request payload for deleting a webhook.","title":"WebhooksDeleteRequest"},"WebhooksDeleteResponse":{"description":"Any type","title":"WebhooksDeleteResponse"}}}}