Interface: CampaignsResource
Defined in: packages/sdk/src/resources/campaigns.ts:27
One-off sends to an audience (a segment, a tag, everyone, or an explicit list), optionally scheduled and optionally A/B split.
Example
const campaign = await mailroom.campaigns.create({
name: "Spring sale",
template: "sale",
subject: "20% off this week",
audience: { mode: "tag", tag: "vip" },
scheduleAt: "2026-08-01T15:00:00Z",
});
await mailroom.campaigns.cancel(campaign.campaignId); // stops pending jobs
Methods
cancel()
cancel(id: string, opts?: CallOptions): Promise<CancelCampaignResult>;
Defined in: packages/sdk/src/resources/campaigns.ts:38
Cancel a scheduled or in-flight campaign; already-sent emails are unaffected.
Parameters
| Parameter | Type |
|---|---|
id | string |
opts? | CallOptions |
Returns
Promise<CancelCampaignResult>
create()
create(input: CampaignInput, opts?: CallOptions): Promise<CampaignResult>;
Defined in: packages/sdk/src/resources/campaigns.ts:29
Create a campaign and enqueue it. Sends immediately unless scheduleAt is set.
Parameters
| Parameter | Type |
|---|---|
input | CampaignInput |
opts? | CallOptions |
Returns
Promise<CampaignResult>
get()
get(id: string, opts?: CallOptions): Promise<CampaignRecord>;
Defined in: packages/sdk/src/resources/campaigns.ts:35
One campaign by id, including per-variant status and counters.
Parameters
| Parameter | Type |
|---|---|
id | string |
opts? | CallOptions |
Returns
Promise<CampaignRecord>
list()
list(opts?: CallOptions): Promise<CampaignRecord[]>;
Defined in: packages/sdk/src/resources/campaigns.ts:32
Campaigns for the project, newest first, with their engagement counters.
Parameters
| Parameter | Type |
|---|---|
opts? | CallOptions |
Returns
Promise<CampaignRecord[]>