Skip to main content
Contacts, lists, campaign templates and campaigns are resources of the Management API, with commands in the CLI and tools in the MCP server. Two things stay in the dashboard: defining custom fields, under Marketing > Contact fields, and editing Simple Editor designs. The dashboard, the API, the CLI and the MCP server all work on the same data, so a contact pushed from your app shows up in the dashboard at once, and a campaign drafted by an AI tool is there for you to review.

Typical Automations

API

The Campaigns API overview walks through a campaign from draft to report, with the statuses, the issues and the idempotency rules. The Contacts API and Lists API overviews explain contacts, memberships and consent. You need an API key with the contacts, lists, campaigns and, for templates, templates scopes; legacy v1 keys cannot be used. See permission scopes. The official Node.js and Go SDKs cover these endpoints.

CLI

The CLI has a command group for each resource: ahasend contacts, ahasend lists and ahasend campaigns, the last one including campaigns templates. Use them for scripts and one-off jobs, such as a nightly import from your database or a test send from a deploy pipeline.

MCP Server

With the MCP server, an AI tool such as Claude, ChatGPT or Cursor can do the same work in plain language: build a list from an export you hand it, import an MJML file as a template, fill a campaign from your blog posts, send you a test and schedule the send. Connect the tool with the Marketer preset, which reads everything and manages templates, contacts, lists and campaigns. Important to know: a campaign only goes out after your consent. Before the agent sends or schedules one, your AI tool shows you the send time, the number of contacts, the name, the subject, the sender and the lists, and nothing is sent until you say yes. Also, a design made in the Simple Editor can be changed only in the dashboard.