Skip to main content

Interface: MailroomClient

Defined in: packages/sdk/src/client.ts:38

The Mailroom API client. Build one with createClient() and reach the API through its resource properties; every method resolves to the response data and throws a typed MailroomError on failure.

Example

const mailroom = createClient({
apiKey: process.env.MAILROOM_API_KEY!,
baseUrl: "https://mailroom.example.com",
});

await mailroom.send({ to: "ada@example.com", template: "welcome", data: { name: "Ada" } });

Properties

PropertyModifierTypeDescriptionDefined in
campaignsreadonlyCampaignsResourceOne-off campaigns.packages/sdk/src/client.ts:53
contactsreadonlyContactsResourceContacts: upsert, read, filter, unsubscribe.packages/sdk/src/client.ts:43
enrollmentsreadonlyEnrollmentsResourceActive sequence enrollments (cancellation).packages/sdk/src/client.ts:49
eventsreadonlyEventsResourceProduct events that drive sequence triggers.packages/sdk/src/client.ts:47
segmentsreadonlySegmentsResourceSaved audience filters.packages/sdk/src/client.ts:51
sendsreadonlySendsResourceThe send log with delivery + engagement state.packages/sdk/src/client.ts:61
sequencesreadonlySequencesResourceLifecycle sequences and their flow graphs.packages/sdk/src/client.ts:45
suppressionsreadonlySuppressionsResourceThe do-not-send list.packages/sdk/src/client.ts:55
templatesreadonlyTemplatesResourceThe template registry and its content versions.packages/sdk/src/client.ts:59
webhooksreadonlyWebhooksResourceOutbound webhook endpoints.packages/sdk/src/client.ts:57

Methods

campaign()

campaign(input: CampaignInput, opts?: CallOptions): Promise<CampaignResult>;

Defined in: packages/sdk/src/client.ts:105

Create a campaign, injecting the client's default brand.

Parameters

ParameterType
inputCampaignInput
opts?CallOptions

Returns

Promise<CampaignResult>


health()

health(opts?: CallOptions): Promise<HealthResult>;

Defined in: packages/sdk/src/client.ts:110

Liveness check; returns the service name and the SDK version the API sees.

Parameters

ParameterType
opts?CallOptions

Returns

Promise<HealthResult>


send()

send(input: SendInput, opts?: CallOptions): Promise<SendResult>;

Defined in: packages/sdk/src/client.ts:96

Send one transactional or marketing email, rendering template with data. The client's defaultBrand is applied when the input omits brand.

Parameters

ParameterType
inputSendInput
opts?CallOptions

Returns

Promise<SendResult>


unsubscribe()

unsubscribe(contactId: string, opts?: CallOptions): Promise<{
id: string;
status: "unsubscribed";
}>;

Defined in: packages/sdk/src/client.ts:115

Programmatic opt-out by contact id (alias of contacts.unsubscribe).

Parameters

ParameterType
contactIdstring
opts?CallOptions

Returns

Promise<{ id: string; status: "unsubscribed"; }>