$lettr->campaigns() service gives you read access to your campaigns plus lifecycle actions — send now, schedule, and unschedule. Campaigns are created and edited in the Lettr dashboard; the API does not expose create, update, or delete.
Reads require an API key with the campaigns:read scope; actions (send, schedule, unschedule) require campaigns:write.
$campaign->status is a CampaignStatus enum for known values, or the raw string for any future status the SDK doesn’t yet recognize — so a server-side enum addition can never break deserialization. The same applies to $event->eventType (EventType|string).List Campaigns
API Reference
GET /campaigns
Get a Campaign
get() returns a CampaignDetail (a CampaignSummary plus the rendered htmlContent body):
API Reference
GET /campaigns/
List Campaign Events
Engagement events use cursor-based pagination:API Reference
GET /campaigns//events
Send Now
API Reference
POST /campaigns//send
Schedule / Reschedule
Accepts aDateTimeInterface (formatted to ISO-8601 with offset) or a raw string. Calling schedule() again on an already-scheduled campaign reschedules it.
API Reference
POST /campaigns//schedule
Unschedule
API Reference
POST /campaigns//unschedule
What’s Next
Audience
Manage the contacts campaigns send to
API Reference
Full campaigns API reference