Lettr::campaigns(). You get 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 / Schedule / Unschedule
CampaignSummary — if the API omits the campaign payload from the action response, the SDK transparently refetches it.
Send
POST /campaigns//send
Schedule
POST /campaigns//schedule
Unschedule
POST /campaigns//unschedule
What’s Next
Audience
Manage the contacts campaigns send to
API Reference
Full campaigns API reference