{
  "info": {
    "name": "Campayn — mcp.ai",
    "description": "REST API for the Campayn 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/campayn",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "campayn_create_contact",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/contact",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "contact"
          ]
        },
        "description": "Tool to create a new contact in a specific list. Use when you need to add a contact after gathering details.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"zip\": \"\",\n  \"city\": \"\",\n  \"email\": \"\",\n  \"sites\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"phones\": \"\",\n  \"social\": \"\",\n  \"address\": \"\",\n  \"company\": \"\",\n  \"country\": \"\",\n  \"list_id\": 0,\n  \"last_name\": \"\",\n  \"first_name\": \"\",\n  \"custom_fields\": \"\",\n  \"failOnDuplicate\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "campayn_delete_contact",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/contact",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "contact"
          ]
        },
        "description": "Tool to delete a specific contact. Use when you need to remove a contact permanently after confirming it should be deleted. Example: \"Delete contact 123\".",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"contact_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "campayn_delete_list",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/list",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "list"
          ]
        },
        "description": "Tool to delete a specific contact list. Use when cleaning up unused lists after confirming they are no longer needed. Example: \"Delete list 123\".",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"list_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "campayn_delete_webform",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/webform",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "webform"
          ]
        },
        "description": "Delete a specific webform from a contact list. Use this to permanently remove a webform that is no longer needed. Requires both the list_id and webform_id - use Get Webforms action first to find these",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"list_id\": 0,\n  \"webform_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "campayn_get_contact",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/contact",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "contact"
          ]
        },
        "description": "Tool to retrieve a specific contact by ID. Use when you need to fetch full contact details after confirming the contact ID.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"contact_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "campayn_get_contacts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/contacts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "contacts"
          ]
        },
        "description": "Retrieves all contacts from a specific contact list in Campayn. Returns contact details including email, name, address, and confirmation status. Use 'Get Lists' action first to obtain the list_id. Sup",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"list_id\": 0,\n  \"filter_contact\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "campayn_get_lists",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/lists",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "lists"
          ]
        },
        "description": "Tool to retrieve all contact lists. Use when you need to fetch available lists before performing list-specific actions. Example prompt: \"List all my contact lists\".",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "campayn_get_message",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/message",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "message"
          ]
        },
        "description": "Tool to retrieve engagement statistics for a specific email message by ID. Returns views, positive responses (clicks), and negative responses (unsubscribes/bounces). Use GET_MESSAGES first to get the ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"message_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "campayn_get_messages",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/messages",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "messages"
          ]
        },
        "description": "Tool to retrieve all email messages. Use when you need to list all messages visible to the authenticated user.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "campayn_get_reports",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/reports",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "reports"
          ]
        },
        "description": "Tool to retrieve report URLs and metadata for sent and scheduled emails. Use when you need to fetch email delivery data, optionally filtered by a date range (Unix timestamp in seconds, UTC). Note: sch",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"to\": 0,\n  \"from_time\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "campayn_get_webform",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/webform",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "webform"
          ]
        },
        "description": "Tool to retrieve details of a specific webform by ID. Use after confirming the webform ID when you need to fetch form details like title, type, HTML, and signup count. Example: \"Get webform 1550\".",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"list_id\": 0,\n  \"webform_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "campayn_get_webforms",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/webforms",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "webforms"
          ]
        },
        "description": "Tool to retrieve all webforms for a specific contact list. Use when you need to list forms after confirming the list ID. Example prompt: \"List all webforms in list 123\".",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"list_id\": 0,\n  \"filter_form_type\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "campayn_unsubscribe_contact",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/unsubscribe/contact",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "unsubscribe",
            "contact"
          ]
        },
        "description": "Tool to unsubscribe contacts from a list by contact id or email address. Use when you need to remove contacts from a mailing list. If id is provided, only that specific contact will be unsubscribed. I",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"id\": \"\",\n  \"email\": \"\",\n  \"list_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "campayn_update_list",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/list",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "list"
          ]
        },
        "description": "Tool to update a contact list. Use after confirming list ID and desired changes. Example: Update list 123 name to 'Newsletter Subscribers'.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"tags\": \"\",\n  \"list_id\": 0,\n  \"list_name\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}