{
  "info": {
    "name": "Dynosend — mcp.ai",
    "description": "REST API for the Dynosend MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/dynosend",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "dynosend_add_email_to_blacklist",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/add/email/to/blacklist",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "add",
            "email",
            "to",
            "blacklist"
          ]
        },
        "description": "Permanently add an email address to the Dynosend blacklist. This cannot be undone through the Dynosend API because Dynosend exposes no removal operation.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"email\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "dynosend_add_tags_to_contact",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/add/tags/to/contact",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "add",
            "tags",
            "to",
            "contact"
          ]
        },
        "description": "Append one or more tags to a contact without replacing its existing tags.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"tags\": \"\",\n  \"email\": \"\",\n  \"contact_uid\": \"\",\n  \"audience_uid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "dynosend_check_blacklist",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/check/blacklist",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "check",
            "blacklist"
          ]
        },
        "description": "Check whether an email address is on the connected Dynosend account's blacklist and return its timestamp and reason when available.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"email\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "dynosend_create_contact",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/contact",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "contact"
          ]
        },
        "description": "Create a contact in an audience, optionally assigning tags and audience-defined custom fields. Can bypass double opt-in when explicitly requested.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"tags\": \"\",\n  \"email\": \"\",\n  \"audience_uid\": \"\",\n  \"custom_fields\": {},\n  \"ignore_double_opt_in\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "dynosend_delete_contact",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/contact",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "contact"
          ]
        },
        "description": "Permanently delete one contact from an audience for GDPR/CCPA erasure. This destructive operation cannot be undone.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"email\": \"\",\n  \"contact_uid\": \"\",\n  \"audience_uid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "dynosend_find_duplicate_contacts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/find/duplicate/contacts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "find",
            "duplicate",
            "contacts"
          ]
        },
        "description": "Find contacts that use the same email address across all audiences in the connected Dynosend account.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"email\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "dynosend_get_audience",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/audience",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "audience"
          ]
        },
        "description": "Get one audience's configuration, custom-field definitions, contact information, and subscription statistics by audience UID.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"audience_uid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "dynosend_get_campaign",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/campaign",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "campaign"
          ]
        },
        "description": "Get one campaign's configuration and delivery, open, click, spam, bounce, and unsubscribe insights.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"campaign_uid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "dynosend_get_contact",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/contact",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "contact"
          ]
        },
        "description": "Get one contact in an audience by contact UID or email address.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"email\": \"\",\n  \"contact_uid\": \"\",\n  \"audience_uid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "dynosend_list_audiences",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/audiences",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "audiences"
          ]
        },
        "description": "List audiences available to the connected Dynosend account, including the UID needed by audience and contact tools.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "dynosend_list_campaigns",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/campaigns",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "campaigns"
          ]
        },
        "description": "List campaigns in the connected Dynosend account, including status and the campaign UID used by campaign tools.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "dynosend_list_contacts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/contacts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "contacts"
          ]
        },
        "description": "Return one page of contacts in a Dynosend audience, including contact UIDs, subscription status, tags, and audience-defined custom-field values.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"page\": 0,\n  \"per_page\": 0,\n  \"audience_uid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "dynosend_record_contact_event",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/record/contact/event",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "record",
            "contact",
            "event"
          ]
        },
        "description": "Record an application event for a contact in an audience. Dynosend stores the event persistently for automations and segmentation, and its API does not provide an operation to delete recorded events.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"email\": \"\",\n  \"event_name\": \"\",\n  \"contact_uid\": \"\",\n  \"audience_uid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "dynosend_send_transactional_message",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/send/transactional/message",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "send",
            "transactional",
            "message"
          ]
        },
        "description": "Send a configured Dynosend transactional message. This immediately sends email and may create the recipient as a new Dynosend contact if the address is unknown.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"subject\": \"\",\n  \"html_body\": \"\",\n  \"recipient\": \"\",\n  \"text_body\": \"\",\n  \"custom_tags\": \"\",\n  \"content_mode\": \"\",\n  \"custom_headers\": \"\",\n  \"transactional_uid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "dynosend_set_campaign_delivery_state",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/set/campaign/delivery/state",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "set",
            "campaign",
            "delivery",
            "state"
          ]
        },
        "description": "Pause a sending campaign or resume a paused campaign by setting its delivery state to paused or sending. Resuming can send queued emails to campaign recipients; this does not start a ready campaign.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"state\": \"\",\n  \"campaign_uid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "dynosend_set_contact_subscription_status",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/set/contact/subscription/status",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "set",
            "contact",
            "subscription",
            "status"
          ]
        },
        "description": "Set a contact's subscription status to subscribed or unsubscribed in an audience.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"email\": \"\",\n  \"status\": \"\",\n  \"contact_uid\": \"\",\n  \"audience_uid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "dynosend_start_campaign",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/start/campaign",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "start",
            "campaign"
          ]
        },
        "description": "Start a ready broadcast campaign. This immediately sends email to all campaign recipients and cannot be undone.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"campaign_uid\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "dynosend_update_contact",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/contact",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "contact"
          ]
        },
        "description": "Update a contact's email, replace its complete tag set, or set audience-defined custom fields.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"tags\": \"\",\n  \"new_email\": \"\",\n  \"contact_uid\": \"\",\n  \"audience_uid\": \"\",\n  \"current_email\": \"\",\n  \"custom_fields\": {}\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}