openapi: 3.1.0
info:
  title: Alerts
  description: >-
    Our alerting solution is centered around two concepts: events and channels.
    The occurrence of an event can be configured to trigger an alert. A channel
    describes the delivery method for an alert. Every configured alert consists
    of an event type / channel pair. This level of granularity allows alerting
    to be configured to your exact preference.
  version: 0.0.1
servers:
  - url: https://api.mailgun.net
    description: US Mailgun
  - url: https://api.eu.mailgun.net
    description: EU Mailgun
tags:
  - name: Alerts
    x-displayName: Alerts
  - name: Domains
    x-displayName: Domains
  - name: IP Blocklist Monitoring
    x-displayName: IP Blocklist Monitoring
  - name: Domain Blocklist Monitoring
    description: >-
      Blocklist Monitoring enables you to keep an eye on your reputation.
      Monitor your domains against our curated list of blocklist providers to
      make sure you aren't being blocked.
    x-displayName: Domain Blocklist Monitoring
  - name: Spam Traps Monitoring
    description: >-
      Our spam trap monitoring service surfaces how much of your email is being
      sent to known spam traps.
    x-displayName: Spam Traps Monitoring
  - name: openapi-spamtraps_other
    x-displayName: other
  - name: Inbox Placement
    description: >-
      Inbox Placement testing allows you to see the likely deliverability of
      your email campaigns.
    x-displayName: Inbox Placement
  - name: Email Health Score
    x-displayName: Email Health Score
  - name: DMARC Reports
    description: >-
      DMARC reporting provides valuable insights into your infrastructure,
      helping you identify potential issues like senders, misconfigured email
      servers, or phishing attempts.
    x-displayName: DMARC Reports
  - name: Google Postmaster Tools
    description: This API provides access to Google Postmaster data.
    x-displayName: Google Postmaster Tools
  - name: Microsoft SNDS
    description: This API provides access to Microsoft SNDS data.
    x-displayName: Microsoft SNDS
