Files
2026-04-11 09:45:12 -05:00

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-DD header

Resources