Mailchimp Inbound API

The inbound API from Mailchimp — 9 operation(s) for inbound.

Operations 9

POST /inbound/domains List inbound domains #
POST /inbound/add-domain Add inbound domain #
POST /inbound/check-domain Check domain settings #
POST /inbound/delete-domain Delete inbound domain #
POST /inbound/routes List routes #
POST /inbound/add-route Add route #
POST /inbound/update-route Update mailbox route #
POST /inbound/delete-route Delete mailbox route #
POST /inbound/send-raw Send mime document #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/mailchimp-inbound-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

mailchimp-inbound-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.4.1
  title: Mailchimp Transactional Inbound API
  contact:
    name: API Support
    email: apihelp@mailchimp.com
  x-permalink: https://github.com/mailchimp/mailchimp-client-lib-codegen/blob/main/spec/transactional.openapi.json
servers:
- url: https://mandrillapp.com/api/1.3
tags:
- name: inbound
paths:
  /inbound/domains:
    post:
      x-custom-config:
        methodNameCamel: domains
        methodNameSnake: domains
      summary: List inbound domains
      description: List the domains that have been configured for inbound delivery.
      operationId: postInboundDomains
      tags:
      - inbound
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                description: the inbound domains associated with the account
                items:
                  type: object
                  description: the individual domain info
                  properties:
                    domain:
                      type: string
                      description: the domain name that is accepting mail
                      example: https://intuit.com
                    created_at:
                      type: string
                      description: the date and time that the inbound domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
                      format: date-time
                      example: '2025-04-29 18:47:35'
                    valid_mx:
                      type: boolean
                      description: true if this inbound domain has successfully set up an MX record to deliver mail to the Mandrill servers
                      example: true
            application/x-php:
              schema:
                type: array
                description: the inbound domains associated with the account
                items:
                  type: object
                  description: the individual domain info
                  properties:
                    domain:
                      type: string
                      description: the domain name that is accepting mail
                      example: https://intuit.com
                    created_at:
                      type: string
                      description: the date and time that the inbound domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
                      format: date-time
                      example: '2025-04-29 18:47:35'
                    valid_mx:
                      type: boolean
                      description: true if this inbound domain has successfully set up an MX record to deliver mail to the Mandrill servers
                      example: true
            application/x-yaml; charset=utf-8:
              schema:
                type: array
                description: the inbound domains associated with the account
                items:
                  type: object
                  description: the individual domain info
                  properties:
                    domain:
                      type: string
                      description: the domain name that is accepting mail
                      example: https://intuit.com
                    created_at:
                      type: string
                      description: the date and time that the inbound domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
                      format: date-time
                      example: '2025-04-29 18:47:35'
                    valid_mx:
                      type: boolean
                      description: true if this inbound domain has successfully set up an MX record to deliver mail to the Mandrill servers
                      example: true
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - key
              properties:
                key:
                  type: string
                  description: a valid api key
        required: true
  /inbound/add-domain:
    post:
      x-custom-config:
        methodNameCamel: addDomain
        methodNameSnake: add_domain
      summary: Add inbound domain
      description: Add an inbound domain to your account.
      operationId: postInboundAddDomain
      tags:
      - inbound
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                description: information about the domain
                properties:
                  domain:
                    type: string
                    description: the domain name that is accepting mail
                    example: https://intuit.com
                  created_at:
                    type: string
                    description: the date and time that the inbound domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
                    format: date-time
                    example: '2025-04-29 18:47:35'
                  valid_mx:
                    type: boolean
                    description: true if this inbound domain has successfully set up an MX record to deliver mail to the Mandrill servers
                    example: true
            application/x-php:
              schema:
                type: object
                description: information about the domain
                properties:
                  domain:
                    type: string
                    description: the domain name that is accepting mail
                    example: https://intuit.com
                  created_at:
                    type: string
                    description: the date and time that the inbound domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
                    format: date-time
                    example: '2025-04-29 18:47:35'
                  valid_mx:
                    type: boolean
                    description: true if this inbound domain has successfully set up an MX record to deliver mail to the Mandrill servers
                    example: true
            application/x-yaml; charset=utf-8:
              schema:
                type: object
                description: information about the domain
                properties:
                  domain:
                    type: string
                    description: the domain name that is accepting mail
                    example: https://intuit.com
                  created_at:
                    type: string
                    description: the date and time that the inbound domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
                    format: date-time
                    example: '2025-04-29 18:47:35'
                  valid_mx:
                    type: boolean
                    description: true if this inbound domain has successfully set up an MX record to deliver mail to the Mandrill servers
                    example: true
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - key
              - domain
              properties:
                key:
                  type: string
                  description: a valid api key
                domain:
                  type: string
                  description: 'a domain name; Validation: strip_tags, required'
        required: true
  /inbound/check-domain:
    post:
      x-custom-config:
        methodNameCamel: checkDomain
        methodNameSnake: check_domain
      summary: Check domain settings
      description: Check the MX settings for an inbound domain. The domain must have already been added with the add-domain call.
      operationId: postInboundCheckDomain
      tags:
      - inbound
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                description: information about the inbound domain
                properties:
                  domain:
                    type: string
                    description: the domain name that is accepting mail
                    example: https://intuit.com
                  created_at:
                    type: string
                    description: the date and time that the inbound domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
                    format: date-time
                    example: '2025-04-29 18:47:35'
                  valid_mx:
                    type: boolean
                    description: true if this inbound domain has successfully set up an MX record to deliver mail to the Mandrill servers
                    example: true
            application/x-php:
              schema:
                type: object
                description: information about the inbound domain
                properties:
                  domain:
                    type: string
                    description: the domain name that is accepting mail
                    example: https://intuit.com
                  created_at:
                    type: string
                    description: the date and time that the inbound domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
                    format: date-time
                    example: '2025-04-29 18:47:35'
                  valid_mx:
                    type: boolean
                    description: true if this inbound domain has successfully set up an MX record to deliver mail to the Mandrill servers
                    example: true
            application/x-yaml; charset=utf-8:
              schema:
                type: object
                description: information about the inbound domain
                properties:
                  domain:
                    type: string
                    description: the domain name that is accepting mail
                    example: https://intuit.com
                  created_at:
                    type: string
                    description: the date and time that the inbound domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
                    format: date-time
                    example: '2025-04-29 18:47:35'
                  valid_mx:
                    type: boolean
                    description: true if this inbound domain has successfully set up an MX record to deliver mail to the Mandrill servers
                    example: true
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - key
              - domain
              properties:
                key:
                  type: string
                  description: a valid api key
                domain:
                  type: string
                  description: an existing inbound domain
        required: true
  /inbound/delete-domain:
    post:
      x-custom-config:
        methodNameCamel: deleteDomain
        methodNameSnake: delete_domain
      summary: Delete inbound domain
      description: Delete an inbound domain from the account. All mail will stop routing for this domain immediately.
      operationId: postInboundDeleteDomain
      tags:
      - inbound
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                description: information about the deleted domain
                properties:
                  domain:
                    type: string
                    description: the domain name that is accepting mail
                    example: https://intuit.com
                  created_at:
                    type: string
                    description: the date and time that the inbound domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
                    format: date-time
                    example: '2025-04-29 18:47:35'
                  valid_mx:
                    type: boolean
                    description: true if this inbound domain has successfully set up an MX record to deliver mail to the Mandrill servers
                    example: true
            application/x-php:
              schema:
                type: object
                description: information about the deleted domain
                properties:
                  domain:
                    type: string
                    description: the domain name that is accepting mail
                    example: https://intuit.com
                  created_at:
                    type: string
                    description: the date and time that the inbound domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
                    format: date-time
                    example: '2025-04-29 18:47:35'
                  valid_mx:
                    type: boolean
                    description: true if this inbound domain has successfully set up an MX record to deliver mail to the Mandrill servers
                    example: true
            application/x-yaml; charset=utf-8:
              schema:
                type: object
                description: information about the deleted domain
                properties:
                  domain:
                    type: string
                    description: the domain name that is accepting mail
                    example: https://intuit.com
                  created_at:
                    type: string
                    description: the date and time that the inbound domain was added as a UTC string in YYYY-MM-DD HH:MM:SS format
                    format: date-time
                    example: '2025-04-29 18:47:35'
                  valid_mx:
                    type: boolean
                    description: true if this inbound domain has successfully set up an MX record to deliver mail to the Mandrill servers
                    example: true
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - key
              - domain
              properties:
                key:
                  type: string
                  description: a valid api key
                domain:
                  type: string
                  description: an existing inbound domain
        required: true
  /inbound/routes:
    post:
      x-custom-config:
        methodNameCamel: routes
        methodNameSnake: routes
      summary: List routes
      description: List the routes defined for an inbound domain or SMS program. Provide either domain or phone (not both).
      operationId: postInboundRoutes
      tags:
      - inbound
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                description: the routes associated with the domain
                items:
                  type: object
                  description: the individual mailbox route
                  properties:
                    id:
                      type: string
                      description: the unique identifier of the route
                      example: '12.123456'
                    pattern:
                      type: string
                      description: the search pattern that the mailbox name should match
                      example: .*
                    url:
                      type: string
                      description: the webhook URL where inbound messages will be published
                      example: https://mydomain.com/webhook
            application/x-php:
              schema:
                type: array
                description: the routes associated with the domain
                items:
                  type: object
                  description: the individual mailbox route
                  properties:
                    id:
                      type: string
                      description: the unique identifier of the route
                      example: '12.123456'
                    pattern:
                      type: string
                      description: the search pattern that the mailbox name should match
                      example: .*
                    url:
                      type: string
                      description: the webhook URL where inbound messages will be published
                      example: https://mydomain.com/webhook
            application/x-yaml; charset=utf-8:
              schema:
                type: array
                description: the routes associated with the domain
                items:
                  type: object
                  description: the individual mailbox route
                  properties:
                    id:
                      type: string
                      description: the unique identifier of the route
                      example: '12.123456'
                    pattern:
                      type: string
                      description: the search pattern that the mailbox name should match
                      example: .*
                    url:
                      type: string
                      description: the webhook URL where inbound messages will be published
                      example: https://mydomain.com/webhook
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - key
              properties:
                key:
                  type: string
                  description: a valid api key
                domain:
                  type: string
                  description: The domain to check (required if phone is not provided)
                phone:
                  type: string
                  description: The SMS program phone number (required if domain is not provided)
        required: true
  /inbound/add-route:
    post:
      x-custom-config:
        methodNameCamel: addRoute
        methodNameSnake: add_route
      summary: Add route
      description: Add a new route to an inbound domain or SMS program. Provide either domain or phone (not both).
      operationId: postInboundAddRoute
      tags:
      - inbound
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                description: the added mailbox route information
                properties:
                  id:
                    type: string
                    description: the unique identifier of the route
                    example: '12.123456'
                  pattern:
                    type: string
                    description: the search pattern that the mailbox name should match
                    example: .*
                  url:
                    type: string
                    description: the webhook URL where inbound messages will be published
                    example: https://mydomain.com/webhook
            application/x-php:
              schema:
                type: object
                description: the added mailbox route information
                properties:
                  id:
                    type: string
                    description: the unique identifier of the route
                    example: '12.123456'
                  pattern:
                    type: string
                    description: the search pattern that the mailbox name should match
                    example: .*
                  url:
                    type: string
                    description: the webhook URL where inbound messages will be published
                    example: https://mydomain.com/webhook
            application/x-yaml; charset=utf-8:
              schema:
                type: object
                description: the added mailbox route information
                properties:
                  id:
                    type: string
                    description: the unique identifier of the route
                    example: '12.123456'
                  pattern:
                    type: string
                    description: the search pattern that the mailbox name should match
                    example: .*
                  url:
                    type: string
                    description: the webhook URL where inbound messages will be published
                    example: https://mydomain.com/webhook
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - key
              - url
              properties:
                key:
                  type: string
                  description: a valid api key
                domain:
                  type: string
                  description: An existing inbound domain (required if phone is not provided)
                phone:
                  description: The SMS program phone number - the TO number that receives inbound SMS (required if domain is not provided)
                  type: string
                pattern:
                  type: string
                  description: 'For email: the mailbox pattern (e.g., "mailbox-*"). For SMS: not used, the phone number is the pattern.'
                url:
                  type: string
                  description: the webhook URL where the inbound messages will be published
        required: true
  /inbound/update-route:
    post:
      x-custom-config:
        methodNameCamel: updateRoute
        methodNameSnake: update_route
      summary: Update mailbox route
      description: Update the pattern or webhook of an existing inbound mailbox route. If null is provided for any fields, the values will remain unchanged.
      operationId: postInboundUpdateRoute
      tags:
      - inbound
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                description: the updated mailbox route information
                properties:
                  id:
                    type: string
                    description: the unique identifier of the route
                    example: '12.123456'
                  pattern:
                    type: string
                    description: the search pattern that the mailbox name should match
                    example: .*
                  url:
                    type: string
                    description: the webhook URL where inbound messages will be published
                    example: https://mydomain.com/webhook
            application/x-php:
              schema:
                type: object
                description: the updated mailbox route information
                properties:
                  id:
                    type: string
                    description: the unique identifier of the route
                    example: '12.123456'
                  pattern:
                    type: string
                    description: the search pattern that the mailbox name should match
                    example: .*
                  url:
                    type: string
                    description: the webhook URL where inbound messages will be published
                    example: https://mydomain.com/webhook
            application/x-yaml; charset=utf-8:
              schema:
                type: object
                description: the updated mailbox route information
                properties:
                  id:
                    type: string
                    description: the unique identifier of the route
                    example: '12.123456'
                  pattern:
                    type: string
                    description: the search pattern that the mailbox name should match
                    example: .*
                  url:
                    type: string
                    description: the webhook URL where inbound messages will be published
                    example: https://mydomain.com/webhook
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - key
              - id
              properties:
                key:
                  type: string
                  description: a valid api key
                id:
                  type: string
                  description: the unique identifier of an existing mailbox route
                pattern:
                  type: string
                  description: 'For email: The search pattern that the mailbox name should match. For SMS: the sender''s phone number (FROM number).  Null to leave unchanged'
                url:
                  type: string
                  description: 'the webhook URL where the inbound messages will be published; Validation: webhookexists'
        required: true
  /inbound/delete-route:
    post:
      x-custom-config:
        methodNameCamel: deleteRoute
        methodNameSnake: delete_route
      summary: Delete mailbox route
      description: Delete an existing inbound mailbox route.
      operationId: postInboundDeleteRoute
      tags:
      - inbound
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                description: the deleted mailbox route information
                properties:
                  id:
                    type: string
                    description: the unique identifier of the route
                    example: '12.123456'
                  pattern:
                    type: string
                    description: the search pattern that the mailbox name should match
                    example: .*
                  url:
                    type: string
                    description: the webhook URL where inbound messages will be published
                    example: https://mydomain.com/webhook
            application/x-php:
              schema:
                type: object
                description: the deleted mailbox route information
                properties:
                  id:
                    type: string
                    description: the unique identifier of the route
                    example: '12.123456'
                  pattern:
                    type: string
                    description: the search pattern that the mailbox name should match
                    example: .*
                  url:
                    type: string
                    description: the webhook URL where inbound messages will be published
                    example: https://mydomain.com/webhook
            application/x-yaml; charset=utf-8:
              schema:
                type: object
                description: the deleted mailbox route information
                properties:
                  id:
                    type: string
                    description: the unique identifier of the route
                    example: '12.123456'
                  pattern:
                    type: string
                    description: the search pattern that the mailbox name should match
                    example: .*
                  url:
                    type: string
                    description: the webhook URL where inbound messages will be published
                    example: https://mydomain.com/webhook
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - key
              - id
              properties:
                key:
                  type: string
                  description: a valid api key
                id:
                  type: string
                  description: the unique identifier of an existing route
        required: true
  /inbound/send-raw:
    post:
      x-custom-config:
        methodNameCamel: sendRaw
        methodNameSnake: send_raw
      summary: Send mime document
      description: Take a raw MIME document destined for a domain with inbound domains set up, and send it to the inbound hook exactly as if it had been sent over SMTP.
      operationId: postInboundSendRaw
      tags:
      - inbound
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                description: an array of the information for each recipient in the message (usually one) that matched an inbound route
                items:
                  type: object
                  description: the individual recipient information
                  properties:
                    email:
                      type: string
                      description: the email address of the matching recipient
                      example: user@example.com
                    pattern:
                      type: string
                      description: the mailbox route pattern that the recipient matched
                      example: .*
                    url:
                      type: string
                      description: the webhook URL that the message was posted to
                      example: https://mydomain.com/webhook
            application/x-php:
              schema:
                type: array
                description: an array of the information for each recipient in the message (usually one) that matched an inbound route
                items:
                  type: object
                  description: the individual recipient information
                  properties:
                    email:
                      type: string
                      description: the email address of the matching recipient
                      example: user@example.com
                    pattern:
                      type: string
                      description: the mailbox route pattern that the recipient matched
                      example: .*
                    url:
                      type: string
                      description: the webhook URL that the message was posted to
                      example: https://mydomain.com/webhook
            application/x-yaml; charset=utf-8:
              schema:
                type: array
                description: an array of the information for each recipient in the message (usually one) that matched an inbound route
                items:
                  type: object
                  description: the individual recipient information
                  properties:
                    email:
                      type: string
                      description: the email address of the matching recipient
                      example: user@example.com
                    pattern:
                      type: string
                      description: the mailbox route pattern that the recipient matched
                      example: .*
                    url:
                      type: string
                      description: the webhook URL that the message was posted to
                      example: https://mydomain.com/webhook
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - key
              - raw_message
              properties:
                key:
                  type: string
                  description: a valid api key
                raw_message:
                  type: string
                  description: the full MIME document of an email message
                to:
                  type: array
                  description: optionally define the recipients to receive the message - otherwise we'll use the To, Cc, and Bcc headers provided in the document
                  items:
                    type: string
                    description: the email address of the recipient
                    format: email
                mail_from:
                  type: string
                  description: the address specified in the MAIL FR

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mailchimp/refs/heads/main/openapi/mailchimp-inbound-api-openapi.yml