> ## Documentation Index
> Fetch the complete documentation index at: https://docs.campaigncleaner.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Add Monitor Domain

> The **monitor_add_domain** API adds a domain to your account. Publish the returned DNS TXT record, then call **monitor_verify_domain**. Freemail and shared sending domains (gmail.com, sendgrid.net, ...) can't be added.

Requires an active plan that includes Inbox Placement Monitor. API keys created by a team member with the **User** role can't make changes. Limit: 20 domains added an hour.
#### Header:
**X-CC-API-Key**: Your API Key
#### Request Body:
_Required:_
- **domain**: The domain you send **From**, e.g. example.com.
_Optional:_
- **alerts_only**: (true/**false**) True to verify the domain only so alerts can be sent to addresses at it (e.g. your company domain).
#### Response (201):
- **domain**: The new domain (same fields as **monitor_get_domains**), including the **dns_record** to publish.
- **next_step**: What to do next.



## OpenAPI

````yaml POST /v1/monitor_add_domain
openapi: 3.0.0
info:
  title: API DOCUMENTATION
  description: >-


    [Campaign Cleaner](https://campaigncleaner.com) is the leader in ensuring
    that your campaigns don't affect your IP and Domain reputation, it's the
    most advanced toolset you'll find that gives you all the tools you need to
    keep your campaigns within acceptable ratios of many email and spam
    filtering software and automatically fixes your HTML by sanitizing all
    non-email friendly attributes and inlines all your CSS to be compatible with
    every email client.


    We offer a robust collection of API's to allow you to integrate its
    functionality into your email marketing software and tools.


    The **{{api_key}}** is located in your account on [Campaign
    Cleaner](https://campaigncleaner.com) under **API Management API Keys.**


    The **Inbox Placement Monitor** endpoints (monitor_*) let you get the seed
    addresses, manage the domains you send from, read where every copy of your
    real campaigns landed, and manage placement alerts. They are included with
    The Works and the Inbox Placement Tester plan and don't use API credits.


    Use the navigation on the left to access the different API Endpoints.
  version: 1.0.0
servers:
  - url: https://api.campaigncleaner.com
security: []
tags:
  - name: Campaign Cleaner
    description: Campaign analysis, cleaning, credits and inbox placement tests.
  - name: Inbox Placement Monitor
    description: >-
      Track where your real campaigns land. Add the seed addresses to your
      normal sends, verify the domains you send from, then read placement per
      message or per provider and manage alerts. No API credits are used.
      Limits: 60 calls a minute per account and 120 a minute per client IP.
paths:
  /v1/monitor_add_domain:
    post:
      tags:
        - Inbox Placement Monitor
      summary: Add Monitor Domain
      description: >-
        The **monitor_add_domain** API adds a domain to your account. Publish
        the returned DNS TXT record, then call **monitor_verify_domain**.
        Freemail and shared sending domains (gmail.com, sendgrid.net, ...) can't
        be added.


        Requires an active plan that includes Inbox Placement Monitor. API keys
        created by a team member with the **User** role can't make changes.
        Limit: 20 domains added an hour.

        #### Header:

        **X-CC-API-Key**: Your API Key

        #### Request Body:

        _Required:_

        - **domain**: The domain you send **From**, e.g. example.com.

        _Optional:_

        - **alerts_only**: (true/**false**) True to verify the domain only so
        alerts can be sent to addresses at it (e.g. your company domain).

        #### Response (201):

        - **domain**: The new domain (same fields as **monitor_get_domains**),
        including the **dns_record** to publish.

        - **next_step**: What to do next.
      parameters:
        - name: X-CC-API-Key
          in: header
          schema:
            type: string
          example: '{{api_key}}'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  type: string
                alerts_only:
                  type: boolean
              example:
                domain: news.example.com
                alerts_only: false
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
              example:
                domain:
                  domain_id: 13
                  domain: news.example.com
                  purpose: monitor
                  status: pending
                  created_at: '2026-10-20T09:15:00Z'
                  verified_at: null
                  last_checked_at: null
                  message_count: 0
                  dns_record:
                    type: TXT
                    host: _cc-verify.news.example.com
                    value: cc-verify=3f9c0b1e7a5d4c2e9b8a7f6e5d4c3b2a
                next_step: Publish the DNS TXT record, then call monitor_verify_domain.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.