REST API Reference
Namespace: /wp-json/omailer/v1/
Authentication
Two methods supported:
- WordPress Application Passwords — create under your WP user profile; use HTTP Basic Auth (
username:application_password) - OMailer API Key — set
X-OMailer-Key: omk_yourkeyhereheader; generate from OMailer → Settings → API
Endpoints
Subscribers
GET /subscribers List subscribers (pagination, search, status filter)
POST /subscribers Create subscriber
GET /subscribers/{id} Get subscriber by ID
PUT /subscribers/{id} Update subscriber
DELETE /subscribers/{id} Delete subscriber
POST /subscribers/{id}/tags Assign tags { tag_ids: [1,2,3] }
DELETE /subscribers/{id}/tags/{tag_id} Remove a tag
Lists
GET /lists Get all mailing lists
POST /lists Create a list { name, description }
DELETE /lists/{id} Delete a list
Campaigns
GET /campaigns List campaigns
POST /campaigns Create campaign
GET /campaigns/{id} Get campaign + stats
PUT /campaigns/{id} Update campaign
DELETE /campaigns/{id} Delete campaign
POST /campaigns/{id}/send Send or schedule campaign
Tags
GET /tags List all tags
POST /tags Create tag { name }
DELETE /tags/{id} Delete tag
Segments
GET /segments List all segments
Events (Inbound — API key required)
POST /events Inbound event
{ email, event: 'subscribe'|'unsubscribe'|'tag'|'untag', tag_slug? }
Stats
GET /stats Dashboard stats (subscriber counts, recent campaigns)
Example Request
bashcurl -X POST https://yoursite.com/wp-json/omailer/v1/subscribers \
-H "X-OMailer-Key: omk_abc123" \
-H "Content-Type: application/json" \
-d '{ "email": "new@example.com", "first_name": "Jane", "list_id": 3 }'