canonical: https://jentic.com/apis/mailerlite.com/mailerlite

# MailerLite API

MailerLite is an email marketing platform with a REST API for managing subscribers, campaigns, and activity tracking. The 16-endpoint API covers subscriber lifecycle (create, update, delete, GDPR forget), campaign creation and scheduling, and per-campaign subscriber-activity reporting. Authentication is a bearer token issued from the MailerLite dashboard.

## For AI agents

Manage MailerLite subscribers and campaigns programmatically - create or update subscribers, schedule campaigns, and pull subscriber activity reports across 16 endpoints.

## Scope

Does not send transactional email, run SMS campaigns, or build forms - use for MailerLite subscriber and campaign management only.

## Capabilities

- Create or update subscribers in a single upsert call against /subscribers
- Schedule a draft campaign for delivery at a specified send time
- Cancel a scheduled campaign before it goes out
- Pull a subscriber activity log for compliance and engagement analysis
- Run a GDPR-compliant subscriber forget operation
- Track import job progress through GET `/subscribers/import/{importId}`

## Use cases

### Subscriber Sync from a Web App

Sync newly registered users from a SaaS app into MailerLite as subscribers without writing a separate ETL job. The single POST /subscribers endpoint behaves as an upsert keyed on email, so the same call can be used at signup and on subsequent profile updates. Operations on `/subscribers/{subscriberId}` cover edits and deletes as user records change.

Example prompt: POST /subscribers with email=jane@example.com and fields.name=Jane to upsert the subscriber, then verify status=200.

### Campaign Scheduling Automation

Automate the creation, scheduling, and cancellation of MailerLite campaigns from a content-ops workflow. POST /campaigns creates a draft, PUT updates content, and POST `/campaigns/{campaignId}/schedule` queues delivery at a specified send time, while POST `/campaigns/{campaignId}/cancel` pulls a campaign back if a content issue is found before send.

Example prompt: Create a campaign with subject "Spring sale", PUT updated HTML content, then POST `/campaigns/{campaignId}/schedule` with send_at set to tomorrow 09:00 Europe/Dublin.

### Engagement Reporting

Pull per-subscriber activity from a campaign to feed downstream analytics or to trigger sales follow-up. GET `/campaigns/{campaignId}/reports/subscriber-activity` returns opens and clicks for each subscriber on the campaign, and GET `/subscribers/{subscriberId}/activity-log` returns the lifetime activity history for a contact.

Example prompt: Call `/campaigns/12345/reports/subscriber-activity` and return the list of subscribers who opened the campaign three or more times.

### Agent-Driven Lifecycle Email

An AI agent that runs an onboarding sequence can create or update subscribers in MailerLite through Jentic, schedule a follow-up campaign, and pull engagement data to decide whether to send a manual outreach. The bearer token is held by Jentic, so the agent never sees the raw secret while still driving the full lifecycle.

Example prompt: Upsert a new trial signup into MailerLite, then schedule an onboarding campaign to send 24 hours later, and report the campaign id back to the orchestrator.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/subscribers` | Create or update a subscriber |
| GET | `/subscribers/{subscriberId}` | Get a subscriber by ID or email |
| POST | `/subscribers/{subscriberId}/forget` | GDPR-compliant subscriber deletion |
| POST | `/campaigns` | Create a campaign draft |
| POST | `/campaigns/{campaignId}/schedule` | Schedule or send a campaign |
| POST | `/campaigns/{campaignId}/cancel` | Cancel a scheduled campaign |
| GET | `/campaigns/{campaignId}/reports/subscriber-activity` | Pull per-subscriber campaign activity |

## Key resources

- **Subscribers** — Subscriber records with create, read, update, delete, GDPR-forget, and activity-log operations
- **Campaigns** — Email campaigns with draft creation, schedule, cancel, and report operations
- **Imports** — Asynchronous bulk-subscriber import job tracking

## Why Jentic

- **Setup:** Wiring the MailerLite API by hand means managing its bearer token, targeting the connect.mailerlite.com host, and tracking its subscriber and campaign endpoints yourself. Through Jentic you install once, import MailerLite from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** MailerLite puts the subscriber and campaign ids in the URL path (`/subscribers/{subscriberId}`, `/campaigns/{campaignId}/schedule`), so a rule can pin your agent to one subscriber or campaign. You choose the operations it may call, so destructive ones like the forget request or a campaign cancel are not included unless you add them.
- **Credential handling:** Your MailerLite API token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'add a subscriber' or 'schedule a campaign', and Jentic returns the matching MailerLite operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **SendGrid Marketing Campaigns** — Marketing campaign API from SendGrid covering campaign creation, scheduling, and stats.
- **Brevo (formerly Sendinblue)** — Email marketing and transactional API with subscriber, campaign, and SMS features.
- **ConvertKit (Kit) API** — Email marketing API targeted at creators with subscribers, sequences, and tags.
- **mailboxlayer** — Real-time email validation that pairs naturally with a marketing send.

## FAQ

### What authentication does the MailerLite API use?

The MailerLite API uses bearer token authentication via the bearerAuth scheme. Generate the token from the MailerLite dashboard and send it in the Authorization header as Bearer {token}. Through Jentic the token is stored encrypted in the vault and injected at execution time.

### Can I create or update subscribers with one call?

Yes. POST /subscribers behaves as an upsert keyed on email. The same call creates a new subscriber if the address is unknown and updates the existing record if it already exists, which is convenient for keeping a SaaS user table in sync.

### What are the rate limits for the MailerLite API?

MailerLite enforces account-level rate limits documented at developers.mailerlite.com (typically 120 requests per minute). The OpenAPI spec does not encode the limit, so consult the developer docs for the current ceiling and watch for 429 responses to back off.

### How do I schedule a campaign through Jentic?

Search Jentic for "schedule a mailerlite campaign" to load POST `/campaigns/{campaignId}/schedule`, then execute with the campaign id and a send_at timestamp. Use POST `/campaigns/{campaignId}/cancel` to pull the campaign back before send if needed.

### Does MailerLite support GDPR subscriber deletion?

Yes. POST `/subscribers/{subscriberId}/forget` triggers a GDPR-compliant deletion that removes the subscriber and associated activity history rather than a soft unsubscribe. Use it when responding to data subject erasure requests.

### Is the MailerLite API free to use?

MailerLite includes API access on the free plan up to the standard subscriber limit; higher plans raise both subscriber and monthly send caps. There is no separate API fee.

### Can I limit what my agent is allowed to do with the MailerLite API?

Yes. Because you run Jentic One yourself, your own rules decide which MailerLite operations and credentials the agent may use, so you can allow read-only calls like GET `/subscribers/{subscriberId}` while withholding destructive ones such as the POST `/subscribers/{subscriberId}/forget` deletion or a campaign cancel. Since MailerLite puts the subscriber and campaign ids in the URL path (`/subscribers/{subscriberId}`, `/campaigns/{campaignId}/schedule`), you can also pin the agent to a single subscriber or campaign rather than the whole account. The agent can only call the endpoints you have explicitly added, and the bearer token stays with your instance and is injected at execution time.
