4.0 KiB
4.0 KiB
MailerLite Routing Reference
App name: mailerlite
Base URL proxied: connect.mailerlite.com
API Path Pattern
/mailerlite/api/{resource}
Common Endpoints
Subscribers
List Subscribers
GET /mailerlite/api/subscribers
Query parameters: filter[status], limit, cursor, include
Get Subscriber
GET /mailerlite/api/subscribers/{subscriber_id_or_email}
Create/Upsert Subscriber
POST /mailerlite/api/subscribers
Content-Type: application/json
{
"email": "subscriber@example.com",
"fields": {"name": "John Doe"},
"groups": ["12345678901234567"],
"status": "active"
}
Update Subscriber
PUT /mailerlite/api/subscribers/{subscriber_id}
Content-Type: application/json
{
"fields": {"name": "Jane Doe"}
}
Delete Subscriber
DELETE /mailerlite/api/subscribers/{subscriber_id}
Groups
List Groups
GET /mailerlite/api/groups
Query parameters: limit, page, filter[name], sort
Create Group
POST /mailerlite/api/groups
Content-Type: application/json
{
"name": "Newsletter Subscribers"
}
Update Group
PUT /mailerlite/api/groups/{group_id}
Content-Type: application/json
{
"name": "Updated Group Name"
}
Delete Group
DELETE /mailerlite/api/groups/{group_id}
Get Group Subscribers
GET /mailerlite/api/groups/{group_id}/subscribers
Campaigns
List Campaigns
GET /mailerlite/api/campaigns
Query parameters: filter[status], filter[type], limit, page
Get Campaign
GET /mailerlite/api/campaigns/{campaign_id}
Create Campaign
POST /mailerlite/api/campaigns
Content-Type: application/json
{
"name": "My Newsletter",
"type": "regular",
"emails": [
{
"subject": "Weekly Update",
"from_name": "Newsletter",
"from": "newsletter@example.com"
}
],
"groups": ["12345678901234567"]
}
Schedule Campaign
POST /mailerlite/api/campaigns/{campaign_id}/schedule
Content-Type: application/json
{
"delivery": "instant"
}
Delete Campaign
DELETE /mailerlite/api/campaigns/{campaign_id}
Automations
List Automations
GET /mailerlite/api/automations
Query parameters: filter[enabled], filter[name], page, limit
Get Automation
GET /mailerlite/api/automations/{automation_id}
Delete Automation
DELETE /mailerlite/api/automations/{automation_id}
Fields
List Fields
GET /mailerlite/api/fields
Create Field
POST /mailerlite/api/fields
Content-Type: application/json
{
"name": "Company",
"type": "text"
}
Segments
List Segments
GET /mailerlite/api/segments
Get Segment Subscribers
GET /mailerlite/api/segments/{segment_id}/subscribers
Forms
List Forms
GET /mailerlite/api/forms/{type}
Path parameters: type - popup, embedded, or promotion
Get Form Subscribers
GET /mailerlite/api/forms/{form_id}/subscribers
Webhooks
List Webhooks
GET /mailerlite/api/webhooks
Create Webhook
POST /mailerlite/api/webhooks
Content-Type: application/json
{
"name": "Subscriber Updates",
"events": ["subscriber.created", "subscriber.updated"],
"url": "https://example.com/webhook"
}
Notes
- Rate limit: 120 requests per minute
- Subscriber emails serve as unique identifiers (POST creates or updates existing)
- Only draft campaigns can be updated
- Pagination: cursor-based for subscribers, page-based for groups/campaigns
- API versioning can be overridden via
X-Version: YYYY-MM-DDheader