Email APIs
Newsletters, compose emails, templates, and subscribers
Email APIs
Endpoints for managing newsletters, composing custom emails, managing email templates, and subscriber lists.
Base URL: https://ycwadelaide.adenmgb.com
Authentication: All endpoints require Authorization: Bearer <token> header.
Quick Links
- Newsletters API - Create and send newsletters
- Compose Emails API - Send custom emails
- Email Templates API - Manage reusable templates
- Subscribers API - Manage subscriber list
Newsletters API
GET /api/staff/newsletters
Retrieve all newsletters (draft, scheduled, and sent).
Response:
Notes:
- Results ordered by
created_atDESC statuscan be:"draft","scheduled", or"sent"- Sent newsletters cannot be edited
- Approval workflow applies (see Approval APIs)
POST /api/staff/newsletters
Create a new newsletter.
Request Body:
Important: All new newsletters are created as draft. Sending requires approval workflow.
PUT /api/staff/newsletters/:id
Update an existing newsletter (draft or scheduled only).
Request Body: (Same as POST, all fields optional)
Note: Sent newsletters cannot be edited.
POST /api/staff/newsletters/:id/send
Send a newsletter immediately to all active subscribers.
Success Response:
Notes:
- Newsletter must be approved before sending
- Sends to all subscribers with
status: "subscribed" - Newsletter status changes to
"sent"
POST /api/staff/newsletters/:id/schedule
Schedule a newsletter for future sending.
Request Body:
Notes:
- Newsletter must be approved before scheduling
- Newsletter status changes to
"scheduled" - Sends automatically at scheduled time
Compose Emails API
GET /api/staff/compose-emails
Retrieve all compose emails (draft, scheduled, and sent).
Response:
Notes:
- Results ordered by
created_atDESC recipient_emailsis an array of email addresses- Sent emails cannot be edited
POST /api/staff/compose-emails
Create a new compose email.
Request Body:
Required Fields:
subject- Email subject linehtml_content- HTML email contentrecipient_emails- Array of at least one email address
POST /api/staff/compose-emails/:id/send
Send a compose email immediately.
Success Response:
Notes:
- Sends to all emails in
recipient_emailsarray - Email status changes to
"sent"
Email Templates API
GET /api/staff/email-templates
Retrieve all email templates, optionally filtered by category.
Query Parameters:
category(optional) - Filter by category (e.g., "newsletter", "invite")
Response:
Notes:
- Results ordered by
created_atDESC variablesis comma-separated list of available template variables- Use
{{variable}}syntax in templates
POST /api/staff/email-templates
Create a new email template.
Request Body:
Template Variables:
- Use
{{variable}}syntax - Variables are replaced when template is used
- Common variables:
{{name}},{{email}},{{content}},{{unsubscribe}}
PUT /api/staff/email-templates/:id
Update an existing template.
Request Body: (Same as POST, all fields optional)
DELETE /api/staff/email-templates/:id
Delete an email template.
Subscribers API
GET /api/staff/newsletter-subscribers
Retrieve all newsletter subscribers, optionally filtered by status.
Query Parameters:
status(optional) - Filter by status:"subscribed"or"unsubscribed"
Response:
Notes:
- Results ordered by
created_atDESC nameis optionalsourceindicates where subscription came from
POST /api/staff/newsletter-subscribers
Add a new subscriber.
Request Body:
Required Fields:
email- Valid email address
Notes:
- Email must be unique
- If email already exists, returns existing subscriber
- Default
statusis"subscribed"
PUT /api/staff/newsletter-subscribers/:id
Update subscriber information.
Request Body:
Notes:
- Can update name and status
- Setting
status: "unsubscribed"setsunsubscribedAttimestamp
DELETE /api/staff/newsletter-subscribers/:id
Delete a subscriber.
Notes:
- This action cannot be undone
- Consider unsubscribing instead of deleting
Public Endpoints
POST /api/newsletter/subscribe
Public endpoint to subscribe to newsletter (no authentication required).
Request Body:
Success Response:
POST /api/newsletter/unsubscribe
Public endpoint to unsubscribe from newsletter.
Request Body:
Success Response:
Related Guides
- Approval APIs - Newsletter approval workflow
- Public APIs - Public newsletter endpoints