Subscriber Management¶
Manage subscribers and their preferences via the API. All subscribers are scoped to the organization associated with the API key used for authentication.
Organization Scope
Every subscriber belongs to exactly one organization. The organization_id is automatically determined from your API key -- you never need to specify it explicitly. All list, get, update, and delete operations are filtered to your organization's subscribers only.
Subscriber Limits by Tier¶
| Tier | Subscriber Limit |
|---|---|
| Free | 500 |
| Starter | 5,000 |
| Professional | 50,000 |
Exceeding the subscriber limit returns a 403 Forbidden with error code limit_exceeded.
Creating a Subscriber¶
The subscriber is automatically associated with the organization that owns the API key.
Retrieving Subscribers¶
Single Subscriber¶
Only returns the subscriber if it belongs to your organization.
By Email¶
List with Filters¶
| Bash | |
|---|---|
All list queries are automatically filtered to your organization's subscribers.
Updating a Subscriber¶
| Bash | |
|---|---|
Partial Updates
PATCH requests only update the specified fields. Fields not included remain unchanged.
Managing Tags¶
Adding Tags¶
| Bash | |
|---|---|
Removing Tags¶
| Bash | |
|---|---|
Replacing Tags¶
| Bash | |
|---|---|
Status Management¶
Status Values¶
stateDiagram-v2
[*] --> active: Subscriber created
active --> unsubscribed: Unsubscribe
active --> bounced: Bounce Event
active --> complained: Spam Complaint
unsubscribed --> active: Resubscribe
bounced --> active: Email corrected | Status | Description | Receives Emails |
|---|---|---|
active | Active subscriber | Yes |
unsubscribed | Unsubscribed | No |
bounced | Email undeliverable | No |
complained | Spam complaint | No |
Changing Status¶
| Bash | |
|---|---|
Bulk Operations¶
Bulk Import¶
| Bash | |
|---|---|
Tier Limits
Bulk imports that would exceed your tier's subscriber limit will be partially rejected. The response indicates which subscribers were created and which were skipped.
Bulk Tag Update¶
| Bash | |
|---|---|
Deleting a Subscriber¶
Soft Delete¶
Hard Delete (GDPR)¶
Permanent Delete
With permanent=true, all data is irrevocably deleted, including history. This is intended for GDPR deletion requests.
Subscription History¶
Retrieve the change history:
Response:
| JSON | |
|---|---|
Best Practices¶
- Double opt-in: Confirm new subscribers via email
- Use metadata: Store relevant contextual data
- Tags over status: Use tags for segmentation
- Check history: Consult the history for support inquiries
- Monitor limits: Track subscriber count against your tier limit via
GET /api/v1/billing/usage