paths:
  /v1/alerts/events:
    get:
      tags:
        - Alerts
      summary: List events
      description: The current list of events that you can chose to receive alerts for.
      operationId: GET-v1-alerts-events
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-alerts-internal-api-ListAlertsEventsResp
              examples:
                Example:
                  value:
                    events:
                      - ip_listed
                      - ip_delisted
        default:
          description: A default response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
  /v1/alerts/settings/events:
    post:
      tags:
        - Alerts
      summary: Add Alert
      description: >-
        Use this endpoint to add new alert settings record.


        ### Webhooks


        This section covers details around consuming Mailgun Optimize alerts via
        webhooks. If you are familiar with Mailgun Send webhooks, 

        there is a lot of overlapping similarity, however, there are also a few
        minor nuances to account for.


        #### Securing Webhooks


        HMAC is used to verified to integrity as well as the authenticity of
        received webhooks. To verify the origin of a webhook:


        1. Encode the webhook’s entire POST request body with the HMAC algorithm
        (using your webhook signing key and SHA256 digest mode)

        2. Compare the resulting hexdigest to the signature provided in the POST
        request’s X-Sign header.


        NOTE: If you’re consuming Mailgun Send webhooks, please note that your
        Mailgun Send webhook signing key differs 

        from your Mailgun Optimize alerts webhook signing key. 

        Your Mailgun Optimize alerts webhook signing key is available within the
        Mailgun Optimize UI.


        #### Webhook URL Validation


        When adding or updating a webhook URL for alerts, we will ensure the
        endpoint is reachable by sending a GET request to the provided URL. If a
        200 response is not returned from your endpoint, the request will be
        rejected and your alert setting will not be saved. We intentionally
        chose to send a GET request instead of a POST when validating URLs so
        that your webhook endpoint does not have to account for test requests.


        Additionally, when a POST request is sent to your webhook URL, if a 2xx
        is not returned, we will attempt retries via an exponential backoff
        strategy for up to ~8 hours. If the max retry count is reached, the
        alert will be disabled and the related alert settings record’s
        disabled_at field will be populated.
      operationId: POST-v1-alerts-settings-events
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/github.com-mailgun-alerts-internal-api-mutateEventSettingReq
            examples:
              Example:
                value:
                  event_type: ip_listed
                  channel: webhook
                  settings:
                    url: https://yourwebhookurl.com
        required: true
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-alerts-internal-settings-EventSettings
              examples:
                Example:
                  value:
                    id: 00000000-0000-0000-0000-000000000000
                    event_type: ip_listed
                    channel: webhook
                    settings:
                      url: https://yourwebhookurl.com
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
        '409':
          description: A 409 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
        default:
          description: A default response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
  /v1/alerts/settings/events/{id}:
    put:
      tags:
        - Alerts
      summary: Update Alert
      description: >-
        Use this endpoint to update an existing alert setting record.


        NOTE: When updating a webhook alert, we will ensure the endpoint is
        reachable by sending a GET request to the provided URL. If a 200
        response is not returned, a 400 will be returned and the alert setting
        update will be rejected.
      operationId: PUT-v1-alerts-settings-events--id-
      parameters:
        - name: id
          in: path
          description: The settings ID.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/github.com-mailgun-alerts-internal-api-mutateEventSettingReq
            examples:
              Example:
                value:
                  event_type: ip_delisted
                  channel: email
                  settings:
                    emails:
                      - recipient-a@example.com
                      - recipient-b@example.com
        required: true
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: settings updated
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
        default:
          description: A default response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
    delete:
      tags:
        - Alerts
      summary: Remove Alert
      operationId: DELETE-v1-alerts-settings-events--id-
      parameters:
        - name: id
          in: path
          description: The settings ID.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: settings deleted
        default:
          description: A default response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
  /v1/alerts/settings:
    get:
      tags:
        - Alerts
      summary: List Alerts
      description: >-
        This endpoint returns a list of all configured alert settings for your
        account.
      operationId: GET-v1-alerts-settings
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-alerts-internal-api-SettingsResponse
              examples:
                Example:
                  value:
                    events:
                      - id: 00000000-0000-0000-0000-000000000000
                        event_type: ip_listed
                        channel: webhook
                        settings:
                          url: https://example.com/delisted_hook
                      - id: 00000000-0000-0000-0000-000000000000
                        event_type: ip_delisted
                        channel: webhook
                        settings:
                          url: https://yourwebhookurl.com
                        disabled_at: '2006-01-02T22:04:05Z'
                      - id: 00000000-0000-0000-0000-000000000000
                        event_type: ip_delisted
                        channel: email
                        settings:
                          emails:
                            - recipient-1@example.com
                            - recipient-2@example.com
                    webhooks: {}
                    slack: {}
        default:
          description: A default response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
  /v1/alerts/settings/slack:
    put:
      tags:
        - Alerts
      summary: Update Slack settings
      operationId: PUT-v1-alerts-settings-slack
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/github.com-mailgun-alerts-internal-settings-Slack
        required: true
      responses:
        '204':
          description: A 204 response
        default:
          description: A default response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
    delete:
      tags:
        - Alerts
      summary: Delete Slack settings
      description: >-
        Delete Slack settings and Slack event settings for the Mailgun account.


        To revoke the Slack access token, use DELETE /v1/alerts/slack/oauth.


        To completely remove the Slack App from Slack Workspace, go into App
        Configuration in Slack.
      operationId: DELETE-v1-alerts-settings-slack
      responses:
        '204':
          description: A 204 response
        default:
          description: A default response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
  /v1/alerts/settings/webhooks/signing_key:
    put:
      tags:
        - Alerts
      summary: Reset Webhook Signing Key
      operationId: PUT-v1-alerts-settings-webhooks-signing-key
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-alerts-internal-api-ResetWebhooksSigningKeyResp
        default:
          description: A default response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
  /v1/alerts/webhooks/test:
    post:
      tags:
        - Alerts
      summary: Test webhook
      description: Sends test webhook request to specified url with dummy data.
      operationId: POST-v1-alerts-webhooks-test
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/github.com-mailgun-alerts-internal-api-TestWebhookRequest
            examples:
              Example:
                value:
                  event_type: some-event
                  url: https://some-webhook-url.com/webhook
        required: true
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
        default:
          description: A default response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
  /v1/alerts/email/test:
    post:
      tags:
        - Alerts
      summary: Test message
      description: Sends test message to emails with dummy data.
      operationId: POST-v1-alerts-email-test
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/github.com-mailgun-alerts-internal-api-TestEmailRequest
            examples:
              Example:
                value:
                  event_type: some-event
                  emails:
                    - email1@example.com
                    - email2@example.com
        required: true
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
  /v1/alerts/slack/test:
    post:
      tags:
        - Alerts
      summary: Test message
      description: Sends test message to slack channels with dummy data.
      operationId: POST-v1-alerts-slack-test
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/github.com-mailgun-alerts-internal-api-TestSlackRequest
            examples:
              Example:
                value:
                  event_type: some-event
                  channel_ids:
                    - C0123
                    - C0456
        required: true
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
  /v1/alerts/slack/oauth:
    delete:
      tags:
        - Alerts
      summary: Revoke Slack access token
      description: >-
        Revoke Slack access token, delete Slack settings and Slack event
        settings.


        NOTE: All Mailgun accounts connected to the same Slack workspace share
        the same token.


        To completely remove the Slack App from Slack Workspace, go into App
        Configuration in Slack.
      operationId: DELETE-v1-alerts-slack-oauth
      responses:
        '204':
          description: A 204 response
        default:
          description: A default response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
  /v1/alerts/slack/channels/{id}:
    get:
      tags:
        - Alerts
      summary: Get Slack channel
      description: Returns Slack channel.
      operationId: GET-v1-alerts-slack-channels--id-
      parameters:
        - name: id
          in: path
          description: The Slack channel ID.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-alerts-internal-api-SlackChannel
              examples:
                Example:
                  value:
                    id: C012AB3CD
                    name: general
        '401':
          description: A 401 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: token should have 'xoxb-' prefix
        '403':
          description: A 403 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: 'missing_scope: please reconnect the Slack App'
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: no settings
      security:
        - basicAuth: []
  /v1/alerts/slack/channels:
    get:
      tags:
        - Alerts
      summary: List Slack channels
      description: List Slack channels for the connected Slack workspace.
      operationId: GET-v1-alerts-slack-channels
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-alerts-internal-api-ListSlackChannelsResp
              examples:
                Example:
                  value:
                    items:
                      - id: C012AB3CD
                        name: general
        '401':
          description: A 401 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: token should have 'xoxb-' prefix
        '403':
          description: A 403 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: 'missing_scope: please reconnect the Slack App'
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: no settings
      security:
        - basicAuth: []
  /v1/inboxready/domains:
    get:
      tags:
        - Domains
      summary: Returns Domains on Mailgun Optimize services
      description: >-
        Will return details on an Mailgun Optimize Domain. If no Domain is
        provided, then a list of all Mailgun Optimize Domains on an account will
        be returned.
      operationId: GET-v1-inboxready-domains
      parameters:
        - name: limit
          in: query
          description: Limit
          schema:
            type: integer
        - name: domain
          in: query
          description: Domain name
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-inboxready-api-DomainListResponse
              examples:
                Example:
                  value:
                    items:
                      - name: domain.tld
                        verified:
                          verified_at: 123456789
                          status: pending
                        services:
                          service_name: false
                        txt_record: IR-hashed-txt-record-key
                    paging:
                      previous: https://....
                      first: https://....
                      next: https://....
                      last: https://....
        default:
          description: A default response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericAPIError
      security:
        - basicAuth: []
    post:
      tags:
        - Domains
      summary: Add a single domain to an account
      operationId: POST-v1-inboxready-domains
      parameters:
        - name: domain
          in: query
          description: Domain name
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-inboxready-api-AddDomainResponse
              examples:
                Example:
                  value:
                    message: The domain has been added
                    domain:
                      name: domain.tld
                      verified:
                        verified_at: 123456789
                        status: pending
                      services:
                        service_name: false
                      txt_record: IR-hashed-txt-record-key
        default:
          description: A default response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericAPIError
      security:
        - basicAuth: []
    delete:
      tags:
        - Domains
      summary: Deletes a single domain from an account
      operationId: DELETE-v1-inboxready-domains
      parameters:
        - name: domain
          in: query
          description: Domain name
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-inboxready-api-DeleteDomainResponse
              examples:
                Example:
                  value:
                    message: domain.tld has been removed from Mailgun Optimize
        default:
          description: A default response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericAPIError
      security:
        - basicAuth: []
  /v1/inboxready/domains/verify:
    put:
      tags:
        - Domains
      summary: Queues a domain to be processed for verification
      operationId: PUT-v1-inboxready-domains-verify
      parameters:
        - name: domain
          in: query
          description: Domain name
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-inboxready-api-InboxReadyVerifyDomainResponse
              examples:
                Example:
                  value:
                    message: Domain pending verification
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-inboxready-api-InboxReadyVerifyDomainResponse
              examples:
                Example:
                  value:
                    message: No domain provided
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-inboxready-api-InboxReadyVerifyDomainResponse
              examples:
                Example:
                  value:
                    message: Domain not found
        default:
          description: A default response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericAPIError
      security:
        - basicAuth: []
  /v1/inboxready/ip_addresses:
    get:
      tags:
        - IP Blocklist Monitoring
      summary: Lists monitored IP addresses
      operationId: GET-v1-inboxready-ip-addresses
      parameters:
        - name: limit
          in: query
          description: Limit
          schema:
            type: integer
            default: 100
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-inboxready-api-ListIPAddressesResp
              examples:
                Example:
                  value:
                    items:
                      - ip: 127.0.0.1
                        ip_pool: swimming
                        description: this is a description
                        state: listed
                        listed:
                          - list: b.barracudacentral.org
                            delist_requested_at: '0001-01-01T00:00:00Z'
                            first_seen: '2021-06-14T13:46:52Z'
                            last_seen: '2022-06-14T13:46:52Z'
                            comments:
                              - >-
                                http://www.barracudanetworks.com/reputation/?pr=1&ip=127.0.0.1
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericResponse
        '403':
          description: A 403 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
    post:
      tags:
        - IP Blocklist Monitoring
      summary: Register an IP address
      operationId: POST-v1-inboxready-ip-addresses
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/Inbox_Ready_github.com-mailgun-inboxready-api-CreateIPAddressReq
            examples:
              Example:
                value:
                  UpdateIPAddressReq: {}
        required: true
      responses:
        '201':
          description: A 201 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-inboxready-clients-medic-IPAddress
              examples:
                Example:
                  value:
                    - ip: 127.0.0.1
                      ippool: swimming
                      description: this is a description
                      state: listed
                      listed:
                        - list: b.barracudacentral.org
                          delistrequestedat: '0001-01-01T00:00:00Z'
                          firstseen: '2021-06-14T13:46:52Z'
                          lastseen: '2022-06-14T13:46:52Z'
                          comments:
                            - >-
                              http://www.barracudanetworks.com/reputation/?pr=1&ip=127.0.0.1
                          name: ''
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericResponse
        '403':
          description: A 403 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericResponse
        '409':
          description: A 409 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
  /v1/inboxready/ip_addresses/{ip}:
    get:
      tags:
        - IP Blocklist Monitoring
      summary: Get the IP address
      operationId: GET-v1-inboxready-ip-addresses--ip-
      parameters:
        - name: ip
          in: path
          description: IP address
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-inboxready-clients-medic-IPAddress
              examples:
                Example:
                  value:
                    - ip: 127.0.0.1
                      ippool: swimming
                      description: this is a description
                      state: listed
                      listed:
                        - list: b.barracudacentral.org
                          delistrequestedat: '0001-01-01T00:00:00Z'
                          firstseen: '2021-06-14T13:46:52Z'
                          lastseen: '2022-06-14T13:46:52Z'
                          comments:
                            - >-
                              http://www.barracudanetworks.com/reputation/?pr=1&ip=127.0.0.1
                          name: ''
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericResponse
        '403':
          description: A 403 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericResponse
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
    put:
      tags:
        - IP Blocklist Monitoring
      summary: Update the IP address
      operationId: PUT-v1-inboxready-ip-addresses--ip-
      parameters:
        - name: ip
          in: path
          description: IP address
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/Inbox_Ready_github.com-mailgun-inboxready-api-UpdateIPAddressReq
        required: true
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-inboxready-clients-medic-IPAddress
              examples:
                Example:
                  value:
                    - ip: 127.0.0.1
                      ippool: swimming
                      description: this is a description
                      state: listed
                      listed:
                        - list: b.barracudacentral.org
                          delistrequestedat: '0001-01-01T00:00:00Z'
                          firstseen: '2021-06-14T13:46:52Z'
                          lastseen: '2022-06-14T13:46:52Z'
                          comments:
                            - >-
                              http://www.barracudanetworks.com/reputation/?pr=1&ip=127.0.0.1
                          name: ''
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericResponse
        '403':
          description: A 403 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericResponse
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
    delete:
      tags:
        - IP Blocklist Monitoring
      summary: Removes IP from monitoring
      operationId: DELETE-v1-inboxready-ip-addresses--ip-
      parameters:
        - name: ip
          in: path
          description: IP address
          required: true
          schema:
            type: string
      responses:
        '204':
          description: A 204 response
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: description of the error
        '403':
          description: A 403 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: IP Blocklist monitoring not enabled
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: ip address not found
      security:
        - basicAuth: []
  /v1/monitoring/domains:
    get:
      tags:
        - Domain Blocklist Monitoring
      summary: Get Monitored Domains
      description: Gets all domains that are being monitored for blocklisting
      operationId: GET-v1-monitoring-domains
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Domain_Blocklist_Monitoring_github.com-mailgun-dbl_monitor-api-DomainsResponse
              examples:
                Example:
                  value:
                    domains:
                      - domain: yourdomain.com
                        updated_at: '2023-09-06T18:45:51Z'
                        state: heathly
                      - domain: yourotherdomain.com
                        updated_at: '2023-09-06T18:45:51Z'
                        state: listed
                        listed:
                          - list: dbl.spamhaus.org
                            name: Spamhaus DBL
                            first_seen: '2023-01-02T02:14:27Z'
                            last_seen: '2023-09-06T18:45:51Z'
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Domain_Blocklist_Monitoring_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: reason for bad request
      security:
        - basicAuth: []
  /v1/monitoring/domains/events:
    get:
      tags:
        - Domain Blocklist Monitoring
      summary: Get All Events
      description: Get all events for all domains monitored
      operationId: GET-v1-monitoring-domains-events
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Domain_Blocklist_Monitoring_github.com-mailgun-dbl_monitor-api-EventsResponse
              examples:
                Example:
                  value:
                    events:
                      - timestamp: '0001-01-01T00:00:00Z'
                        event: listed
                        domain: yourotherdomain.com
                        list: Spamhaus DBL
                        name: Spamhaus DBL
                      - timestamp: '0001-01-01T00:00:00Z'
                        event: delisted
                        domain: yourdomain.com
                        list: Spamhaus DBL
                        name: Spamhaus DBL
                      - timestamp: '0001-01-01T00:00:00Z'
                        event: listed
                        domain: yourdomain.com
                        list: Spamhaus DBL
                        name: Spamhaus DBL
                    paging: {}
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Domain_Blocklist_Monitoring_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: reason for bad request
      security:
        - basicAuth: []
  /v1/monitoring/domains/{domain}/blocklists:
    get:
      tags:
        - Domain Blocklist Monitoring
      summary: Get Lists Domain is Listed in
      description: Get blocklists that the domain is listed in
      operationId: GET-v1-monitoring-domains--domain--blocklists
      parameters:
        - name: domain
          in: path
          description: The domain name
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Domain_Blocklist_Monitoring_github.com-mailgun-dbl_monitor-api-BlocklistResponse
              examples:
                Example:
                  value:
                    blocklists:
                      - list: Spamhaus DBL
                        name: Spamhaus DBL
                        first_seen: '2023-01-02T02:14:27Z'
                        last_seen: '2023-09-06T18:45:51Z'
                        comments:
                          - ''
                      - list: SURBL
                        name: SURBL
                        first_seen: '2023-01-02T02:14:27Z'
                        last_seen: '2023-09-06T18:45:51Z'
                        comments:
                          - ''
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Domain_Blocklist_Monitoring_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: reason for bad request
      security:
        - basicAuth: []
  /v1/monitoring/domains/{domain}/events:
    get:
      tags:
        - Domain Blocklist Monitoring
      summary: Get Events for Domain
      description: Get events for a specific domain
      operationId: GET-v1-monitoring-domains--domain--events
      parameters:
        - name: domain
          in: path
          description: The domain name
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Domain_Blocklist_Monitoring_github.com-mailgun-dbl_monitor-api-EventsResponse
              examples:
                Example:
                  value:
                    events:
                      - timestamp: '0001-01-01T00:00:00Z'
                        event: delisted
                        domain: yourdomain.com
                        list: Spamhaus DBL
                        name: Spamhaus DBL
                      - timestamp: '0001-01-01T00:00:00Z'
                        event: listed
                        domain: yourdomain.com
                        list: Spamhaus DBL
                        name: Spamhaus DBL
                    paging: {}
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Domain_Blocklist_Monitoring_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: reason for bad request
      security:
        - basicAuth: []
  /v1/spamtraps/totals:
    get:
      summary: Get Spam Trap Hits Total
      operationId: GET-v1-spamtraps-totals
      parameters:
        - name: start
          in: query
          description: >-
            The start date in UTC (format YYYY-MM-DD) of the timeframe for which
            you wish to see data.
          required: true
          schema:
            type: string
        - name: end
          in: query
          description: >-
            The end date in UTC (format YYYY-MM-DD) of the timeframe for which
            you wish to see data.
          required: true
          schema:
            type: string
        - name: sortby
          in: query
          description: >-
            Acceptable values include date, totals, domain, subject, ip, and
            from. Defaults to date.
          schema:
            type: string
        - name: groupby
          in: query
          description: >-
            Use this field to group results. Acceptable values include domain,
            subject, ip, and from.
          schema:
            type: string
        - name: subject
          in: query
          description: Use this field to filter results by email subject.
          schema:
            type: string
        - name: domain
          in: query
          description: Use this field to filter results by domain(s).
          schema:
            type: string
        - name: ip
          in: query
          description: Use this field to filter results by ip(s).
          schema:
            type: string
        - name: from
          in: query
          description: Use this field to filter results by sender email address.
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Spamtraps_Analytics_Service_github.com-mailgun-spamtraps-api-GroupedTotalsResponse
              examples:
                Example:
                  value:
                    paging: {}
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Spamtraps_Analytics_Service_github.com-mailgun-scaffold-httpapi-GenericResponse
      tags:
        - openapi-spamtraps_other
      security:
        - basicAuth: []
  /v1/spamtraps/filters:
    get:
      summary: Get Spam Trap Filters
      description: >-
        Get a list of domain, ip, subject, From that hit spamtraps, like
        spamtraps totals but no counts
      operationId: GET-v1-spamtraps-filters
      parameters:
        - name: start
          in: query
          description: >-
            The start date in UTC (format YYYY-MM-DD) of the timeframe for which
            you wish to see data.
          required: true
          schema:
            type: string
        - name: end
          in: query
          description: >-
            The end date in UTC (format YYYY-MM-DD) of the timeframe for which
            you wish to see data.
          required: true
          schema:
            type: string
        - name: sortby
          in: query
          description: >-
            Acceptable values include date, totals, domain, subject, ip, and
            from. Defaults to date.
          schema:
            type: string
        - name: groupby
          in: query
          description: >-
            Use this field to group results. Acceptable values include domain,
            subject, ip, and from.
          schema:
            type: string
        - name: subject
          in: query
          description: Use this field to filter results by email subject.
          schema:
            type: string
        - name: domain
          in: query
          description: Use this field to filter results by domain(s).
          schema:
            type: string
        - name: ip
          in: query
          description: Use this field to filter results by ip(s).
          schema:
            type: string
        - name: from
          in: query
          description: Use this field to filter results by sender email address.
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Spamtraps_Analytics_Service_github.com-mailgun-spamtraps-api-FiltersResponse
              examples:
                Example:
                  value:
                    items:
                      - example.com
                      - domain.com
                    paging: {}
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Spamtraps_Analytics_Service_github.com-mailgun-scaffold-httpapi-GenericResponse
      tags:
        - openapi-spamtraps_other
      security:
        - basicAuth: []
  /v1/spamtraps:
    get:
      tags:
        - Spam Traps Monitoring
      summary: Get Spam Trap Hits
      description: >-
        Use this endpoint to understand how much of your mail being sent to
        known spam traps. This endpoint returns daily spam trap hit counts for a
        provided timerange, categorized by trap type.
      operationId: GET-v1-spamtraps
      parameters:
        - name: start
          in: query
          description: >-
            The start date in UTC (format YYYY-MM-DD) of the timeframe for which
            you wish to see data.
          required: true
          schema:
            type: string
        - name: end
          in: query
          description: >-
            The end date in UTC (format YYYY-MM-DD) of the timeframe for which
            you wish to see data.
          required: true
          schema:
            type: string
        - name: sortby
          in: query
          description: >-
            Acceptable values include date, totals, domain, subject, ip, and
            from. Defaults to date.
          schema:
            type: string
        - name: groupby
          in: query
          description: >-
            Use this field to group results. Acceptable values include domain,
            subject, ip, and from.
          schema:
            type: string
        - name: subject
          in: query
          description: Use this field to filter results by email subject.
          schema:
            type: string
        - name: domain
          in: query
          description: Use this field to filter results by domain(s).
          schema:
            type: string
        - name: ip
          in: query
          description: Use this field to filter results by ip(s).
          schema:
            type: string
        - name: from
          in: query
          description: Use this field to filter results by sender email address.
          schema:
            type: string
        - name: limit
          in: query
          description: Limits the number of items returned in a request
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Spamtraps_Analytics_Service_github.com-mailgun-spamtraps-api-DatedTotalsResponse
              examples:
                Example:
                  value:
                    items:
                      - date: '2022-01-01'
                        pristine: 34
                        recycled: 258
                        typo: 178
                        total: 470
                      - date: '2022-01-02'
                        pristine: 32
                        recycled: 75
                        typo: 150
                        total: 257
                    paging: {}
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Spamtraps_Analytics_Service_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: reason for bad request
      security:
        - basicAuth: []
  /v4/inbox/seedlists:
    get:
      tags:
        - Inbox Placement
      summary: List Seed Lists
      operationId: GET-v4-inbox-seedlists
      parameters:
        - name: time_after
          in: query
          schema:
            type: string
        - name: time_before
          in: query
          schema:
            type: string
        - name: name
          in: query
          schema:
            type: string
        - name: cursor
          in: query
          schema:
            type: string
        - name: sort
          in: query
          schema:
            type: string
        - name: offset
          in: query
          schema:
            type: integer
        - name: ascending
          in: query
          schema:
            type: boolean
        - name: limit
          in: query
          schema:
            type: integer
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-Response
              examples:
                Example:
                  value:
                    items:
                      - kid: ''
                        id: ''
                        accountid: ''
                        createdat: '0001-01-01T00:00:00Z'
                        updatedat: '0001-01-01T00:00:00Z'
                        lastresult: '0001-01-01T00:00:00Z'
                        targetemail: ''
                        sendingdomains: []
                        touched: false
                        testprefix: ''
                        seedfilter: ''
                        providerfilter: []
                        mailinglist: ''
                        previousmailinglist: ''
                        createdts: 0
                        tags: {}
                        stats: {}
                        seedquality: 0
                        isautogenerated: false
                        version: 0
                        originseedsemails: []
                        regenneeded: false
                        regenat: '0001-01-01T00:00:00Z'
                    total: 1
      security:
        - basicAuth: []
    post:
      tags:
        - Inbox Placement
      summary: Generate a New Seed List
      operationId: POST-v4-inbox-seedlists
      parameters:
        - name: sending_domains
          in: query
          description: Deprecated.
          schema:
            type: string
        - name: name
          in: query
          schema:
            type: string
        - name: provider_filter
          in: query
          description: Array of provider domains. Omitting means all providers.
          schema:
            type: string
        - name: remote_id
          in: query
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-KeyBox
              examples:
                Example:
                  value:
                    created_at: '0001-01-01T00:00:00Z'
                    updated_at: '0001-01-01T00:00:00Z'
                    last_result_at: '0001-01-01T00:00:00Z'
                    regen_at: '0001-01-01T00:00:00Z'
      security:
        - basicAuth: []
  /v4/inbox/seedlists/a:
    get:
      tags:
        - Inbox Placement
      summary: List Available Attributes for Seed Lists
      operationId: GET-v4-inbox-seedlists-a
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-Response
              examples:
                Example: {}
      security:
        - basicAuth: []
  /v4/inbox/seedlists/a/{attribute}:
    get:
      tags:
        - Inbox Placement
      summary: Get List of Values for Seed List Attribute
      operationId: GET-v4-inbox-seedlists-a--attribute-
      parameters:
        - name: attribute
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-Response
              examples:
                Example: {}
      security:
        - basicAuth: []
  /v4/inbox/seedlists/_filters:
    get:
      tags:
        - Inbox Placement
      summary: Get List of Available Seed List Filters
      operationId: GET-v4-inbox-seedlists--filters
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-Response
              examples:
                Example: {}
      security:
        - basicAuth: []
  /v4/inbox/seedlists/{address}:
    get:
      tags:
        - Inbox Placement
      summary: Get Seed List
      operationId: GET-v4-inbox-seedlists--address-
      parameters:
        - name: address
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-Response
              examples:
                Example: {}
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-NotFoundError
      security:
        - basicAuth: []
    put:
      tags:
        - Inbox Placement
      summary: Update Seed List
      operationId: PUT-v4-inbox-seedlists--address-
      parameters:
        - name: address
          in: path
          required: true
          schema:
            type: string
        - name: name
          in: query
          schema:
            type: string
        - name: provider_filter
          in: query
          description: Array of provider domains. Omitting means no changes.
          schema:
            type: string
        - name: regen
          in: query
          description: Regenerate the mailing_list.
          schema:
            type: boolean
        - name: sending_domains
          in: query
          description: Deprecated.
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-KeyBox
              examples:
                Example:
                  value:
                    created_at: '0001-01-01T00:00:00Z'
                    updated_at: '0001-01-01T00:00:00Z'
                    last_result_at: '0001-01-01T00:00:00Z'
                    regen_at: '0001-01-01T00:00:00Z'
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-NotFoundError
      security:
        - basicAuth: []
    delete:
      tags:
        - Inbox Placement
      summary: Delete a Seed List
      operationId: DELETE-v4-inbox-seedlists--address-
      parameters:
        - name: address
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-NotFoundError
      security:
        - basicAuth: []
  /v4/inbox/results:
    get:
      tags:
        - Inbox Placement
      summary: List Results
      description: Get the details for all placement test results.
      operationId: GET-v4-inbox-results
      parameters:
        - name: sender
          in: query
          schema:
            type: string
        - name: subject
          in: query
          schema:
            type: string
        - name: provider
          in: query
          schema:
            type: string
        - name: target_email
          in: query
          schema:
            type: string
        - name: time_after
          in: query
          schema:
            type: string
        - name: time_before
          in: query
          schema:
            type: string
        - name: cursor
          in: query
          schema:
            type: string
        - name: sort
          in: query
          schema:
            type: string
        - name: offset
          in: query
          schema:
            type: integer
        - name: ascending
          in: query
          schema:
            type: boolean
        - name: limit
          in: query
          schema:
            type: integer
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-Response
              examples:
                Example:
                  value:
                    items:
                      - basictestresult:
                          rid: ''
                          id: ''
                          accountid: ''
                          keyboxid: ''
                          keyboxemail: ''
                          subject: ''
                          sender: ''
                          prefix: ''
                          createdat: '0001-01-01T00:00:00Z'
                          updatedat: '0001-01-01T00:00:00Z'
                          status: ''
                          createdts: 0
                          headers: {}
                          campaignid: ''
                          sharingenabled: false
                          sharingid: ''
                          sharingexpiry: '0001-01-01T00:00:00Z'
                        box:
                          kid: ''
                          id: ''
                          accountid: ''
                          createdat: '0001-01-01T00:00:00Z'
                          updatedat: '0001-01-01T00:00:00Z'
                          lastresult: '0001-01-01T00:00:00Z'
                          targetemail: ''
                          sendingdomains: []
                          touched: false
                          testprefix: ''
                          seedfilter: ''
                          providerfilter: []
                          mailinglist: ''
                          previousmailinglist: ''
                          createdts: 0
                          tags: {}
                          stats: {}
                          seedquality: 0
                          isautogenerated: false
                          version: 0
                          originseedsemails: []
                          regenneeded: false
                          regenat: '0001-01-01T00:00:00Z'
                        messages: []
                        spamassassin:
                          isspam: false
                          score: 0
                          required: 0
                          rules: []
                        stats: {}
                        microsoftspamstats: null
                        storagekey: ''
                        body: ''
                    total: 1
      security:
        - basicAuth: []
  /v4/inbox/results/a:
    get:
      tags:
        - Inbox Placement
      summary: List Available Attributes for Results
      description: The attributes that can have values listed (for autocomplete).
      operationId: GET-v4-inbox-results-a
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-Response
              examples:
                Example: {}
      security:
        - basicAuth: []
  /v4/inbox/results/a/{attribute}:
    get:
      tags:
        - Inbox Placement
      summary: Get List of Values for a Result Attribute
      description: For the given attribute list the known values (for autocomplete).
      operationId: GET-v4-inbox-results-a--attribute-
      parameters:
        - name: attribute
          in: path
          required: true
          schema:
            type: string
        - name: sender
          in: query
          schema:
            type: string
        - name: subject
          in: query
          schema:
            type: string
        - name: provider
          in: query
          schema:
            type: string
        - name: target_email
          in: query
          schema:
            type: string
        - name: time_after
          in: query
          schema:
            type: string
        - name: time_before
          in: query
          schema:
            type: string
        - name: cursor
          in: query
          schema:
            type: string
        - name: sort
          in: query
          schema:
            type: string
        - name: offset
          in: query
          schema:
            type: integer
        - name: ascending
          in: query
          schema:
            type: boolean
        - name: limit
          in: query
          schema:
            type: integer
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-Response
              examples:
                Example: {}
      security:
        - basicAuth: []
  /v4/inbox/results/_filters:
    get:
      tags:
        - Inbox Placement
      summary: List available filters for Results
      description: The filters that can be used when querying for results.
      operationId: GET-v4-inbox-results--filters
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-Response
              examples:
                Example: {}
      security:
        - basicAuth: []
  /v4/inbox/results/{result}:
    get:
      tags:
        - Inbox Placement
      summary: Get Result Details
      description: Get the details for a single result.
      operationId: GET-v4-inbox-results--result-
      parameters:
        - name: result
          in: path
          required: true
          schema:
            type: string
        - name: provider
          in: query
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-Response
              examples:
                Example: {}
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
    delete:
      tags:
        - Inbox Placement
      summary: Delete Result
      description: Delete the result and all associated information.
      operationId: DELETE-v4-inbox-results--result-
      parameters:
        - name: result
          in: path
          required: true
          schema:
            type: string
        - name: provider
          in: query
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-GenericResponse
        '500':
          description: A 500 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
  /v4/inbox/sharing/{result}:
    get:
      tags:
        - Inbox Placement
      summary: Get Result Sharing Status
      description: The sharing status of a result.
      operationId: GET-v4-inbox-sharing--result-
      parameters:
        - name: result
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-ResultSharingInfo
              examples:
                Example:
                  value:
                    expires_at: '0001-01-01T00:00:00Z'
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
    put:
      tags:
        - Inbox Placement
      summary: Update Result Sharing Status
      description: Change the sharing status of a result or create a new share URL
      operationId: PUT-v4-inbox-sharing--result-
      parameters:
        - name: result
          in: path
          required: true
          schema:
            type: string
        - name: enabled
          in: query
          required: true
          schema:
            type: boolean
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-ResultSharingInfo
              examples:
                Example:
                  value:
                    expires_at: '0001-01-01T00:00:00Z'
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
  /v4/inbox/sharing/public/{shareid}:
    get:
      tags:
        - Inbox Placement
      summary: Get Result by a Share ID
      description: Get a result by the share ID.
      operationId: GET-v4-inbox-sharing-public--shareid-
      parameters:
        - name: shareid
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-TestResult
              examples:
                Example:
                  value:
                    BasicTestResult:
                      created_at: '0001-01-01T00:00:00Z'
                      updated_at: '0001-01-01T00:00:00Z'
                      sharing_expires_at: '0001-01-01T00:00:00Z'
                    spamassassin: {}
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
  /v4/inbox/tests:
    post:
      tags:
        - Inbox Placement
      summary: Run Inbox Placement Test
      description: >-
        Create and run a new inbox placement test. 


        Either 'html' or 'template_name' field should be provided.


        'variables' are [Template
        variables](https://documentation.mailgun.com/docs/mailgun/user-manual/sending-messages/#templates),

        which could be used in html or template.

        You can use next recipient variables inside Template variables, 

        which will be filled for every seed automatically:

        %recipient.first_name%, %recipient.last_name%.
      operationId: POST-v4-inbox-tests
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-api-CreateTestReq
            examples:
              Example:
                value:
                  from: First Last <mail@example.com>
                  subject: Buy our elephants
                  html: >-
                    <html><body>Hello {{first_name}} {{last_name}}. Visit our
                    new shop at {{address}}. <b>Our elephants are the best.</b>
                    </body></html>
                  template_name: template1
                  variables:
                    address: 108, Robinson Ave, Richmond
                    first_name: '%recipient.first_name%'
                    last_name: '%recipient.last_name%'
                  seed_list: ibp-123@mailgun.com
                  provider_filter:
                    - gmail.com
                    - hotmail.com
        required: true
      responses:
        '202':
          description: A 202 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-api-SpyCreateTestResp
              examples:
                Example:
                  value:
                    result_id: uuid4
                    links:
                      results: https://api.mailgun.net/v4/inbox/results/uuid4
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-GenericResponse
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-GenericResponse
      security:
        - basicAuth: []
  /v4/inbox/providers:
    get:
      tags:
        - Inbox Placement
      summary: List Email Providers
      description: List all available email providers.
      operationId: GET-v4-inbox-providers
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-api-ListProvidersResp
              examples:
                Example:
                  value:
                    items:
                      - PublicProvider:
                          domain: example.com
                          display_name: Example
                          region: Global
                          created_at: '0001-01-01T00:00:00Z'
                          updated_at: '0001-01-01T00:00:00Z'
                        unsupported_authentications: {}
      security:
        - basicAuth: []
  /v1/maverick-score/total:
    get:
      tags:
        - Email Health Score
      summary: Get Email Health score and rates for account and subaccounts
      operationId: GET-v1-maverick-score-total
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Maverick_Score_github.com-mailgun-maverick-score-internal-api-GetScoreResp
              examples:
                Example:
                  value:
                    score: 37
                    rates:
                      bounce_rate: 9
                      complaint_rate: 19
                      trap_rate: 3
                      full_mailbox_rate: 3
                      bad_failure_rate: 29
                    counters:
                      delivered: 100500
        '403':
          description: A 403 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Maverick_Score_github.com-mailgun-scaffold-httpapi-GenericAPIError
              examples:
                Example:
                  value:
                    Reason: Subscribe to an Mailgun Optimize plan
        '422':
          description: A 422 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Maverick_Score_github.com-mailgun-scaffold-httpapi-GenericAPIError
              examples:
                Example:
                  value:
                    Reason: >-
                      a minimum of %d emails must have been sent and at least
                      one email delivered within the past %d days
      security:
        - basicAuth: []
  /v1/maverick-score/grouped:
    get:
      tags:
        - Email Health Score
      summary: >-
        List Email Health score and rates grouped by
        domains/ips/subaccounts/timestamps
      operationId: GET-v1-maverick-score-grouped
      parameters:
        - name: skip
          in: query
          description: Skips N items in a response.
          schema:
            type: integer
            default: 0
        - name: limit
          in: query
          description: Limits the number of items returned in a response.
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 10
        - name: group
          in: query
          description: The key to group score by.
          schema:
            type: string
            enum:
              - domain
              - ip
              - subaccount
              - timestamp
            default: domain
            x-enumDescriptions:
              domain: Group by domain
              ip: Group by IP
              subaccount: Group by subaccount
              timestamp: Group by timestamp in 'YYYY-MM-DD' format
        - name: term
          in: query
          description: >-
            Filter (exact match) by account_id/domain/ip, e.g.:
            'domain:example.com'
          schema:
            type: array
            items:
              type: string
        - name: query
          in: query
          description: 'Query filter (fuzzy), e.g.: ''domain:example.com'''
          schema:
            type: string
        - name: sort
          in: query
          description: >-
            Supports the following syntax 'sort=field:direction'. 'direction'
            must be one of asc, desc. Default 'direction' is asc.
          schema:
            type: string
            enum:
              - domain:asc
              - domain:desc
              - ip:asc
              - ip:desc
              - subaccount:asc
              - subaccount:desc
              - timestamp:asc
              - timestamp:desc
              - score:asc
              - score:desc
              - bounce_rate:asc
              - bounce_rate:desc
              - complaint_rate:asc
              - complaint_rate:desc
              - trap_rate:asc
              - trap_rate:desc
              - full_mailbox_rate:asc
              - full_mailbox_rate:desc
              - bad_failure_rate:asc
              - bad_failure_rate:desc
              - delivered:asc
              - delivered:desc
            x-enumDescriptions:
              domain:asc: domain:asc
              domain:desc: domain:desc
              ip:asc: ip:asc
              ip:desc: ip:desc
              subaccount:asc: subaccount:asc
              subaccount:desc: subaccount:desc
              timestamp:asc: timestamp:asc
              timestamp:desc: timestamp:desc
              score:asc: score:asc
              score:desc: score:desc
              bounce_rate:asc: bounce_rate:asc
              bounce_rate:desc: bounce_rate:desc
              complaint_rate:asc: complaint_rate:asc
              complaint_rate:desc: complaint_rate:desc
              trap_rate:asc: trap_rate:asc
              trap_rate:desc: trap_rate:desc
              full_mailbox_rate:asc: full_mailbox_rate:asc
              full_mailbox_rate:desc: full_mailbox_rate:desc
              bad_failure_rate:asc: bad_failure_rate:asc
              bad_failure_rate:desc: bad_failure_rate:desc
              delivered:asc: delivered:asc
              delivered:desc: delivered:desc
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Maverick_Score_github.com-mailgun-maverick-score-internal-api-ListScoreResp
              examples:
                Example:
                  value:
                    items:
                      - group_key: a.example.com
                        score: 37
                        rates:
                          bounce_rate: 9
                          complaint_rate: 19
                          trap_rate: 3
                          full_mailbox_rate: 3
                          bad_failure_rate: 29
                        counters:
                          delivered: 100500
                    total: 1
        '403':
          description: A 403 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Maverick_Score_github.com-mailgun-scaffold-httpapi-GenericAPIError
              examples:
                Example:
                  value:
                    Reason: Subscribe to an Mailgun Optimize plan
        '422':
          description: A 422 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Maverick_Score_github.com-mailgun-scaffold-httpapi-GenericAPIError
              examples:
                Example:
                  value:
                    Reason: >-
                      a minimum of %d emails must have been sent and at least
                      one email delivered within the past %d days
      security:
        - basicAuth: []
  /v1/dmarc/records/{domain}:
    get:
      tags:
        - DMARC Reports
      summary: Retrieves the DMARC DNS records to be used for configuration
      operationId: GET-v1-dmarc-records-domain-
      parameters:
        - $ref: '#/components/parameters/DMARC_Reports_domain'
      responses:
        '200':
          $ref: '#/components/responses/DMARC_Reports_records_200'
      security:
        - basicAuth: []
  /v1/dmarc/setup:
    get:
      tags:
        - DMARC Reports
      summary: Checks if DMARC has been setup for user
      operationId: GET-v1-dmarc-setup-
      responses:
        '200':
          $ref: '#/components/responses/DMARC_Reports_setupCheck_200'
      security:
        - basicAuth: []
  /v1/dmarc/referral:
    post:
      tags:
        - DMARC Reports
      summary: Gets referral link to redsift
      operationId: POST-v1-dmarc-referral-
      requestBody:
        $ref: '#/components/requestBodies/DMARC_Reports_refer_req'
      responses:
        '200':
          $ref: '#/components/responses/DMARC_Reports_referral_200'
      security:
        - basicAuth: []
  /v1/dmarc/domains:
    get:
      tags:
        - DMARC Reports
      summary: Retrieves the list of domains that have DMARC monitoring.
      operationId: GET-v1-dmarc-domains-
      parameters:
        - $ref: '#/components/parameters/DMARC_Reports_fromParam'
        - $ref: '#/components/parameters/DMARC_Reports_toParam'
      responses:
        '200':
          $ref: '#/components/responses/DMARC_Reports_domainList_200'
      security:
        - basicAuth: []
  /v1/dmarc/domains/{domain}:
    get:
      tags:
        - DMARC Reports
      summary: Retrieve DMARC reporting data for a domain.
      operationId: GET-v1-dmarc-domains-domain-
      parameters:
        - $ref: '#/components/parameters/DMARC_Reports_domain'
        - $ref: '#/components/parameters/DMARC_Reports_fromParam'
        - $ref: '#/components/parameters/DMARC_Reports_toParam'
      responses:
        '200':
          $ref: '#/components/responses/DMARC_Reports_domain_200'
        '404':
          description: Not found | Domain not managed by this account
      security:
        - basicAuth: []
  /v1/dmarc/domains/{domain}/s/{source}:
    get:
      tags:
        - DMARC Reports
      summary: Retrieve DMARC reporting data from a specific source.
      operationId: GET-v1-dmarc-domains-domain-s-source-
      parameters:
        - $ref: '#/components/parameters/DMARC_Reports_domain'
        - $ref: '#/components/parameters/DMARC_Reports_source'
        - $ref: '#/components/parameters/DMARC_Reports_fromParam'
        - $ref: '#/components/parameters/DMARC_Reports_toParam'
      responses:
        '200':
          $ref: '#/components/responses/DMARC_Reports_source_200'
        '404':
          description: Not found | Source related to domain not found
      security:
        - basicAuth: []
  /v1/dmarc/domains/{domain}/s/{source}/h/{host}:
    get:
      tags:
        - DMARC Reports
      summary: Retrieve DMARC reporting data for a hostname.
      operationId: GET-v1-dmarc-domains-domain-s-source-h-host-
      parameters:
        - $ref: '#/components/parameters/DMARC_Reports_domain'
        - $ref: '#/components/parameters/DMARC_Reports_source'
        - $ref: '#/components/parameters/DMARC_Reports_host'
        - $ref: '#/components/parameters/DMARC_Reports_fromParam'
        - $ref: '#/components/parameters/DMARC_Reports_toParam'
      responses:
        '200':
          $ref: '#/components/responses/DMARC_Reports_host_200'
        '404':
          description: Not found | Host related to source not found
      security:
        - basicAuth: []
  /v1/dmarc/domains/{domain}/s/{source}/h/{host}/ip/{ip}:
    get:
      tags:
        - DMARC Reports
      summary: Retrieve DMARC reporting data for an IP Address.
      operationId: GET-v1-dmarc-domains-domain-s-source-h-host-ip-ip-
      parameters:
        - $ref: '#/components/parameters/DMARC_Reports_domain'
        - $ref: '#/components/parameters/DMARC_Reports_source'
        - $ref: '#/components/parameters/DMARC_Reports_host'
        - $ref: '#/components/parameters/DMARC_Reports_ip'
        - $ref: '#/components/parameters/DMARC_Reports_fromParam'
        - $ref: '#/components/parameters/DMARC_Reports_toParam'
      responses:
        '200':
          $ref: '#/components/responses/DMARC_Reports_ip_200'
        '404':
          description: Not found | IP related to host not found
      security:
        - basicAuth: []
  /v1/reputationanalytics/gpt/domains/{domain}:
    get:
      tags:
        - Google Postmaster Tools
      summary: Get GPT Domain
      description: >-
        Returns domain records for a single domain on the account. Each domain
        record is for a single domain on a single day.
      operationId: GET-v1-reputationanalytics-gpt-domains--domain-
      parameters:
        - name: domain
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: query
          description: The record number to begin pagination with.
          required: true
          schema:
            type: integer
        - name: limit
          in: query
          description: The number of records to return.
          required: true
          schema:
            type: integer
        - name: timeRangeStart
          in: query
          description: Unix timestamp starting time filter.
          required: true
          schema:
            type: integer
        - name: timeRangeEnd
          in: query
          description: Unix timestamp ending time filter.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-api-DomainResponse
              examples:
                Example:
                  value:
                    domain: test.com
                    data:
                      - name: test.com
                        date: '0001-01-01T00:00:00Z'
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericAPIError
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-NotFoundError
        '500':
          description: A 500 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: Internal Server Error
      security:
        - basicAuth: []
  /v1/reputationanalytics/gpt/domains:
    get:
      tags:
        - Google Postmaster Tools
      summary: Get GPT Domains
      description: >-
        Returns a list of all domain records for an account. Each domain record
        is for a single domain on a single day.
      operationId: GET-v1-reputationanalytics-gpt-domains
      parameters:
        - name: offset
          in: query
          description: The record number to begin pagination with.
          required: true
          schema:
            type: integer
        - name: limit
          in: query
          description: The number of records to return.
          required: true
          schema:
            type: integer
        - name: timeRangeStart
          in: query
          description: Unix timestamp starting time filter.
          required: true
          schema:
            type: integer
        - name: timeRangeEnd
          in: query
          description: Unix timestamp ending time filter.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-api-DomainResponse
              examples:
                Example:
                  value:
                    domain: test.com
                    data:
                      - name: test.com
                        date: '0001-01-01T00:00:00Z'
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericAPIError
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-NotFoundError
        '500':
          description: A 500 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: Internal Server Error
      security:
        - basicAuth: []
  /v1/reputationanalytics/gpt/domains_list:
    get:
      tags:
        - Google Postmaster Tools
      summary: Get GPT Domains
      description: Returns a list of all domains for an account
      operationId: GET-v1-reputationanalytics-gpt-domains-list
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-api-AllDomainsResponse
              examples:
                Example:
                  value:
                    data:
                      - name: test.com
                        date: '2025-06-17'
                    total: 1
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericAPIError
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-NotFoundError
        '500':
          description: A 500 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: Internal Server Error
      security:
        - basicAuth: []
  /v1/reputationanalytics/gpt/domainsfbl:
    get:
      tags:
        - Google Postmaster Tools
      summary: Get GPT FBL
      description: Returns the FBL for the account or domain
      operationId: GET-v1-reputationanalytics-gpt-domainsfbl
      parameters:
        - name: offset
          in: query
          description: The record number to begin pagination with.
          required: true
          schema:
            type: integer
        - name: limit
          in: query
          description: The number of records to return.
          required: true
          schema:
            type: integer
        - name: timeRangeStart
          in: query
          description: Unix timestamp starting time filter.
          required: true
          schema:
            type: integer
        - name: timeRangeEnd
          in: query
          description: Unix timestamp ending time filter.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-api-DomainFBLResponse
              examples:
                Example:
                  value:
                    data:
                      - name: test.com
                        id: identifier
                        ratio: 0.001
                        date: '0001-01-01T00:00:00Z'
                    total: 1
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericAPIError
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-NotFoundError
        '500':
          description: A 500 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: Internal Server Error
      security:
        - basicAuth: []
  /v1/reputationanalytics/gpt/domainsfbl/{domain}:
    get:
      tags:
        - Google Postmaster Tools
      summary: Get GPT FBL
      description: Returns the FBL for the account or domain
      operationId: GET-v1-reputationanalytics-gpt-domainsfbl--domain-
      parameters:
        - name: domain
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: query
          description: The record number to begin pagination with.
          required: true
          schema:
            type: integer
        - name: limit
          in: query
          description: The number of records to return.
          required: true
          schema:
            type: integer
        - name: timeRangeStart
          in: query
          description: Unix timestamp starting time filter.
          required: true
          schema:
            type: integer
        - name: timeRangeEnd
          in: query
          description: Unix timestamp ending time filter.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-api-DomainFBLResponse
              examples:
                Example:
                  value:
                    data:
                      - name: test.com
                        id: identifier
                        ratio: 0.001
                        date: '0001-01-01T00:00:00Z'
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericAPIError
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-NotFoundError
        '500':
          description: A 500 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: Internal Server Error
      security:
        - basicAuth: []
  /v1/reputationanalytics/gpt/addresses/{address}:
    get:
      tags:
        - Google Postmaster Tools
      summary: Get GPT Address
      description: >-
        Returns address records for an single address on the account. Each
        address record is for a single address on a single day.
      operationId: GET-v1-reputationanalytics-gpt-addresses--address-
      parameters:
        - name: address
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: query
          description: The record number to begin pagination with.
          required: true
          schema:
            type: integer
        - name: limit
          in: query
          description: The number of records to return.
          required: true
          schema:
            type: integer
        - name: timeRangeStart
          in: query
          description: Unix timestamp starting time filter.
          required: true
          schema:
            type: integer
        - name: timeRangeEnd
          in: query
          description: Unix timestamp ending time filter.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-api-AddressResponse
              examples:
                Example:
                  value:
                    address: 0.0.0.0
                    data:
                      - address: 0.0.0.0
                        domain_name: test.com
                        reputation: BAD
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericAPIError
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-NotFoundError
        '500':
          description: A 500 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: Internal Server Error
      security:
        - basicAuth: []
  /v1/reputationanalytics/gpt/addresses:
    get:
      tags:
        - Google Postmaster Tools
      summary: Get GPT Addresses
      description: >-
        Returns a list of all address records for an account. Each address
        record is for a single address on a single day.
      operationId: GET-v1-reputationanalytics-gpt-addresses
      parameters:
        - name: offset
          in: query
          description: The record number to begin pagination with.
          required: true
          schema:
            type: integer
        - name: limit
          in: query
          description: The number of records to return.
          required: true
          schema:
            type: integer
        - name: timeRangeStart
          in: query
          description: Unix timestamp starting time filter.
          required: true
          schema:
            type: integer
        - name: timeRangeEnd
          in: query
          description: Unix timestamp ending time filter.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-api-AddressResponse
              examples:
                Example:
                  value:
                    address: 0.0.0.0
                    data:
                      - address: 0.0.0.0
                        domain_name: test.com
                        reputation: BAD
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericAPIError
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-NotFoundError
        '500':
          description: A 500 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: Internal Server Error
      security:
        - basicAuth: []
  /v1/reputationanalytics/gpt/addresses_list:
    get:
      tags:
        - Google Postmaster Tools
      summary: Get all GPT Addresses
      description: Returns a list of all addresses for an account
      operationId: GET-v1-reputationanalytics-gpt-addresses-list
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-api-AllAddressesResponse
              examples:
                Example:
                  value:
                    data:
                      - address: 11.11.11.11
                        date: '2025-06-17'
                    total: 1
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericAPIError
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-NotFoundError
        '500':
          description: A 500 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: Internal Server Error
      security:
        - basicAuth: []
  /v1/reputationanalytics/gpt/domains/{domain}/addresses:
    get:
      tags:
        - Google Postmaster Tools
      summary: Get GPT Domain Addresses
      description: >-
        Returns a list of all address records for an account belonging to a
        specific domain. Each address record is for a single address on a single
        day.
      operationId: GET-v1-reputationanalytics-gpt-domains--domain--addresses
      parameters:
        - name: domain
          in: path
          required: true
          schema:
            type: string
        - name: offset
          in: query
          description: The record number to begin pagination with.
          required: true
          schema:
            type: integer
        - name: limit
          in: query
          description: The number of records to return.
          required: true
          schema:
            type: integer
        - name: timeRangeStart
          in: query
          description: Unix timestamp starting time filter.
          required: true
          schema:
            type: integer
        - name: timeRangeEnd
          in: query
          description: Unix timestamp ending time filter.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-api-DomainAddressResponse
              examples:
                Example:
                  value:
                    domain: test.com
                    data:
                      - address: 0.0.0.0
                        domain_name: test.com
                        reputation: BAD
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericAPIError
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-NotFoundError
        '500':
          description: A 500 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: Internal Server Error
      security:
        - basicAuth: []
  /v1/reputationanalytics/gpt/summary:
    get:
      tags:
        - Google Postmaster Tools
      summary: Get GPT Summary
      description: >-
        Returns a list of all summary records for an account. Each record is for
        a single domain's summary and error summary data.
      operationId: GET-v1-reputationanalytics-gpt-summary
      parameters:
        - name: offset
          in: query
          description: The record number to begin pagination with.
          required: true
          schema:
            type: integer
        - name: limit
          in: query
          description: The number of records to return.
          required: true
          schema:
            type: integer
        - name: timeRangeStart
          in: query
          description: Unix timestamp starting time filter.
          required: true
          schema:
            type: integer
        - name: timeRangeEnd
          in: query
          description: Unix timestamp ending time filter.
          required: true
          schema:
            type: integer
        - name: sortBy
          in: query
          description: Field name to sort by.
          required: true
          schema:
            type: string
        - name: orderBy
          in: query
          description: '''Asc'' or ''desc'' sorting.'
          required: true
          schema:
            type: string
        - name: searchField
          in: query
          description: 'Value of the domain to search, example: mailgun.com'
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-api-SummaryResponse
              examples:
                Example:
                  value:
                    summary:
                      - name: test.com
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericAPIError
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-NotFoundError
        '500':
          description: A 500 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: Internal Server Error
      security:
        - basicAuth: []
  /v1/reputationanalytics/gpt/summary/domains:
    get:
      tags:
        - Google Postmaster Tools
      summary: Get GPT Domains Summary
      description: >-
        Returns a list of all domain summary records for an account. Each record
        is for a single domain's summary data.
      operationId: GET-v1-reputationanalytics-gpt-summary-domains
      parameters:
        - name: offset
          in: query
          description: The record number to begin pagination with.
          required: true
          schema:
            type: integer
        - name: limit
          in: query
          description: The number of records to return.
          required: true
          schema:
            type: integer
        - name: timeRangeStart
          in: query
          description: Unix timestamp starting time filter.
          required: true
          schema:
            type: integer
        - name: timeRangeEnd
          in: query
          description: Unix timestamp ending time filter.
          required: true
          schema:
            type: integer
        - name: sortBy
          in: query
          description: Field name to sort by.
          required: true
          schema:
            type: string
        - name: orderBy
          in: query
          description: '''Asc'' or ''desc'' sorting.'
          required: true
          schema:
            type: string
        - name: searchField
          in: query
          description: 'Value of the domain to search, example: mailgun.com'
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-api-DomainSummaryResponse
              examples:
                Example:
                  value:
                    summary:
                      - name: test.com
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericAPIError
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-NotFoundError
        '500':
          description: A 500 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: Internal Server Error
      security:
        - basicAuth: []
  /v1/reputationanalytics/gpt/summary/errors:
    get:
      tags:
        - Google Postmaster Tools
      summary: Get GPT Domains Error Summary
      description: >-
        Returns a list of all domain error summary records for an account. Each
        record is for a single domain's error summary data.
      operationId: GET-v1-reputationanalytics-gpt-summary-errors
      parameters:
        - name: offset
          in: query
          description: The record number to begin pagination with.
          required: true
          schema:
            type: integer
        - name: limit
          in: query
          description: The number of records to return.
          required: true
          schema:
            type: integer
        - name: timeRangeStart
          in: query
          description: Unix timestamp starting time filter.
          required: true
          schema:
            type: integer
        - name: timeRangeEnd
          in: query
          description: Unix timestamp ending time filter.
          required: true
          schema:
            type: integer
        - name: sortBy
          in: query
          description: Field name to sort by.
          required: true
          schema:
            type: string
        - name: orderBy
          in: query
          description: '''Asc'' or ''desc'' sorting.'
          required: true
          schema:
            type: string
        - name: searchField
          in: query
          description: 'Value of the domain to search, example: mailgun.com'
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-api-DomainErrorSummaryResponse
              examples:
                Example:
                  value:
                    summary:
                      - name: test.com
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericAPIError
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-NotFoundError
        '500':
          description: A 500 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: Internal Server Error
      security:
        - basicAuth: []
  /v1/reputationanalytics/gpt/summary/addresses:
    get:
      tags:
        - Google Postmaster Tools
      summary: Get GPT Addresses Summary
      description: >-
        Returns a list of all address summary records for an account. Each
        record is for a single address's summary data.
      operationId: GET-v1-reputationanalytics-gpt-summary-addresses
      parameters:
        - name: offset
          in: query
          description: The record number to begin pagination with.
          required: true
          schema:
            type: integer
        - name: limit
          in: query
          description: The number of records to return.
          required: true
          schema:
            type: integer
        - name: timeRangeStart
          in: query
          description: Unix timestamp starting time filter.
          required: true
          schema:
            type: integer
        - name: timeRangeEnd
          in: query
          description: Unix timestamp ending time filter.
          required: true
          schema:
            type: integer
        - name: sortBy
          in: query
          description: Field name to sort by.
          required: true
          schema:
            type: string
        - name: orderBy
          in: query
          description: '''Asc'' or ''desc'' sorting.'
          required: true
          schema:
            type: string
        - name: searchField
          in: query
          description: 'Value of the address to search, example: 127.0.0.1'
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-api-AddressSummaryResponse
              examples:
                Example:
                  value:
                    summary:
                      - domain_name: test.com
                        address: 0.0.0.0
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericAPIError
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-NotFoundError
        '500':
          description: A 500 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: Internal Server Error
      security:
        - basicAuth: []
  /v1/reputationanalytics/snds:
    get:
      tags:
        - Microsoft SNDS
      summary: Get SNDS Address Info
      description: >-
        Returns a list of all address summary records for an account. Each
        record is for a single address's summary data.
      operationId: GET-v1-reputationanalytics-snds
      parameters:
        - name: skip
          in: query
          description: The record number to begin pagination with.
          required: true
          schema:
            type: integer
        - name: sortBy
          in: query
          description: Field name to sort by.
          required: true
          schema:
            type: string
        - name: orderBy
          in: query
          description: '''asc'' or ''desc'' sorting.'
          required: true
          schema:
            type: string
        - name: search
          in: query
          description: Value of the address to search
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-api-AddressSummaryResponse
              examples:
                Example:
                  value:
                    summary:
                      - domain_name: test.com
                        address: 0.0.0.0
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericAPIError
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-NotFoundError
        '500':
          description: A 500 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: Internal Server Error
      security:
        - basicAuth: []
  /v1/reputationanalytics/snds/{ip}:
    get:
      tags:
        - Microsoft SNDS
      summary: Get SNDS Address Info
      description: >-
        Returns a list of all address summary records for an account and a
        single address
      operationId: GET-v1-reputationanalytics-snds--ip-
      parameters:
        - name: ip
          in: path
          required: true
          schema:
            type: string
        - name: skip
          in: query
          description: The record number to begin pagination with.
          required: true
          schema:
            type: integer
        - name: sortBy
          in: query
          description: Field name to sort by.
          required: true
          schema:
            type: string
        - name: orderBy
          in: query
          description: '''asc'' or ''desc'' sorting.'
          required: true
          schema:
            type: string
        - name: search
          in: query
          description: Value of the address to search
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A 200 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-api-AddressSummaryResponse
              examples:
                Example:
                  value:
                    summary:
                      - domain_name: test.com
                        address: 0.0.0.0
        '400':
          description: A 400 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericAPIError
        '404':
          description: A 404 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-NotFoundError
        '500':
          description: A 500 response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericResponse
              examples:
                Example:
                  value:
                    message: Internal Server Error
      security:
        - basicAuth: []
components:
  schemas:
    github.com-mailgun-alerts-internal-api-ListAlertsEventsResp:
      type: object
      properties:
        events:
          type: array
          items:
            type: string
      required:
        - events
    github.com-mailgun-scaffold-httpapi-GenericResponse:
      type: object
      properties:
        message:
          type: string
          description: Response message
      required:
        - message
    github.com-mailgun-alerts-channels-Channel:
      type: string
      enum:
        - email
        - webhook
        - slack
      description: Alert channel type.
      x-enumDescriptions:
        email: email
        webhook: webhook
        slack: Slack
    github.com-mailgun-alerts-internal-settings-ChannelSettings:
      type: object
      properties:
        url:
          type: string
          description: For webhook channel.
        emails:
          type: array
          items:
            type: string
          description: For email channel
        channel_ids:
          type: array
          items:
            type: string
          description: For slack channel
    github.com-mailgun-alerts-internal-settings-EventSettings:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier for the alert settings record.
        event_type:
          type: string
          description: >-
            The event type that is alerted on. Check GET /v1/alerts/events for
            possible values.
        channel:
          type: object
          allOf:
            - $ref: '#/components/schemas/github.com-mailgun-alerts-channels-Channel'
          description: The delivery channel for the alert.
        settings:
          type: object
          allOf:
            - $ref: >-
                #/components/schemas/github.com-mailgun-alerts-internal-settings-ChannelSettings
          description: This object contains channel-specific settings.
        disabled_at:
          type:
            - string
            - 'null'
          format: date-time
          description: Read only. When present
      required:
        - event_type
        - channel
        - settings
    github.com-mailgun-alerts-internal-api-mutateEventSettingReq:
      type: object
      properties:
        event_type:
          type: string
          description: The type of event for which you would like to receive alerts.
        channel:
          type: object
          allOf:
            - $ref: '#/components/schemas/github.com-mailgun-alerts-channels-Channel'
          description: The delivery method for the alert.
        settings:
          type: object
          allOf:
            - $ref: >-
                #/components/schemas/github.com-mailgun-alerts-internal-settings-ChannelSettings
          description: >-
            The details pertaining to the specified channel. Please note that
            the contents of this object differ per channel type.
      required:
        - event_type
        - channel
        - settings
    github.com-mailgun-alerts-internal-settings-Webhooks:
      type: object
      properties:
        signing_key:
          type: string
      required:
        - signing_key
    github.com-mailgun-alerts-internal-settings-Slack:
      type: object
      properties:
        token:
          type: string
        team_id:
          type:
            - string
            - 'null'
        team_name:
          type:
            - string
            - 'null'
        scope:
          type:
            - string
            - 'null'
      required:
        - token
        - team_id
        - team_name
        - scope
    github.com-mailgun-alerts-internal-api-SettingsResponse:
      type: object
      properties:
        events:
          type: array
          items:
            $ref: >-
              #/components/schemas/github.com-mailgun-alerts-internal-settings-EventSettings
        webhooks:
          $ref: >-
            #/components/schemas/github.com-mailgun-alerts-internal-settings-Webhooks
        slack:
          $ref: >-
            #/components/schemas/github.com-mailgun-alerts-internal-settings-Slack
      required:
        - events
        - webhooks
        - slack
    github.com-mailgun-alerts-internal-api-ResetWebhooksSigningKeyResp:
      type: object
      properties:
        signing_key:
          type: string
      required:
        - signing_key
    github.com-mailgun-alerts-internal-api-TestWebhookRequest:
      type: object
      properties:
        event_type:
          type: string
        url:
          type: string
      required:
        - event_type
        - url
    github.com-mailgun-alerts-internal-api-TestEmailRequest:
      type: object
      properties:
        event_type:
          type: string
        emails:
          type: array
          items:
            type: string
      required:
        - event_type
        - emails
    github.com-mailgun-alerts-internal-api-TestSlackRequest:
      type: object
      properties:
        event_type:
          type: string
        channel_ids:
          type: array
          items:
            type: string
          description: If omitted would be taken from the event settings
      required:
        - event_type
    github.com-mailgun-alerts-internal-api-SlackChannel:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        is_archived:
          type: boolean
      required:
        - id
        - name
        - is_archived
    github.com-mailgun-alerts-internal-api-ListSlackChannelsResp:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/github.com-mailgun-alerts-internal-api-SlackChannel
      required:
        - items
    Inbox_Ready_github.com-mailgun-inboxready-model-Verified:
      type: object
      properties:
        verified_at:
          type: integer
          format: int64
        status:
          type: string
      required:
        - verified_at
        - status
    Inbox_Ready_github.com-mailgun-inboxready-model-Domain:
      type: object
      properties:
        created_at:
          type: integer
          format: int64
        name:
          type: string
        verified:
          $ref: >-
            #/components/schemas/Inbox_Ready_github.com-mailgun-inboxready-model-Verified
        services:
          type: object
          additionalProperties:
            type: boolean
        txt_record:
          type: string
      required:
        - created_at
        - name
        - verified
        - services
        - txt_record
    Inbox_Ready_github.com-mailgun-scaffold-httpapi-paging-PagingResponse:
      type: object
      properties:
        previous:
          type: string
          description: Previous page URL
        first:
          type: string
          description: First page URL
        next:
          type: string
          description: Next page URL
        last:
          type: string
          description: Last page URL
      required:
        - previous
        - first
        - next
        - last
    Inbox_Ready_github.com-mailgun-inboxready-api-DomainListResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/Inbox_Ready_github.com-mailgun-inboxready-model-Domain
        paging:
          $ref: >-
            #/components/schemas/Inbox_Ready_github.com-mailgun-scaffold-httpapi-paging-PagingResponse
      required:
        - items
    Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericAPIError:
      type: object
      properties:
        Reason:
          type: string
      required:
        - Reason
    Inbox_Ready_github.com-mailgun-inboxready-api-AddDomainResponse:
      type: object
      properties:
        message:
          type: string
        domain:
          $ref: >-
            #/components/schemas/Inbox_Ready_github.com-mailgun-inboxready-model-Domain
      required:
        - message
        - domain
    Inbox_Ready_github.com-mailgun-inboxready-api-DeleteDomainResponse:
      type: object
      properties:
        message:
          type: string
      required:
        - message
    Inbox_Ready_github.com-mailgun-inboxready-api-InboxReadyVerifyDomainResponse:
      type: object
      properties:
        message:
          type: string
      required:
        - message
    Inbox_Ready_github.com-mailgun-inboxready-clients-medic-Blacklist:
      type: object
      properties:
        list:
          type: string
        delist_requested_at:
          type: string
          format: date-time
        first_seen:
          type: string
          format: date-time
        last_seen:
          type: string
          format: date-time
        comments:
          type: array
          items:
            type: string
        name:
          type: string
      required:
        - list
        - delist_requested_at
        - last_seen
        - comments
    Inbox_Ready_github.com-mailgun-inboxready-clients-medic-IPAddress:
      type: object
      properties:
        ip:
          type: string
        ip_pool:
          type: string
        description:
          type: string
        state:
          type: string
        listed:
          type: array
          items:
            $ref: >-
              #/components/schemas/Inbox_Ready_github.com-mailgun-inboxready-clients-medic-Blacklist
      required:
        - ip
        - ip_pool
        - description
        - state
        - listed
    Inbox_Ready_github.com-mailgun-inboxready-api-ListIPAddressesResp:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/Inbox_Ready_github.com-mailgun-inboxready-clients-medic-IPAddress
      required:
        - items
    Inbox_Ready_github.com-mailgun-scaffold-httpapi-GenericResponse:
      type: object
      properties:
        message:
          type: string
          description: Response message
      required:
        - message
    Inbox_Ready_github.com-mailgun-inboxready-api-CreateIPAddressReq:
      type: object
      properties:
        ip:
          type: string
        ip_pool:
          type: string
        description:
          type: string
      required:
        - ip
        - ip_pool
        - description
    Inbox_Ready_github.com-mailgun-inboxready-api-UpdateIPAddressReq:
      type: object
      properties:
        ip_pool:
          type: string
        description:
          type: string
      required:
        - ip_pool
        - description
    Domain_Blocklist_Monitoring_github.com-mailgun-dbl_monitor-model-Blocklist:
      type: object
      properties:
        list:
          type: string
        name:
          type: string
        first_seen:
          type: string
          format: date-time
        last_seen:
          type: string
          format: date-time
        comments:
          type: array
          items:
            type: string
      required:
        - list
        - comments
    Domain_Blocklist_Monitoring_github.com-mailgun-dbl_monitor-model-HealthRecord:
      type: object
      properties:
        domain:
          type: string
        updated_at:
          type: string
          format: date-time
        state:
          type: string
        listed:
          type: array
          items:
            $ref: >-
              #/components/schemas/Domain_Blocklist_Monitoring_github.com-mailgun-dbl_monitor-model-Blocklist
      required:
        - domain
        - updated_at
        - state
        - listed
    Domain_Blocklist_Monitoring_github.com-mailgun-dbl_monitor-api-DomainsResponse:
      type: object
      properties:
        domains:
          type: array
          items:
            $ref: >-
              #/components/schemas/Domain_Blocklist_Monitoring_github.com-mailgun-dbl_monitor-model-HealthRecord
      required:
        - domains
    Domain_Blocklist_Monitoring_github.com-mailgun-scaffold-httpapi-GenericResponse:
      type: object
      properties:
        message:
          type: string
          description: Response message
      required:
        - message
    Domain_Blocklist_Monitoring_github.com-mailgun-dbl_monitor-model-HistoryRecord:
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
        event:
          type: string
        domain:
          type: string
        list:
          type: string
        name:
          type: string
      required:
        - timestamp
        - event
        - domain
        - list
    Domain_Blocklist_Monitoring_github.com-mailgun-dbl_monitor-api-PagingResponse:
      type: object
      properties:
        previous:
          type: string
        first:
          type: string
        next:
          type: string
        last:
          type: string
      required:
        - previous
        - first
        - next
        - last
    Domain_Blocklist_Monitoring_github.com-mailgun-dbl_monitor-api-EventsResponse:
      type: object
      properties:
        events:
          type: array
          items:
            $ref: >-
              #/components/schemas/Domain_Blocklist_Monitoring_github.com-mailgun-dbl_monitor-model-HistoryRecord
        paging:
          $ref: >-
            #/components/schemas/Domain_Blocklist_Monitoring_github.com-mailgun-dbl_monitor-api-PagingResponse
      required:
        - events
        - paging
    Domain_Blocklist_Monitoring_github.com-mailgun-dbl_monitor-api-BlocklistResponse:
      type: object
      properties:
        blocklists:
          type: array
          items:
            $ref: >-
              #/components/schemas/Domain_Blocklist_Monitoring_github.com-mailgun-dbl_monitor-model-Blocklist
      required:
        - blocklists
    Spamtraps_Analytics_Service_github.com-mailgun-spamtraps-model-GroupedTotals:
      type: object
      properties:
        subject:
          type: string
        domain:
          type: string
        ip:
          type: string
        from:
          type: string
        pristine:
          type: integer
          format: int32
        recycled:
          type: integer
          format: int32
        typo:
          type: integer
          format: int32
        harvested:
          type: integer
          format: int32
        total:
          type: integer
          format: int32
      required:
        - pristine
        - recycled
        - typo
        - harvested
        - total
    Spamtraps_Analytics_Service_github.com-mailgun-spamtraps-api-PagingResponse:
      type: object
      properties:
        first:
          type: string
        previous:
          type: string
        next:
          type: string
      required:
        - first
        - previous
        - next
    Spamtraps_Analytics_Service_github.com-mailgun-spamtraps-api-GroupedTotalsResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/Spamtraps_Analytics_Service_github.com-mailgun-spamtraps-model-GroupedTotals
        paging:
          $ref: >-
            #/components/schemas/Spamtraps_Analytics_Service_github.com-mailgun-spamtraps-api-PagingResponse
      required:
        - items
        - paging
    Spamtraps_Analytics_Service_github.com-mailgun-scaffold-httpapi-GenericResponse:
      type: object
      properties:
        message:
          type: string
      required:
        - message
    Spamtraps_Analytics_Service_github.com-mailgun-spamtraps-api-FiltersResponse:
      type: object
      properties:
        items:
          type: array
          items:
            type: string
        paging:
          $ref: >-
            #/components/schemas/Spamtraps_Analytics_Service_github.com-mailgun-spamtraps-api-PagingResponse
      required:
        - items
        - paging
    Spamtraps_Analytics_Service_github.com-mailgun-spamtraps-model-DatedTotals:
      type: object
      properties:
        date:
          type: string
        pristine:
          type: integer
          format: int32
        recycled:
          type: integer
          format: int32
        typo:
          type: integer
          format: int32
        harvested:
          type: integer
          format: int32
        total:
          type: integer
          format: int32
      required:
        - date
        - pristine
        - recycled
        - typo
        - harvested
        - total
    Spamtraps_Analytics_Service_github.com-mailgun-spamtraps-api-DatedTotalsResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/Spamtraps_Analytics_Service_github.com-mailgun-spamtraps-model-DatedTotals
        paging:
          $ref: >-
            #/components/schemas/Spamtraps_Analytics_Service_github.com-mailgun-spamtraps-api-PagingResponse
      required:
        - items
        - paging
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-DeliveryStats:
      type: object
      properties:
        delivered:
          type: integer
          format: int32
        missing:
          type: integer
          format: int32
        pending:
          type: integer
          format: int32
        spam:
          type: integer
          format: int32
        inbox:
          type: integer
          format: int32
        total:
          type: integer
          format: int32
        provider:
          type: string
        categories:
          type: object
          additionalProperties:
            type: integer
            format: int32
      required:
        - delivered
        - missing
        - pending
        - spam
        - inbox
        - total
        - provider
        - categories
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-KeyBox:
      type: object
      properties:
        kid:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        last_result_at:
          type: string
          format: date-time
        target_email:
          type: string
        sending_domains:
          type: array
          items:
            type: string
        has_results:
          type: boolean
        name:
          type: string
        seed_filter:
          type: string
        provider_filter:
          type: array
          items:
            type: string
          description: '[] means all providers; null means that only seed_filter is used'
        mailing_list:
          type: string
        previous_mailing_list:
          type: string
          description: List before last regen
        tags:
          type: object
          additionalProperties:
            type: string
        delivery_stats:
          type: object
          additionalProperties:
            $ref: >-
              #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-DeliveryStats
        is_auto_generated:
          type: boolean
        version:
          type: integer
          format: int32
        regen_needed:
          type: boolean
          description: >-
            Shows that mailing_list has to many unavailable seeds. Only for v2
            Seed List.
        regen_at:
          type: string
          format: date-time
      required:
        - kid
        - created_at
        - updated_at
        - last_result_at
        - target_email
        - sending_domains
        - has_results
        - name
        - seed_filter
        - provider_filter
        - mailing_list
        - previous_mailing_list
        - tags
        - is_auto_generated
        - version
        - regen_needed
        - regen_at
    Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-Response:
      type: object
      additionalProperties:
        type: object
    Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-NotFoundError:
      type: object
      properties:
        Description:
          type: string
      required:
        - Description
    Inbox_Placement_Testing_github.com-mailgun-scaffold-httpapi-GenericResponse:
      type: object
      properties:
        message:
          type: string
          description: Response message
      required:
        - message
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-ResultSharingInfo:
      type: object
      properties:
        result_id:
          type: string
        expires_at:
          type: string
          format: date-time
        enabled:
          type: boolean
        url_id:
          type: string
        url:
          type: string
        api_url:
          type: string
      required:
        - result_id
        - expires_at
        - enabled
        - url_id
        - url
        - api_url
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-headers-MessageHeader:
      type: object
      properties:
        key:
          type: string
        value:
          type: string
      required:
        - key
        - value
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-extensions-msspam-ForefrontReport:
      type: object
      properties:
        category:
          type: string
      required:
        - category
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-extensions-msspam-MicrosoftSpamEntry:
      type: object
      properties:
        bcl:
          type: integer
          format: int32
        scl:
          type: integer
          format: int32
        forefront_report:
          $ref: >-
            #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-extensions-msspam-ForefrontReport
      required:
        - bcl
        - scl
        - forefront_report
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-MessageExtension:
      type: object
      properties:
        category:
          type: string
        ms_spam:
          anyOf:
            - $ref: >-
                #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-extensions-msspam-MicrosoftSpamEntry
            - type: 'null'
      required:
        - category
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-ExpectedMessage:
      type: object
      properties:
        email:
          type: string
        provider:
          type: string
        destination:
          type: string
        state:
          type: string
        originating_ip:
          type: string
        tags:
          type: array
          items:
            type: string
        dkim:
          type: string
        spf:
          type: string
        dmarc:
          type: string
        headers:
          type: array
          items:
            $ref: >-
              #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-headers-MessageHeader
        extensions:
          anyOf:
            - $ref: >-
                #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-MessageExtension
            - type: 'null'
      required:
        - email
        - provider
        - destination
        - state
        - originating_ip
        - tags
        - extensions
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-net-spamassassin-Rule:
      type: object
      properties:
        name:
          type: string
        points:
          type: number
          format: float
        short_description:
          type: string
        long_description:
          type: string
      required:
        - name
        - points
        - short_description
        - long_description
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-net-spamassassin-Result:
      type: object
      properties:
        is_spam:
          type: boolean
        score:
          type: number
          format: float
        required:
          type: number
          format: float
        rules:
          type: array
          items:
            $ref: >-
              #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-net-spamassassin-Rule
      required:
        - is_spam
        - score
        - required
        - rules
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-extensions-msspam-LevelStats:
      type: object
      properties:
        min:
          type: integer
          format: int32
        max:
          type: integer
          format: int32
        mean:
          type: number
          format: float
      required:
        - min
        - max
        - mean
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-extensions-msspam-ForefrontStats:
      type: object
      properties:
        category_counts:
          type: object
          additionalProperties:
            type: integer
            format: int32
      required:
        - category_counts
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-extensions-msspam-MicrosoftSpamSummary:
      type: object
      properties:
        bcl:
          $ref: >-
            #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-extensions-msspam-LevelStats
        scl:
          $ref: >-
            #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-extensions-msspam-LevelStats
        count:
          type: integer
          format: int32
        forefront:
          $ref: >-
            #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-extensions-msspam-ForefrontStats
      required:
        - bcl
        - scl
        - count
        - forefront
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-TestResult:
      type: object
      properties:
        rid:
          type: string
        result_id:
          type: string
        keybox_email:
          type: string
        subject:
          type: string
        sender:
          type: string
        seedlist_name:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        status:
          type: string
        attributes:
          type: object
          additionalProperties:
            type: string
        campaign_id:
          type: string
        sharing_enabled:
          type: boolean
        sharing_id:
          type: string
        sharing_expires_at:
          type: string
          format: date-time
        seed_results:
          type: array
          items:
            $ref: >-
              #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-ExpectedMessage
        spamassassin:
          $ref: >-
            #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-net-spamassassin-Result
        delivery_stats:
          type: object
          additionalProperties:
            $ref: >-
              #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-DeliveryStats
        ms_spam:
          anyOf:
            - $ref: >-
                #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-model-extensions-msspam-MicrosoftSpamSummary
            - type: 'null'
        body:
          type: string
          description: Only for GET /inbox/results/{result}
      required:
        - rid
        - result_id
        - keybox_email
        - subject
        - sender
        - seedlist_name
        - created_at
        - updated_at
        - status
        - attributes
        - campaign_id
        - sharing_enabled
        - sharing_id
        - sharing_expires_at
        - seed_results
        - spamassassin
        - delivery_stats
        - body
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-api-CreateTestRespLinks:
      type: object
      properties:
        results:
          type: string
      required:
        - results
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-api-SpyCreateTestResp:
      type: object
      properties:
        result_id:
          type: string
        links:
          $ref: >-
            #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-api-CreateTestRespLinks
      required:
        - result_id
        - links
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-api-CreateTestReq:
      type: object
      properties:
        from:
          type: string
        subject:
          type: string
        html:
          type: string
        template_name:
          type: string
          description: template from Mailgun Send
        variables:
          type: object
          additionalProperties:
            type: string
        seed_list:
          type: string
          description: Use existing Seed List. If omitted creates new Seed List
        provider_filter:
          type: array
          items:
            type: string
          description: missing/null/[] means all providers
      required:
        - from
        - subject
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-api-UnsupportedAuthentications:
      type: object
      properties:
        dkim:
          type: boolean
        spf:
          type: boolean
        dmarc:
          type: boolean
      required:
        - dkim
        - spf
        - dmarc
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-api-Provider:
      type: object
      properties:
        domain:
          type: string
        display_name:
          type: string
        region:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        max_email_count:
          type: integer
          format: int32
        seeds_limit:
          type: integer
          format: int32
        unsupported_authentications:
          $ref: >-
            #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-api-UnsupportedAuthentications
        virtual:
          type: boolean
      required:
        - domain
        - display_name
        - region
        - created_at
        - updated_at
        - max_email_count
        - seeds_limit
        - unsupported_authentications
        - virtual
    Inbox_Placement_Testing_github.com-mailgun-spy-internal-api-ListProvidersResp:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/Inbox_Placement_Testing_github.com-mailgun-spy-internal-api-Provider
      required:
        - items
    Maverick_Score_github.com-mailgun-maverick-score-internal-entities-Rates:
      type: object
      properties:
        bounce_rate:
          type: integer
          format: int32
        complaint_rate:
          type: integer
          format: int32
        trap_rate:
          type: integer
          format: int32
        full_mailbox_rate:
          type: integer
          format: int32
        bad_failure_rate:
          type: integer
          format: int32
      required:
        - bounce_rate
        - complaint_rate
        - trap_rate
        - full_mailbox_rate
        - bad_failure_rate
    Maverick_Score_github.com-mailgun-maverick-score-internal-api-Counters:
      type: object
      properties:
        delivered:
          type: integer
          format: int64
      required:
        - delivered
    Maverick_Score_github.com-mailgun-maverick-score-internal-api-GetScoreResp:
      type: object
      properties:
        score:
          type: integer
          format: int32
        rates:
          $ref: >-
            #/components/schemas/Maverick_Score_github.com-mailgun-maverick-score-internal-entities-Rates
        counters:
          $ref: >-
            #/components/schemas/Maverick_Score_github.com-mailgun-maverick-score-internal-api-Counters
      required:
        - score
        - rates
        - counters
    Maverick_Score_github.com-mailgun-scaffold-httpapi-GenericAPIError:
      type: object
      properties:
        Reason:
          type: string
      required:
        - Reason
    Maverick_Score_github.com-mailgun-maverick-score-internal-api-GroupScore:
      type: object
      properties:
        group_key:
          type: string
        score:
          type: integer
          format: int32
        rates:
          $ref: >-
            #/components/schemas/Maverick_Score_github.com-mailgun-maverick-score-internal-entities-Rates
        counters:
          $ref: >-
            #/components/schemas/Maverick_Score_github.com-mailgun-maverick-score-internal-api-Counters
      required:
        - group_key
        - score
        - rates
        - counters
    Maverick_Score_github.com-mailgun-maverick-score-internal-api-ListScoreResp:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/Maverick_Score_github.com-mailgun-maverick-score-internal-api-GroupScore
        total:
          type: integer
          format: int64
      required:
        - items
        - total
    DMARC_Reports_ReferReq:
      title: A referral request
      type: object
      properties:
        email:
          type: string
          description: Email
      required:
        - email
    reputationanalytics_github.com-mailgun-reputationanalytics-models-domain-DeliveryError:
      type: object
      properties:
        error_class:
          type: string
        error_type:
          type: string
        error_ratio:
          type: number
          format: float
      required:
        - error_class
        - error_type
        - error_ratio
    reputationanalytics_github.com-mailgun-reputationanalytics-models-domain-IPCount:
      type: object
      properties:
        reputation:
          type: integer
          format: int32
        total:
          type: integer
          format: int64
      required:
        - reputation
        - total
    reputationanalytics_github.com-mailgun-reputationanalytics-models-domain-FeedbackLoop:
      type: object
      properties:
        id:
          type: string
        spam_ratio:
          type: number
          format: float
      required:
        - id
        - spam_ratio
    reputationanalytics_github.com-mailgun-reputationanalytics-models-domain-Domain:
      type: object
      properties:
        account_id:
          type: string
        name:
          type: string
        user_reported_spam_ratio:
          type: number
          format: float
        spf_success_ratio:
          type: number
          format: float
        dkim_success_ratio:
          type: number
          format: float
        dmarc_success_ratio:
          type: number
          format: float
        inbound_encryption_ratio:
          type: number
          format: float
        delivery_error_ratio:
          type: number
          format: float
        delivery_errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-models-domain-DeliveryError
        reputation:
          type: integer
          format: int32
        date:
          type:
            - string
            - 'null'
          format: date-time
        ip_counts:
          type: array
          items:
            $ref: >-
              #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-models-domain-IPCount
        feedback_loops:
          type: array
          items:
            $ref: >-
              #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-models-domain-FeedbackLoop
      required:
        - name
        - user_reported_spam_ratio
        - spf_success_ratio
        - dkim_success_ratio
        - dmarc_success_ratio
        - inbound_encryption_ratio
        - delivery_error_ratio
        - delivery_errors
        - reputation
        - date
        - ip_counts
        - feedback_loops
    reputationanalytics_github.com-mailgun-reputationanalytics-api-DomainResponse:
      type: object
      properties:
        domain:
          type: string
        data:
          type: array
          items:
            $ref: >-
              #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-models-domain-Domain
        total:
          type: integer
          format: int32
      required:
        - domain
        - data
        - total
    reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericAPIError:
      type: object
      properties:
        Reason:
          type: string
      required:
        - Reason
    reputationanalytics_github.com-mailgun-scaffold-httpapi-NotFoundError:
      type: object
      properties:
        Description:
          type: string
      required:
        - Description
    reputationanalytics_github.com-mailgun-scaffold-httpapi-GenericResponse:
      type: object
      properties:
        message:
          type: string
          description: Response message
      required:
        - message
    reputationanalytics_github.com-mailgun-reputationanalytics-models-domain-FullDomainListEntry:
      type: object
      properties:
        name:
          type: string
        date:
          type: string
      required:
        - name
        - date
    reputationanalytics_github.com-mailgun-reputationanalytics-api-AllDomainsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: >-
              #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-models-domain-FullDomainListEntry
        total:
          type: integer
          format: int32
      required:
        - data
        - total
    reputationanalytics_github.com-mailgun-reputationanalytics-models-domain-FeedbackLoopAggr:
      type: object
      properties:
        name:
          type: string
        id:
          type: string
        ratio:
          type: number
          format: float
        date:
          type:
            - string
            - 'null'
          format: date-time
      required:
        - name
        - id
        - ratio
        - date
    reputationanalytics_github.com-mailgun-reputationanalytics-api-DomainFBLResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: >-
              #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-models-domain-FeedbackLoopAggr
        total:
          type: integer
          format: int32
      required:
        - data
        - total
    reputationanalytics_github.com-mailgun-reputationanalytics-models-address-IPAddress:
      type: object
      properties:
        address:
          type: string
        domain_name:
          type: string
        reputation:
          type: integer
          format: int32
        date:
          type:
            - string
            - 'null'
          format: date-time
      required:
        - address
        - domain_name
        - reputation
        - date
    reputationanalytics_github.com-mailgun-reputationanalytics-api-AddressResponse:
      type: object
      properties:
        address:
          type: string
        data:
          type: array
          items:
            $ref: >-
              #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-models-address-IPAddress
        total:
          type: integer
          format: int32
      required:
        - address
        - data
        - total
    reputationanalytics_github.com-mailgun-reputationanalytics-models-address-FullAddressListEntry:
      type: object
      properties:
        address:
          type: string
        date:
          type: string
      required:
        - address
        - date
    reputationanalytics_github.com-mailgun-reputationanalytics-api-AllAddressesResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: >-
              #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-models-address-FullAddressListEntry
        total:
          type: integer
          format: int32
      required:
        - data
        - total
    reputationanalytics_github.com-mailgun-reputationanalytics-api-DomainAddressResponse:
      type: object
      properties:
        domain:
          type: string
        data:
          type: array
          items:
            $ref: >-
              #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-models-address-IPAddress
        total:
          type: integer
          format: int32
      required:
        - domain
        - data
        - total
    reputationanalytics_github.com-mailgun-reputationanalytics-api-Summary:
      type: object
      properties:
        name:
          type: string
        reputation:
          type: number
          format: float
        user_reported_spam_ratio:
          type: number
          format: float
        delivery_error_ratio:
          type: number
          format: float
      required:
        - name
        - reputation
        - user_reported_spam_ratio
        - delivery_error_ratio
    reputationanalytics_github.com-mailgun-reputationanalytics-api-SummaryResponse:
      type: object
      properties:
        summary:
          type: array
          items:
            $ref: >-
              #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-api-Summary
        total:
          type: integer
          format: int32
      required:
        - summary
        - total
    reputationanalytics_github.com-mailgun-reputationanalytics-models-domain-DomainSummary:
      type: object
      properties:
        name:
          type: string
        user_reported_spam_ratio:
          type: number
          format: float
        spf_success_ratio:
          type: number
          format: float
        dkim_success_ratio:
          type: number
          format: float
        dmarc_success_ratio:
          type: number
          format: float
        inbound_encryption_ratio:
          type: number
          format: float
        reputation:
          type: number
          format: float
      required:
        - name
        - user_reported_spam_ratio
        - spf_success_ratio
        - dkim_success_ratio
        - dmarc_success_ratio
        - inbound_encryption_ratio
        - reputation
    reputationanalytics_github.com-mailgun-reputationanalytics-api-DomainSummaryResponse:
      type: object
      properties:
        summary:
          type: array
          items:
            $ref: >-
              #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-models-domain-DomainSummary
        total:
          type: integer
          format: int32
      required:
        - summary
        - total
    reputationanalytics_github.com-mailgun-reputationanalytics-models-domain-DomainErrorSummary:
      type: object
      properties:
        name:
          type: string
        delivery_error_ratio:
          type: number
          format: float
      required:
        - name
        - delivery_error_ratio
    reputationanalytics_github.com-mailgun-reputationanalytics-api-DomainErrorSummaryResponse:
      type: object
      properties:
        summary:
          type: array
          items:
            $ref: >-
              #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-models-domain-DomainErrorSummary
        total:
          type: integer
          format: int32
      required:
        - summary
        - total
    reputationanalytics_github.com-mailgun-reputationanalytics-models-address-AddressSummary:
      type: object
      properties:
        domain_name:
          type: string
        address:
          type: string
        reputation:
          type: number
          format: float
      required:
        - domain_name
        - address
        - reputation
    reputationanalytics_github.com-mailgun-reputationanalytics-api-AddressSummaryResponse:
      type: object
      properties:
        summary:
          type: array
          items:
            $ref: >-
              #/components/schemas/reputationanalytics_github.com-mailgun-reputationanalytics-models-address-AddressSummary
        ip_counts:
          type: object
          additionalProperties:
            type: integer
            format: int32
        total:
          type: integer
          format: int32
      required:
        - summary
        - ip_counts
        - total
  securitySchemes:
    basicAuth:
      type: http
      description: >-
        HTTP Basic auth using api:YOUR_API_KEY. See
        [documentation](https://documentation.mailgun.com/docs/mailgun/api-reference/authentication/)
      scheme: basic
    Inbox_Ready_basicAuth:
      type: http
      description: >-
        HTTP Basic auth using api:YOUR_API_KEY. See
        [documentation](https://documentation.mailgun.com/docs/mailgun/api-reference/authentication/)
      scheme: basic
    Domain_Blocklist_Monitoring_basicAuth:
      type: http
      description: >-
        HTTP Basic auth using api:YOUR_API_KEY. See
        [documentation](https://documentation.mailgun.com/docs/mailgun/api-reference/authentication/)
      scheme: basic
    Spamtraps_Analytics_Service_basicAuth:
      type: http
      description: >-
        HTTP Basic auth using api:YOUR_API_KEY. See
        [documentation](https://documentation.mailgun.com/docs/mailgun/api-reference/authentication/)
      scheme: basic
    Inbox_Placement_Testing_basicAuth:
      type: http
      description: >-
        HTTP Basic auth using api:YOUR_API_KEY. See
        [documentation](https://documentation.mailgun.com/docs/mailgun/api-reference/authentication/)
      scheme: basic
    Maverick_Score_basicAuth:
      type: http
      description: >-
        HTTP Basic auth using api:YOUR_API_KEY. See
        [documentation](https://documentation.mailgun.com/docs/mailgun/api-reference/authentication/)
      scheme: basic
    DMARC_Reports_basicAuth:
      type: http
      description: >-
        HTTP Basic auth using api:YOUR_API_KEY. See
        [documentation](https://documentation.mailgun.com/docs/mailgun/api-reference/authentication/)
      scheme: basic
    reputationanalytics_basicAuth:
      type: http
      description: >-
        HTTP Basic auth using api:YOUR_API_KEY. See
        [documentation](https://documentation.mailgun.com/docs/mailgun/api-reference/authentication/)
      scheme: basic
  parameters:
    DMARC_Reports_fromParam:
      in: query
      name: from
      description: UNIX epoch (UTC seconds) representing the start of the time range.
      required: false
      schema:
        type: integer
      example: 1736790000
    DMARC_Reports_toParam:
      in: query
      name: to
      description: >-
        UNIX epoch (UTC seconds) representing the end of the time range. If
        supplied, `from` must also be set.
      required: false
      schema:
        type: integer
      example: 1736790285
    DMARC_Reports_host:
      required: true
      in: path
      name: host
      schema:
        type: string
      description: Host name
      example: mx.mailgun.com
    DMARC_Reports_ip:
      in: path
      name: ip
      required: true
      schema:
        type: string
      description: a valid IPv4 or IPv6 address
      example: 8.8.8.8
    DMARC_Reports_domain:
      in: path
      name: domain
      schema:
        type: string
      description: Fully qualified domain name
      required: true
      example: example.com
    DMARC_Reports_source:
      in: path
      name: source
      schema:
        type: string
      description: User friendly source id name
      example: mailgun
      required: true
  requestBodies:
    DMARC_Reports_refer_req:
      description: Request for referral Link
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DMARC_Reports_ReferReq'
  responses:
    DMARC_Reports_records_200:
      description: OK | The records for DMARC DNS Setup
      content:
        application/json:
          example:
            entry: >-
              v=DMARC1; p=none; pct=100; fo=1; ri=3600;
              rua=mailto:abcdef12@inbox.ondmarc.com;
              ruf=mailto:abcdef12@inbox.ondmarc.com;
            current: >-
              v=DMARC1; p=none; pct=100; fo=1; ri=3600;
              rua=mailto:abcdef12@inbox.ondmarc.com;
              ruf=mailto:abcdef12@inbox.ondmarc.com;
            configured: true
    DMARC_Reports_setupCheck_200:
      description: OK | Setup metadata for DMARC
      content:
        application/json:
          example:
            InstanceID: d8798aa87905456b123c98745987f21379f9102389cc0981
            LastAccessed: '2025-01-22T21:16:25.55Z'
            CreatedAt: '2025-01-22T21:16:25.55Z'
            UpdatedAt: '2025-01-22T21:16:25.55Z'
    DMARC_Reports_referral_200:
      description: OK | Referral Link to Redsift
      content:
        application/json:
          example:
            referral_uri: https://redsift.com/partners/mailgun?token=token
    DMARC_Reports_domainList_200:
      description: OK | Object representing a list of DMARC monitored domains
      content:
        application/json:
          example:
            domains:
              - label: Mailgun.com
                uri: /domains/mailgun.com
                email_count: 79,
                reputation: 0.5
                compliance_rate: 0.58
                dmarc_failures: 43,
                spf_rate: 0.9983
                dkim_rate: 0.9977
              - label: Mailjet.com
                uri: /domains/mailjet.com
                email_count: 69,
                reputation: 1
                compliance_rate: 0.65
                dmarc_failures: 30,
                spf_rate: 0.98
                dkim_rate: 0.9243
            pfqr_chart:
              - pass: 111
                fail: 11
                quarantined: 123
                rejected: 12334
                date: 1736527388
              - pass: 199
                fail: 2
                quarantined: 9
                rejected: 0
                date: 1736526388
    DMARC_Reports_domain_200:
      description: OK | Object representing a DMARC monitored domain
      content:
        application/json:
          example:
            email_count: 79,
            compliance_rate: 0.58
            dmarc_policy: p=none 100%
            pfqr_chart:
              - pass: 111
                fail: 11
                quarantined: 123
                rejected: 12334
                date: 1736527388
              - pass: 199
                fail: 2
                quarantined: 9
                rejected: 0
                date: 1736526388
            sources:
              - label: mail.we.static.321
                uri: /domains/mailgun.com/s/mail.we.static.321
                email_count: 10
                reputation: 0.5
                ip_count: 1
                dmarc_failures: 0
                spf_rate: 0.98
                dkim_rate: 0.9243
                ruf: todo
              - label: mx.example.com
                uri: /domains/mailgun.com/s/mx.example.com
                email_count: 10
                reputation: 0
                ip_count: 3
                dmarc_failures: 10
                spf_rate: 0.9534
                dkim_rate: 0.8743
                ruf: todo
    DMARC_Reports_source_200:
      description: OK | Object representing DMARC info for a source
      content:
        application/json:
          example:
            email_count: 79,
            compliance_rate: 0.58
            ip_count: 2
            pfqr_chart:
              - pass: 111
                fail: 11
                quarantined: 123
                rejected: 12334
                date: 1736527388
              - pass: 199
                fail: 2
                quarantined: 9
                rejected: 0
                date: 1736526388
            hostnames:
              - label: 123.4.54.123
                uri: /domains/mailgun.com/s/mx.example.com/h/123.4.54.123
                email_count: 10
                reputation: 0.5
                ip_count: 1
                dmarc_failures: 0
                spf_rate: 0.98
                dkim_rate: 0.9243
              - label: mx-1234.mx.example.com
                uri: /domains/mailgun.com/s/mx.example.com/h/mx-1234.mx.example.com
                email_count: 10
                reputation: 0.5
                ip_count: 3
                dmarc_failures: 10
                spf_rate: 0.9534
                dkim_rate: 0.8743
            auth_events:
              - protocol: SPF
                disposition: none
                reason: Short reason
                detail: Detailed reason
                result: temperror
                email_count: 3
                dmarc_failures: 0
                date: 1736527388
    DMARC_Reports_host_200:
      description: OK | Object representing DMARC info for a hostname
      content:
        application/json:
          example:
            email_count: 79,
            ip_count: 2
            spf_fail_events: 1
            dkim_fail_events: 1
            auth_fail_events: 1
            pfqr_chart:
              - pass: 111
                fail: 11
                quarantined: 123
                rejected: 12334
                date: 1736527388
              - pass: 199
                fail: 2
                quarantined: 9
                rejected: 0
                date: 1736526388
            ip_addresses:
              - label: 123.4.54.123
                uri: >-
                  /domains/mailgun.com/s/mx.example.com/h/123.4.54.123/ip/123.4.54.123
                email_count: 10
                reputation: 0.5
                ip_count: 1
                dmarc_failures: 0
                spf_rate: 0.98
                dkim_rate: 0.9243
                ruf: todo
                country: USA
              - label: 8.8.8.8
                uri: >-
                  /domains/mailgun.com/s/mx.example.com/h/123.4.54.123/ip/8.8.8.8
                email_count: 10
                reputation: 0.5
                ip_count: 3
                dmarc_failures: 10
                spf_rate: 0.9534
                dkim_rate: 0.8743
                ruf: todo
                country: CN
            auth_events:
              - protocol: SPF
                disposition: none
                reason: Short reason
                detail: Detailed reason
                result: temperror
                email_count: 3
                dmarc_failures: 0
                date: 1736527388
    DMARC_Reports_ip_200:
      description: OK | Object representing DMARC info for an IP Address
      content:
        application/json:
          example:
            email_count: 79,
            ip_count: 2
            spf_fail_events: 1
            dkim_fail_events: 1
            auth_fail_events: 1
            ruf: todo
            pfqr_chart:
              - pass: 111
                fail: 11
                quarantined: 123
                rejected: 12334
                date: 1736527388
              - pass: 199
                fail: 2
                quarantined: 9
                rejected: 0
                date: 1736526388
            auth_events:
              - protocol: SPF
                disposition: none
                reason: Short reason
                detail: Detailed reason
                result: temperror
                email_count: 3
                dmarc_failures: 0
                date: 1736527388
x-tagGroups:
  - name: Mailgun Optimize
    tags:
      - Domains
      - DMARC Reports
      - Inbox Placement
      - Spam Traps Monitoring
      - Email Health Score
      - IP Blocklist Monitoring
      - Domain Blocklist Monitoring
      - Google Postmaster Tools
      - Microsoft SNDS
      - Alerts
