broadcast-api
Reference documentation for Broadcast API (sendbroadcast.net) integration. Use when working with the Broadcast email provider, creating/updating broadcasts, managing subscribers, or debugging API issues.
$ Instalar
git clone https://github.com/aniketpanjwani/payload-plugin-email-newsletter /tmp/payload-plugin-email-newsletter && cp -r /tmp/payload-plugin-email-newsletter/.claude/skills/broadcast-api ~/.claude/skills/payload-plugin-email-newsletter// tip: Run this command in your terminal to install the skill
name: broadcast-api description: Reference documentation for Broadcast API (sendbroadcast.net) integration. Use when working with the Broadcast email provider, creating/updating broadcasts, managing subscribers, or debugging API issues.
<essential_principles>
- Broadcast is a self-hosted email marketing platform at sendbroadcast.net
- All API requests require Bearer token authentication
- Base URL is your Broadcast instance domain (not sendbroadcast.net)
- API responses use standard HTTP status codes </essential_principles>
<quick_reference>
Authentication:
Authorization: Bearer YOUR_ACCESS_TOKEN
Base endpoints:
-
GET /api/v1/broadcasts- List broadcasts -
POST /api/v1/broadcasts- Create broadcast -
GET /api/v1/broadcasts/:id- Get broadcast -
PATCH /api/v1/broadcasts/:id- Update broadcast -
DELETE /api/v1/broadcasts/:id- Delete broadcast -
POST /api/v1/broadcasts/:id/send_broadcast- Send broadcast -
GET /api/v1/subscribers.json- List subscribers -
GET /api/v1/subscribers/find.json?email=- Find subscriber -
POST /api/v1/subscribers.json- Create subscriber -
PATCH /api/v1/subscribers.json- Update subscriber -
POST /api/v1/subscribers/unsubscribe.json- Unsubscribe -
POST /api/v1/subscribers/resubscribe.json- Resubscribe
Broadcast statuses:
draft | scheduled | queueing | sending | sent | failed | partial_failure | aborted | paused
</quick_reference>
Read the appropriate reference file based on what you're working on.
<common_issues>
401 Unauthorized:
- Token expired or revoked
- Token lacks required permissions (Read vs Write)
- Missing
Bearerprefix in Authorization header
404 Not Found:
- Broadcast/subscriber doesn't exist
- Wrong base URL (using sendbroadcast.net instead of your instance)
422 Unprocessable Entity:
- Missing required fields (subject, body for broadcasts)
- Invalid email format for subscribers
- Trying to update a sent broadcast
Body format for broadcasts:
- Must be valid HTML
- Use
<br>for line breaks,<p>for paragraphs - Don't include
<html>,<head>,<body>tags - Broadcast wraps content automatically </common_issues>
<integration_notes>
In this plugin, the Broadcast provider is at src/providers/broadcast/broadcast.ts
Key configuration:
{
baseUrl: 'https://your-broadcast-instance.com',
token: 'your_access_token',
fromEmail: 'newsletter@yourdomain.com',
fromName: 'Your Name',
replyTo: 'reply@yourdomain.com'
}
The plugin creates broadcasts in Payload first, then syncs to Broadcast on first update with content (subject + body). </integration_notes>
<success_criteria>
- API calls use correct endpoints and methods
- Authentication header is properly formatted
- Request bodies match expected schema
- Error responses are handled appropriately </success_criteria>
Repository
