swagger: '2.0' schemes: - https host: mandrillapp.com basePath: /api/1.0/ info: description: | Mandrill is a reliable, scalable, and secure delivery API for transactional emails from websites and applications. It's ideal for sending data-driven transactional emails, including targeted e-commerce and personalized one-to-one messages. title: Mandrill version: '1.0' externalDocs: url: 'https://mandrillapp.com/api/docs/' securityDefinitions: {} paths: /exports/activity.json: post: description: 'Begins an export of your activity history. The activity will be exported to a zip archive containing a single file named activity.csv in the same format as you would be able to export from your account''s activity view. It includes the following fields: Date, Email Address, Sender, Subject, Status, Tags, Opens, Clicks, Bounce Detail. If you have configured any custom metadata fields, they will be included in the exported data.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/exports_activity' responses: '200': description: OK schema: $ref: '#/definitions/exports_satus' /exports/info.json: post: description: 'Returns information about an export job. If the export job''s state is ''complete'', the returned data will include a URL you can use to fetch the results. Every export job produces a zip archive, but the format of the archive is distinct for each job type. The api calls that initiate exports include more details about the output format for that job type.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/id' responses: '200': description: OK schema: $ref: '#/definitions/exports_info-response' /exports/list.json: post: description: Returns a list of your exports. parameters: - in: body name: body required: true schema: $ref: '#/definitions/api_key' responses: '200': description: OK schema: $ref: '#/definitions/exports_list-response' /exports/rejects.json: post: description: 'Begins an export of your rejection blacklist. The blacklist will be exported to a zip archive containing a single file named rejects.csv that includes the following fields: email, reason, detail, created_at, expires_at, last_event_at, expires_at.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/notify_email' responses: '200': description: OK schema: $ref: '#/definitions/exports_satus' /exports/whitelist.json: post: description: 'Begins an export of your rejection whitelist. The whitelist will be exported to a zip archive containing a single file named whitelist.csv that includes the following fields: email, detail, created_at.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/notify_email' responses: '200': description: OK schema: $ref: '#/definitions/exports_satus' /inbound/add-domain.json: post: description: Add an inbound domain to your account parameters: - in: body name: body required: true schema: $ref: '#/definitions/domain' responses: '200': description: OK schema: $ref: '#/definitions/inbound_info' /inbound/add-route.json: post: description: Add a new mailbox route to an inbound domain parameters: - in: body name: body required: true schema: $ref: '#/definitions/inbound_add-route' responses: '200': description: OK schema: $ref: '#/definitions/route' /inbound/check-domain.json: post: description: Check the MX settings for an inbound domain. The domain must have already been added with the add-domain call parameters: - in: body name: body required: true schema: $ref: '#/definitions/domain' responses: '200': description: OK schema: $ref: '#/definitions/inbound_info' /inbound/delete-domain.json: post: description: Delete an inbound domain from the account. All mail will stop routing for this domain immediately. parameters: - in: body name: body required: true schema: $ref: '#/definitions/domain' responses: '200': description: OK schema: $ref: '#/definitions/inbound_info' /inbound/delete-route.json: post: description: Delete an existing inbound mailbox route parameters: - in: body name: body required: true schema: $ref: '#/definitions/id' responses: '200': description: OK schema: $ref: '#/definitions/route' /inbound/domains.json: post: description: List the domains that have been configured for inbound delivery parameters: - in: body name: body required: true schema: $ref: '#/definitions/api_key' responses: '200': description: OK schema: $ref: '#/definitions/inbound_domains-response' /inbound/routes.json: post: description: List the mailbox routes defined for an inbound domain parameters: - in: body name: body required: true schema: $ref: '#/definitions/domain' responses: '200': description: OK schema: $ref: '#/definitions/inbound_routes-response' /inbound/send-raw.json: post: 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' parameters: - in: body name: body required: true schema: $ref: '#/definitions/inbound_send-raw' responses: '200': description: OK schema: $ref: '#/definitions/inbound_send-raw-response' /inbound/update-route.json: post: description: 'Update the pattern or webhook of an existing inbound mailbox route. If null is provided for any fields, the values will remain unchanged.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/inbound_update-route' responses: '200': description: OK schema: $ref: '#/definitions/route' /ips/cancel-warmup.json: post: description: Cancels the warmup process for a dedicated IP. parameters: - in: body name: body required: true schema: $ref: '#/definitions/ip' responses: '200': description: OK schema: $ref: '#/definitions/ip_info' /ips/check-custom-dns.json: post: description: Tests whether a domain name is valid for use as the custom reverse DNS for a dedicated IP. parameters: - in: body name: body required: true schema: $ref: '#/definitions/ip_domain' responses: '200': description: OK schema: $ref: '#/definitions/ips_check-custom-dns-response' /ips/create-pool.json: post: description: 'Creates a pool and returns it. If a pool already exists with this name, no action will be performed.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/ips_pool-key' responses: '200': description: OK schema: $ref: '#/definitions/ips_pool' /ips/delete-pool.json: post: description: 'Deletes a pool. A pool must be empty before you can delete it, and you cannot delete your default pool.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/ips_pool-key' responses: '200': description: OK schema: $ref: '#/definitions/ips_delete-pool-response' /ips/delete.json: post: description: Deletes a dedicated IP. This is permanent and cannot be undone. parameters: - in: body name: body required: true schema: $ref: '#/definitions/ip' responses: '200': description: OK schema: $ref: '#/definitions/ips_delete-response' /ips/info.json: post: description: Retrieves information about a single dedicated ip. parameters: - in: body name: body required: true schema: $ref: '#/definitions/ip' responses: '200': description: OK schema: $ref: '#/definitions/ip_info' /ips/list-pools.json: post: description: Lists your dedicated IP pools. parameters: - in: body name: body required: true schema: $ref: '#/definitions/api_key' responses: '200': description: OK schema: $ref: '#/definitions/ips_list-pools-response' /ips/list.json: post: description: Lists your dedicated IPs. parameters: - in: body name: body required: true schema: $ref: '#/definitions/api_key' responses: '200': description: OK schema: $ref: '#/definitions/ips_list-response' /ips/pool-info.json: post: description: Describes a single dedicated IP pool. parameters: - in: body name: body required: true schema: $ref: '#/definitions/ips_pool-key' responses: '200': description: OK schema: $ref: '#/definitions/ips_pool' /ips/provision.json: post: 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.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/ips_provision' responses: '200': description: OK schema: $ref: '#/definitions/ips_provision-response' /ips/set-custom-dns.json: post: description: Configures the custom DNS name for a dedicated IP. parameters: - in: body name: body required: true schema: $ref: '#/definitions/ip_domain' responses: '200': description: OK schema: $ref: '#/definitions/ip_info' /ips/set-pool.json: post: description: Moves a dedicated IP to a different pool. parameters: - in: body name: body required: true schema: $ref: '#/definitions/ips_set-pool' responses: '200': description: OK schema: $ref: '#/definitions/ip_info' /ips/start-warmup.json: post: 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.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/ip' responses: '200': description: OK schema: $ref: '#/definitions/ip_info' /messages/cancel-scheduled.json: post: description: Cancels a scheduled email. parameters: - in: body name: body required: true schema: $ref: '#/definitions/messages_cancel-scheduled' responses: '200': description: OK schema: $ref: '#/definitions/schedulingchange_info' /messages/content.json: post: description: Get the full content of a recently sent message parameters: - in: body name: body required: true schema: $ref: '#/definitions/id' responses: '200': description: OK schema: $ref: '#/definitions/messages_content-response' /messages/info.json: post: description: Get the information for a single recently sent message parameters: - in: body name: body required: true schema: $ref: '#/definitions/id' responses: '200': description: OK schema: $ref: '#/definitions/messages_info-response' /messages/list-scheduled.json: post: description: 'Queries your scheduled emails by sender or recipient, or both.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/messages_list-scheduled' responses: '200': description: OK schema: $ref: '#/definitions/messages_list-scheduled-response' /messages/parse.json: post: description: 'Parse the full MIME document for an email message, returning the content of the message broken into its constituent pieces' parameters: - in: body name: body required: true schema: $ref: '#/definitions/messages_parse' responses: '200': description: OK schema: $ref: '#/definitions/messages_parse-response' /messages/reschedule.json: post: description: Reschedules a scheduled email. parameters: - in: body name: body required: true schema: $ref: '#/definitions/messages_reschedule' responses: '200': description: OK schema: $ref: '#/definitions/schedulingchange_info' /messages/search-time-series.json: post: description: Search the content of recently sent messages and return the aggregated hourly stats for matching messages parameters: - in: body name: body required: true schema: $ref: '#/definitions/messages_search-time-series' responses: '200': description: OK schema: $ref: '#/definitions/timeseries' /messages/search.json: post: description: 'Search the content of recently sent messages and optionally narrow by date range, tags and senders. This method may be called up to 20 times per minute. If you need the data more often, you can use /messages/info.json to get the information for a single message, or webhooks to push activity to your own application for querying.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/messages_search' responses: '200': description: OK schema: $ref: '#/definitions/messages_search-response' /messages/send-raw.json: post: description: 'Take a raw MIME document for a message, and send it exactly as if it were sent through Mandrill''s SMTP servers' parameters: - in: body name: body required: true schema: $ref: '#/definitions/messages_send-raw' responses: '200': description: OK schema: $ref: '#/definitions/message_send-status' /messages/send-template.json: post: description: Send a new transactional message through Mandrill using a template parameters: - in: body name: body required: true schema: $ref: '#/definitions/messages_send-template' responses: '200': description: OK schema: $ref: '#/definitions/message_send-status' /messages/send.json: post: description: Send a new transactional message through Mandrill parameters: - in: body name: body required: true schema: $ref: '#/definitions/messages_send' responses: '200': description: OK schema: $ref: '#/definitions/message_send-status' /metadata/add.json: post: description: Add a new custom metadata field to be indexed for the account. parameters: - in: body name: body required: true schema: $ref: '#/definitions/metadata_template' responses: '200': description: OK schema: $ref: '#/definitions/metadata_info' /metadata/delete.json: post: description: 'Delete an existing custom metadata field. Deletion isn''t instataneous, and /metadata/list will continue to return the field until the asynchronous deletion process is complete.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/name' responses: '200': description: OK schema: $ref: '#/definitions/metadata_info' /metadata/list.json: post: description: Get the list of custom metadata fields indexed for the account. parameters: - in: body name: body required: true schema: $ref: '#/definitions/api_key' responses: '200': description: OK schema: $ref: '#/definitions/metadata_list-response' /metadata/update.json: post: description: Update an existing custom metadata field. parameters: - in: body name: body required: true schema: $ref: '#/definitions/metadata_template' responses: '200': description: OK schema: $ref: '#/definitions/metadata_info' /rejects/add.json: post: description: Adds an email to your email rejection blacklist. Addresses that you add manually will never expire and there is no reputation penalty for removing them from your blacklist. Attempting to blacklist an address that has been whitelisted will have no effect. parameters: - in: body name: body required: true schema: $ref: '#/definitions/rejects_add' responses: '200': description: OK schema: $ref: '#/definitions/rejects_add-response' /rejects/delete.json: post: description: 'Deletes an email rejection. There is no limit to how many rejections you can remove from your blacklist, but keep in mind that each deletion has an affect on your reputation.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/rejects_delete' responses: '200': description: OK schema: $ref: '#/definitions/rejects_delete-response' /rejects/list.json: post: description: 'Retrieves your email rejection blacklist. 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.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/rejects_list' responses: '200': description: OK schema: $ref: '#/definitions/rejects_list-response' /senders/add-domain.json: post: description: 'Adds a sender domain to your account. Sender domains are added automatically as you send, but you can use this call to add them ahead of time.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/domain' responses: '200': description: OK schema: $ref: '#/definitions/sender_domain_info' /senders/check-domain.json: post: description: 'Checks the SPF and DKIM settings for a domain. If you haven''t already added this domain to your account, it will be added automatically.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/domain' responses: '200': description: OK schema: $ref: '#/definitions/sender_domain_info' /senders/domains.json: post: description: Returns the sender domains that have been added to this account. parameters: - in: body name: body required: true schema: $ref: '#/definitions/api_key' responses: '200': description: OK schema: $ref: '#/definitions/senders_domains-response' /senders/info.json: post: description: 'Return more detailed information about a single sender, including aggregates of recent stats' parameters: - in: body name: body required: true schema: $ref: '#/definitions/sender_address' responses: '200': description: OK schema: $ref: '#/definitions/senders_info-response' /senders/list.json: post: description: Return the senders that have tried to use this account. parameters: - in: body name: body required: true schema: $ref: '#/definitions/api_key' responses: '200': description: OK schema: $ref: '#/definitions/senders' /senders/time-series.json: post: description: Return the recent history (hourly stats for the last 30 days) for a sender parameters: - in: body name: body required: true schema: $ref: '#/definitions/sender_address' responses: '200': description: OK schema: $ref: '#/definitions/time-series' /senders/verify-domain.json: post: description: 'Sends a verification email in order to verify ownership of a domain. Domain verification is an optional step to confirm ownership of a domain. Once a domain has been verified in a Mandrill account, other accounts may not have their messages signed by that domain unless they also verify the domain. This prevents other Mandrill accounts from sending mail signed by your domain.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/senders_verify-domain' responses: '200': description: OK schema: $ref: '#/definitions/senders_verify-domain-response' /subaccounts/add.json: post: description: Add a new subaccount parameters: - in: body name: body required: true schema: $ref: '#/definitions/subaccount_info' responses: '200': description: OK schema: $ref: '#/definitions/subaccount_info2' /subaccounts/delete.json: post: 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.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/id' responses: '200': description: OK schema: $ref: '#/definitions/subaccount_info2' /subaccounts/info.json: post: description: 'Given the ID of an existing subaccount, return the data about it' parameters: - in: body name: body required: true schema: $ref: '#/definitions/id' responses: '200': description: OK schema: $ref: '#/definitions/subaccounts_info-response' /subaccounts/list.json: post: description: 'Get the list of subaccounts defined for the account, optionally filtered by a prefix' parameters: - in: body name: body required: true schema: $ref: '#/definitions/url_key' responses: '200': description: OK schema: $ref: '#/definitions/subaccounts_list-response' /subaccounts/pause.json: post: 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. parameters: - in: body name: body required: true schema: $ref: '#/definitions/id' responses: '200': description: OK schema: $ref: '#/definitions/subaccount_info2' /subaccounts/resume.json: post: description: Resume a paused subaccount's sending parameters: - in: body name: body required: true schema: $ref: '#/definitions/id' responses: '200': description: OK schema: $ref: '#/definitions/subaccount_info2' /subaccounts/update.json: post: description: Update an existing subaccount parameters: - in: body name: body required: true schema: $ref: '#/definitions/subaccount_info' responses: '200': description: OK schema: $ref: '#/definitions/subaccount_info2' /tags/all-time-series.json: post: description: Return the recent history (hourly stats for the last 30 days) for all tags parameters: - in: body name: body required: true schema: $ref: '#/definitions/api_key' responses: '200': description: OK schema: $ref: '#/definitions/timeseries' /tags/delete.json: post: 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.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/tag_key' responses: '200': description: OK schema: $ref: '#/definitions/tags_delete-response' /tags/info.json: post: description: 'Return more detailed information about a single tag, including aggregates of recent stats' parameters: - in: body name: body required: true schema: $ref: '#/definitions/tag_key' responses: '200': description: OK schema: $ref: '#/definitions/tags_info-response' /tags/list.json: post: description: Return all of the user-defined tag information parameters: - in: body name: body required: true schema: $ref: '#/definitions/api_key' responses: '200': description: OK schema: $ref: '#/definitions/tags_list-response' /tags/time-series.json: post: description: Return the recent history (hourly stats for the last 30 days) for a tag parameters: - in: body name: body required: true schema: $ref: '#/definitions/tag_key' responses: '200': description: OK schema: $ref: '#/definitions/timeseries' /templates/add.json: post: description: Add a new template parameters: - in: body name: body required: true schema: $ref: '#/definitions/template' responses: '200': description: OK schema: $ref: '#/definitions/template_detailed' /templates/delete.json: post: description: Delete a template parameters: - in: body name: body required: true schema: $ref: '#/definitions/name' responses: '200': description: OK schema: $ref: '#/definitions/template_detailed' /templates/info.json: post: description: Get the information for an existing template parameters: - in: body name: body required: true schema: $ref: '#/definitions/name' responses: '200': description: OK schema: $ref: '#/definitions/template_detailed' /templates/list.json: post: description: Return a list of all the templates available to this user parameters: - in: body name: body required: true schema: $ref: '#/definitions/templates_list' responses: '200': description: OK schema: $ref: '#/definitions/templates_list-response' /templates/publish.json: post: description: Publish the content for the template. Any new messages sent using this template will start using the content that was previously in draft. parameters: - in: body name: body required: true schema: $ref: '#/definitions/name' responses: '200': description: OK schema: $ref: '#/definitions/template_detailed' /templates/render.json: post: description: 'Inject content and optionally merge fields into a template, returning the HTML that results' parameters: - in: body name: body required: true schema: $ref: '#/definitions/templates_render' responses: '200': description: OK schema: $ref: '#/definitions/templates_render-response' /templates/time-series.json: post: description: Return the recent history (hourly stats for the last 30 days) for a template parameters: - in: body name: body required: true schema: $ref: '#/definitions/name' responses: '200': description: OK schema: $ref: '#/definitions/time-series' /templates/update.json: post: description: 'Update the code for an existing template. If null is provided for any fields, the values will remain unchanged.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/template' responses: '200': description: OK schema: $ref: '#/definitions/template_detailed' /urls/add-tracking-domain.json: post: description: Add a tracking domain to your account parameters: - in: body name: body required: true schema: $ref: '#/definitions/domain' responses: '200': description: OK schema: $ref: '#/definitions/tracking-domain-status' /urls/check-tracking-domain.json: post: description: Checks the CNAME settings for a tracking domain. The domain must have been added already with the add-tracking-domain call parameters: - in: body name: body required: true schema: $ref: '#/definitions/domain' responses: '200': description: OK schema: $ref: '#/definitions/tracking-domain-status' /urls/list.json: post: description: Get the 100 most clicked URLs parameters: - in: body name: body required: true schema: $ref: '#/definitions/api_key' responses: '200': description: OK schema: $ref: '#/definitions/url_infos' /urls/search.json: post: description: Return the 100 most clicked URLs that match the search query given parameters: - in: body name: body required: true schema: $ref: '#/definitions/url_key' responses: '200': description: OK schema: $ref: '#/definitions/url_infos' /urls/time-series.json: post: description: Return the recent history (hourly stats for the last 30 days) for a url parameters: - in: body name: body required: true schema: $ref: '#/definitions/urls_time-series' responses: '200': description: OK schema: $ref: '#/definitions/urls_time-series-response' /urls/tracking-domains.json: post: description: Get the list of tracking domains set up for this account parameters: - in: body name: body required: true schema: $ref: '#/definitions/api_key' responses: '200': description: OK schema: $ref: '#/definitions/urls_tracking-domains-response' /users/info.json: post: description: Return the information about the API-connected user parameters: - in: body name: body required: true schema: $ref: '#/definitions/api_key' responses: '200': description: OK schema: $ref: '#/definitions/users_info-response' /users/ping.json: post: description: Validate an API key and respond to a ping parameters: - in: body name: body required: true schema: $ref: '#/definitions/api_key' responses: '200': description: OK /users/ping2.json: post: description: Validate an API key and respond to a ping (anal JSON parser version) parameters: - in: body name: body required: true schema: $ref: '#/definitions/api_key' responses: '200': description: OK schema: $ref: '#/definitions/users_ping2-response' /users/senders.json: post: description: 'Return the senders that have tried to use this account, both verified and unverified' parameters: - in: body name: body required: true schema: $ref: '#/definitions/api_key' responses: '200': description: OK schema: $ref: '#/definitions/senders' /webhooks/add.json: post: description: Add a new webhook parameters: - in: body name: body required: true schema: $ref: '#/definitions/webhooks_add' responses: '200': description: OK schema: $ref: '#/definitions/webhook' /webhooks/delete.json: post: description: Delete an existing webhook parameters: - in: body name: body required: true schema: $ref: '#/definitions/webhook_key' responses: '200': description: OK schema: $ref: '#/definitions/webhook' /webhooks/info.json: post: description: 'Given the ID of an existing webhook, return the data about it' parameters: - in: body name: body required: true schema: $ref: '#/definitions/webhook_key' responses: '200': description: OK schema: $ref: '#/definitions/webhook' /webhooks/list.json: post: description: Get the list of all webhooks defined on the account parameters: - in: body name: body required: true schema: $ref: '#/definitions/api_key' responses: '200': description: OK schema: $ref: '#/definitions/webhooks_list-response' /webhooks/update.json: post: description: Update an existing webhook parameters: - in: body name: body required: true schema: $ref: '#/definitions/webhooks_update' responses: '200': description: OK schema: $ref: '#/definitions/webhook' /whitelists/add.json: post: description: 'Adds an email to your email rejection whitelist. If the address is currently on your blacklist, that blacklist entry will be removed automatically.' parameters: - in: body name: body required: true schema: $ref: '#/definitions/email' responses: '200': description: OK schema: $ref: '#/definitions/whitelists_add-response' /whitelists/delete.json: post: description: Removes an email address from the whitelist. parameters: - in: body name: body required: true schema: $ref: '#/definitions/email' responses: '200': description: OK schema: $ref: '#/definitions/whitelists_delete-response' /whitelists/list.json: post: description: Retrieves your email rejection whitelist. You can provide an email address or search prefix to limit the results. Returns up to 1000 results. parameters: - in: body name: body required: true schema: $ref: '#/definitions/email' responses: '200': description: OK schema: $ref: '#/definitions/whitelists_list-response' definitions: api_key: properties: key: type: string type: object domain: properties: domain: type: string key: type: string type: object email: properties: email: type: string key: type: string type: object exports_activity: properties: api_keys: items: type: string type: array date_from: type: string date_to: type: string key: type: string notify_email: type: string senders: items: type: string type: array states: items: type: string type: array tags: items: type: string type: array type: object exports_info-response: properties: created_at: type: string finished_at: type: string id: type: string result_url: type: string state: type: string type: type: string type: object exports_list-response: items: properties: created_at: type: string finished_at: type: string id: type: string result_url: type: string state: type: string type: type: string type: object type: array exports_satus: properties: created_at: type: string finished_at: type: 'null' id: type: string result_url: type: 'null' state: type: string type: type: string type: object id: properties: id: type: string key: type: string type: object inbound_add-route: properties: domain: type: string key: type: string pattern: type: string url: type: string type: object inbound_domains-response: items: properties: created_at: type: string domain: type: string valid_mx: type: boolean type: object type: array inbound_info: properties: created_at: type: string domain: type: string valid_mx: type: boolean type: object inbound_routes-response: items: properties: id: type: string pattern: type: string url: type: string type: object type: array inbound_send-raw: properties: client_address: type: string helo: type: string key: type: string mail_from: type: string raw_message: type: string to: items: type: string type: array type: object inbound_send-raw-response: items: properties: email: type: string pattern: type: string url: type: string type: object type: array inbound_update-route: properties: id: type: string key: type: string pattern: type: string url: type: string type: object ip: properties: ip: type: string key: type: string type: object ip_domain: properties: domain: type: string ip: type: string key: type: string type: object ip_info: properties: created_at: type: string custom_dns: properties: enabled: type: boolean error: type: string valid: type: boolean type: object domain: type: string ip: type: string pool: type: string warmup: properties: end_at: type: string start_at: type: string warming_up: type: boolean type: object type: object ips_check-custom-dns-response: properties: error: type: string valid: type: boolean type: object ips_delete-pool-response: properties: deleted: type: boolean pool: type: string type: object ips_delete-response: properties: deleted: type: boolean ip: type: string type: object ips_list-pools-response: items: properties: created_at: type: string ips: items: properties: created_at: type: string custom_dns: properties: enabled: type: boolean error: type: string valid: type: boolean type: object domain: type: string ip: type: string pool: type: string warmup: properties: end_at: type: string start_at: type: string warming_up: type: boolean type: object type: object type: array name: type: string type: object type: array ips_list-response: items: properties: created_at: type: string custom_dns: properties: enabled: type: boolean error: type: string valid: type: boolean type: object domain: type: string ip: type: string pool: type: string warmup: properties: end_at: type: string start_at: type: string warming_up: type: boolean type: object type: object type: array ips_pool: properties: created_at: type: string ips: items: properties: created_at: type: string custom_dns: properties: enabled: type: boolean error: type: string valid: type: boolean type: object domain: type: string ip: type: string pool: type: string warmup: properties: end_at: type: string start_at: type: string warming_up: type: boolean type: object type: object type: array name: type: string type: object ips_pool-key: properties: key: type: string pool: type: string type: object ips_provision: properties: key: type: string pool: type: string warmup: type: boolean type: object ips_provision-response: properties: requested_at: type: string type: object ips_set-pool: properties: create_pool: type: boolean ip: type: string key: type: string pool: type: string type: object message_send-status: items: properties: _id: type: string email: type: string reject_reason: type: string status: type: string type: object type: array messages_cancel-scheduled: properties: id: type: 'null' key: type: string type: object messages_content-response: properties: _id: type: string attachments: items: properties: content: type: string name: type: string type: type: string type: object type: array from_email: type: string from_name: type: string headers: properties: Reply-To: type: string type: object html: type: string subject: type: string tags: items: type: string type: array text: type: string to: properties: email: type: string name: type: string type: object ts: type: integer type: object messages_info-response: properties: _id: type: string clicks: type: integer clicks_detail: items: properties: ip: type: string location: type: string ts: type: integer ua: type: string url: type: string type: object type: array email: type: string metadata: properties: user_id: type: string website: type: string type: object opens: type: integer opens_detail: items: properties: ip: type: string location: type: string ts: type: integer ua: type: string type: object type: array sender: type: string smtp_events: items: properties: diag: type: string ts: type: integer type: type: string type: object type: array state: type: string subject: type: string tags: items: type: string type: array template: type: string ts: type: integer type: object messages_list-scheduled: properties: key: type: string to: type: string type: object messages_list-scheduled-response: items: properties: _id: type: string created_at: type: string from_email: type: string send_at: type: string subject: type: string to: type: string type: object type: array messages_parse: properties: key: type: string raw_message: type: string type: object messages_parse-response: properties: attachments: items: properties: binary: type: boolean content: type: string name: type: string type: type: string type: object type: array from_email: type: string from_name: type: string headers: properties: Reply-To: type: string type: object html: type: string images: items: properties: content: type: string name: type: string type: type: string type: object type: array subject: type: string text: type: string to: items: properties: email: type: string name: type: string type: object type: array type: object messages_reschedule: properties: id: type: string key: type: string send_at: type: string type: object messages_search: properties: api_keys: items: type: string type: array date_from: type: string date_to: type: string key: type: string limit: type: integer query: type: string senders: items: type: string type: array tags: items: type: string type: array type: object messages_search-response: items: properties: _id: type: string clicks: type: integer clicks_detail: items: properties: ip: type: string location: type: string ts: type: integer ua: type: string url: type: string type: object type: array email: type: string metadata: properties: user_id: type: string website: type: string type: object opens: type: integer opens_detail: items: properties: ip: type: string location: type: string ts: type: integer ua: type: string type: object type: array sender: type: string state: type: string subject: type: string tags: items: type: string type: array template: type: string ts: type: integer type: object type: array messages_search-time-series: properties: date_from: type: string date_to: type: string key: type: string query: type: string senders: items: type: string type: array tags: items: type: string type: array type: object messages_send: properties: async: type: boolean ip_pool: type: string key: type: string message: properties: attachments: items: properties: content: type: string name: type: string type: type: string type: object type: array auto_html: type: 'null' auto_text: type: 'null' bcc_address: type: string from_email: type: string from_name: type: string global_merge_vars: items: properties: content: type: string name: type: string type: object type: array google_analytics_campaign: type: string google_analytics_domains: items: type: string type: array headers: properties: Reply-To: type: string type: object html: type: string images: items: properties: content: type: string name: type: string type: type: string type: object type: array important: type: boolean inline_css: type: 'null' merge: type: boolean merge_vars: items: properties: rcpt: type: string vars: items: properties: content: type: string name: type: string type: object type: array type: object type: array metadata: properties: website: type: string type: object preserve_recipients: type: 'null' recipient_metadata: items: properties: rcpt: type: string values: properties: user_id: type: integer type: object type: object type: array return_path_domain: type: 'null' signing_domain: type: 'null' subaccount: type: string subject: type: string tags: items: type: string type: array text: type: string to: items: properties: email: type: string name: type: string type: type: string type: object type: array track_clicks: type: 'null' track_opens: type: 'null' tracking_domain: type: 'null' url_strip_qs: type: 'null' view_content_link: type: 'null' type: object send_at: type: string type: object messages_send-raw: properties: async: type: boolean from_email: type: string from_name: type: string ip_pool: type: string key: type: string raw_message: type: string return_path_domain: type: 'null' send_at: type: string to: items: type: string type: array type: object messages_send-template: properties: async: type: boolean ip_pool: type: string key: type: string message: properties: attachments: items: properties: content: type: string name: type: string type: type: string type: object type: array auto_html: type: 'null' auto_text: type: 'null' bcc_address: type: string from_email: type: string from_name: type: string global_merge_vars: items: properties: content: type: string name: type: string type: object type: array google_analytics_campaign: type: string google_analytics_domains: items: type: string type: array headers: properties: Reply-To: type: string type: object html: type: string images: items: properties: content: type: string name: type: string type: type: string type: object type: array important: type: boolean inline_css: type: 'null' merge: type: boolean merge_vars: items: properties: rcpt: type: string vars: items: properties: content: type: string name: type: string type: object type: array type: object type: array metadata: properties: website: type: string type: object preserve_recipients: type: 'null' recipient_metadata: items: properties: rcpt: type: string values: properties: user_id: type: integer type: object type: object type: array return_path_domain: type: 'null' signing_domain: type: 'null' subaccount: type: string subject: type: string tags: items: type: string type: array text: type: string to: items: properties: email: type: string name: type: string type: type: string type: object type: array track_clicks: type: 'null' track_opens: type: 'null' tracking_domain: type: 'null' url_strip_qs: type: 'null' view_content_link: type: 'null' type: object send_at: type: string template_content: items: properties: content: type: string name: type: string type: object type: array template_name: type: string type: object metadata_info: properties: name: type: string state: type: string view_template: type: string type: object metadata_list-response: items: properties: name: type: string state: type: string view_template: type: string type: object type: array metadata_template: properties: key: type: string name: type: string view_template: type: string type: object name: properties: key: type: string name: type: string type: object notify_email: properties: key: type: string notify_email: type: string type: object rejects_add: properties: comment: type: string email: type: string key: type: string subaccount: type: string type: object rejects_add-response: properties: added: type: boolean email: type: string type: object rejects_delete: properties: email: type: string key: type: string subaccount: type: string type: object rejects_delete-response: properties: deleted: type: boolean email: type: string subaccount: type: string type: object rejects_list: properties: email: type: string include_expired: type: boolean key: type: string subaccount: type: string type: object rejects_list-response: items: properties: created_at: type: string detail: type: string email: type: string expired: type: boolean expires_at: type: string last_event_at: type: string reason: type: string sender: properties: address: type: string clicks: type: integer complaints: type: integer created_at: type: string hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object subaccount: type: string type: object type: array route: properties: id: type: string pattern: type: string url: type: string type: object schedulingchange_info: properties: _id: type: string created_at: type: string from_email: type: string send_at: type: string subject: type: string to: type: string type: object sender_address: properties: address: type: string key: type: string type: object sender_domain_info: properties: created_at: type: string dkim: properties: error: type: string valid: type: boolean valid_after: type: string type: object domain: type: string last_tested_at: type: string spf: properties: error: type: string valid: type: boolean valid_after: type: string type: object valid_signing: type: boolean verified_at: type: string type: object senders: items: properties: address: type: string clicks: type: integer complaints: type: integer created_at: type: string hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object type: array senders_domains-response: items: properties: created_at: type: string dkim: properties: error: type: string valid: type: boolean valid_after: type: string type: object domain: type: string last_tested_at: type: string spf: properties: error: type: string valid: type: boolean valid_after: type: string type: object valid_signing: type: boolean verified_at: type: string type: object type: array senders_info-response: properties: address: type: string clicks: type: integer complaints: type: integer created_at: type: string hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer stats: properties: last_30_days: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object last_60_days: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object last_7_days: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object last_90_days: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object today: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object type: object unsubs: type: integer type: object senders_verify-domain: properties: domain: type: string key: type: string mailbox: type: string type: object senders_verify-domain-response: properties: domain: type: string email: type: string status: type: string type: object subaccount_info: properties: custom_quota: type: integer id: type: string key: type: string name: type: string notes: type: string type: object subaccount_info2: properties: created_at: type: string custom_quota: type: integer first_sent_at: type: string id: type: string name: type: string reputation: type: integer sent_monthly: type: integer sent_total: type: integer sent_weekly: type: integer status: type: string type: object subaccounts_info-response: properties: created_at: type: string custom_quota: type: integer first_sent_at: type: string hourly_quota: type: integer id: type: string last_30_days: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object name: type: string notes: type: string reputation: type: integer sent_hourly: type: integer sent_monthly: type: integer sent_total: type: integer sent_weekly: type: integer status: type: string type: object subaccounts_list-response: items: properties: created_at: type: string custom_quota: type: integer first_sent_at: type: string id: type: string name: type: string reputation: type: integer sent_monthly: type: integer sent_total: type: integer sent_weekly: type: integer status: type: string type: object type: array tag_key: properties: key: type: string tag: type: string type: object tags_delete-response: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer reputation: type: integer sent: type: integer soft_bounces: type: integer tag: type: string unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object tags_info-response: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer stats: properties: last_30_days: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object last_60_days: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object last_7_days: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object last_90_days: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object today: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object type: object tag: type: string unsubs: type: integer type: object tags_list-response: items: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer reputation: type: integer sent: type: integer soft_bounces: type: integer tag: type: string unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object type: array template: properties: code: type: string from_email: type: string from_name: type: string key: type: string labels: items: type: string type: array name: type: string publish: type: boolean subject: type: string text: type: string type: object template_detailed: properties: code: type: string created_at: type: string from_email: type: string from_name: type: string labels: items: type: string type: array name: type: string publish_code: type: string publish_from_email: type: string publish_from_name: type: string publish_name: type: string publish_subject: type: string publish_text: type: string published_at: type: string slug: type: string subject: type: string text: type: string updated_at: type: string type: object templates_list: properties: key: type: string label: type: string type: object templates_list-response: items: properties: code: type: string created_at: type: string from_email: type: string from_name: type: string labels: items: type: string type: array name: type: string publish_code: type: string publish_from_email: type: string publish_from_name: type: string publish_name: type: string publish_subject: type: string publish_text: type: string published_at: type: string slug: type: string subject: type: string text: type: string updated_at: type: string type: object type: array templates_render: properties: key: type: string merge_vars: items: properties: content: type: string name: type: string type: object type: array template_content: items: properties: content: type: string name: type: string type: object type: array template_name: type: string type: object templates_render-response: properties: html: type: string type: object time-series: items: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer time: type: string unique_clicks: type: integer unique_opens: type: integer type: object type: array timeseries: items: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer time: type: string unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object type: array tracking-domain-status: properties: cname: properties: error: type: string valid: type: boolean valid_after: type: string type: object created_at: type: string domain: type: string last_tested_at: type: string valid_tracking: type: boolean type: object url_infos: items: properties: clicks: type: integer sent: type: integer unique_clicks: type: integer url: type: string type: object type: array url_key: properties: key: type: string q: type: string type: object urls_time-series: properties: key: type: string url: type: string type: object urls_time-series-response: items: properties: clicks: type: integer sent: type: integer time: type: string unique_clicks: type: integer type: object type: array urls_tracking-domains-response: items: properties: cname: properties: error: type: string valid: type: boolean valid_after: type: string type: object created_at: type: string domain: type: string last_tested_at: type: string valid_tracking: type: boolean type: object type: array users_info-response: properties: backlog: type: integer created_at: type: string hourly_quota: type: integer public_id: type: string reputation: type: integer stats: properties: all_time: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object last_30_days: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object last_60_days: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object last_7_days: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object last_90_days: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object today: properties: clicks: type: integer complaints: type: integer hard_bounces: type: integer opens: type: integer rejects: type: integer sent: type: integer soft_bounces: type: integer unique_clicks: type: integer unique_opens: type: integer unsubs: type: integer type: object type: object username: type: string type: object users_ping2-response: properties: PING: type: string type: object webhook: properties: auth_key: type: string batches_sent: type: integer created_at: type: string description: type: string events: items: type: string type: array events_sent: type: integer id: type: integer last_error: type: string last_sent_at: type: string url: type: string type: object webhook_key: properties: id: type: integer key: type: string type: object webhooks_add: properties: description: type: string events: items: type: string type: array key: type: string url: type: string type: object webhooks_list-response: items: properties: auth_key: type: string batches_sent: type: integer created_at: type: string description: type: string events: items: type: string type: array events_sent: type: integer id: type: integer last_error: type: string last_sent_at: type: string url: type: string type: object type: array webhooks_update: properties: description: type: string events: items: type: string type: array id: type: integer key: type: string url: type: string type: object whitelists_add-response: properties: email: type: string whether: type: boolean type: object whitelists_delete-response: properties: deleted: type: boolean email: type: string type: object whitelists_list-response: items: properties: created_at: type: string detail: type: string email: type: string type: object type: array