Skip to main content

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

ParameterType
idstring
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

ParameterType
inputCampaignInput
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

ParameterType
idstring
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

ParameterType
opts?CallOptions

Returns

Promise<CampaignRecord[]>