← All articles
WordPress Plugins
Mailster REST API Plugin Documentation
Documentation for automating Mailster email marketing with REST API endpoints for subscribers, campaigns, and lists.
Published March 5, 2024 · Updated October 14, 2025
mailsterrest-apiwordpressemail-marketingnewsletters
Mailster REST API Plugin Documentation
Overview
The Mailster REST API Plugin extends the Mailster email marketing plugin with powerful REST API endpoints for automating subscriber management, campaigns, and integrations.
Installation
- Ensure Mailster plugin is installed
- Purchase and install the REST API Plugin
- Activate the plugin
- Configure in Mailster > REST API Settings
Authentication
Use API keys for authentication:
Authorization: Bearer your-mailster-api-key
Generate keys in Mailster > REST API Settings > API Keys.
Endpoints
Subscribers
Get All Subscribers
GET /wp-json/mailster/v1/subscribers
Query parameters:
list_id: Filter by list IDstatus: Filter by status (active, unsubscribed, pending)per_page: Results per pagepage: Page number
Get Subscriber
GET /wp-json/mailster/v1/subscribers/{id}
Or by email:
GET /wp-json/mailster/v1/subscribers?email=user@example.com
Create Subscriber
POST /wp-json/mailster/v1/subscribers
Content-Type: application/json
{
"email": "newuser@example.com",
"firstname": "John",
"lastname": "Doe",
"status": "subscribed",
"lists": [1, 2]
}
Update Subscriber
PUT /wp-json/mailster/v1/subscribers/{id}
Content-Type: application/json
{
"firstname": "Jane",
"lists": [1, 2, 3]
}
Delete Subscriber
DELETE /wp-json/mailster/v1/subscribers/{id}
Lists
Get All Lists
GET /wp-json/mailster/v1/lists
Get List
GET /wp-json/mailster/v1/lists/{id}
Create List
POST /wp-json/mailster/v1/lists
Content-Type: application/json
{
"name": "Newsletter Subscribers",
"description": "Monthly newsletter list"
}
Campaigns
Get All Campaigns
GET /wp-json/mailster/v1/campaigns
Get Campaign
GET /wp-json/mailster/v1/campaigns/{id}
Get Campaign Statistics
GET /wp-json/mailster/v1/campaigns/{id}/stats
Returns:
{
"sent": 1500,
"opened": 450,
"clicked": 120,
"unsubscribed": 5,
"bounced": 10
}
Custom Fields
Get Custom Fields
GET /wp-json/mailster/v1/custom-fields
Create Custom Field
POST /wp-json/mailster/v1/custom-fields
Content-Type: application/json
{
"name": "Company",
"type": "textfield"
}
Bulk Operations
Bulk Subscribe
POST /wp-json/mailster/v1/subscribers/bulk
Content-Type: application/json
{
"subscribers": [
{
"email": "user1@example.com",
"firstname": "User",
"lastname": "One"
},
{
"email": "user2@example.com",
"firstname": "User",
"lastname": "Two"
}
],
"list_id": 1
}
Automation Triggers
Trigger automated campaigns:
POST /wp-json/mailster/v1/automation/trigger
Content-Type: application/json
{
"workflow_id": 5,
"subscriber_email": "user@example.com"
}
Webhooks
Configure webhooks for events:
- Subscriber added
- Subscriber unsubscribed
- Campaign sent
- Email bounced
- Link clicked
Integration Examples
Add Subscriber from Form
async function subscribeUser(email, name) {
const response = await fetch('/wp-json/mailster/v1/subscribers', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
body: JSON.stringify({
email: email,
firstname: name,
lists: [1]
})
});
return response.json();
}
Error Handling
Standard HTTP status codes:
200: Success201: Created400: Bad Request (validation error)401: Unauthorized404: Not Found409: Conflict (subscriber already exists)
Rate Limits
- 120 requests per minute per API key
- Bulk operations limited to 1000 items per request
Support
Need assistance?
- Contact our team
- Request custom integration development