Skip to main content

Interface: WebhooksResource

Defined in: packages/sdk/src/resources/webhooks.ts:27

Outbound webhook endpoints: where Mailroom POSTs signed events. Verify the events you receive with constructEvent from this package.

Example

const { endpoint, secret } = await mailroom.webhooks.create({
url: "https://app.example.com/hooks/mailroom",
events: ["email.bounced", "contact.unsubscribed"], // omit for all events
});
// `secret` is returned once — store it now, you cannot read it back.

await mailroom.webhooks.ping(endpoint.id);
const log = await mailroom.webhooks.deliveries(endpoint.id, { limit: 25 });

Methods

create()

create(input: {
events?: string[];
secret?: string;
url: string;
}, opts?: CallOptions): Promise<CreateWebhookResult>;

Defined in: packages/sdk/src/resources/webhooks.ts:37

Register an endpoint. Omit events to receive every event type; pass secret to bring your own signing key instead of a generated one.

The response secret is shown once — persist it before discarding.

Parameters

ParameterType
input{ events?: string[]; secret?: string; url: string; }
input.events?string[]
input.secret?string
input.url?string
opts?CallOptions

Returns

Promise<CreateWebhookResult>


delete()

delete(id: string, opts?: CallOptions): Promise<DeletedResult>;

Defined in: packages/sdk/src/resources/webhooks.ts:50

Remove an endpoint. Queued deliveries for it are dropped.

Parameters

ParameterType
idstring
opts?CallOptions

Returns

Promise<DeletedResult>


deliveries()

deliveries(
id: string,
params?: {
limit?: number;
},
opts?: CallOptions): Promise<WebhookDelivery[]>;

Defined in: packages/sdk/src/resources/webhooks.ts:53

Recent delivery attempts (status, response code, retry schedule).

Parameters

ParameterType
idstring
params?{ limit?: number; }
params.limit?number
opts?CallOptions

Returns

Promise<WebhookDelivery[]>


list()

list(opts?: CallOptions): Promise<WebhookEndpoint[]>;

Defined in: packages/sdk/src/resources/webhooks.ts:29

Registered endpoints for the project (secrets are never returned).

Parameters

ParameterType
opts?CallOptions

Returns

Promise<WebhookEndpoint[]>


ping()

ping(id: string, opts?: CallOptions): Promise<WebhookPingResult>;

Defined in: packages/sdk/src/resources/webhooks.ts:59

Sends a signed webhook.ping test event and reports the receiver's response.

Parameters

ParameterType
idstring
opts?CallOptions

Returns

Promise<WebhookPingResult>


rotate()

rotate(id: string, opts?: CallOptions): Promise<CreateWebhookResult>;

Defined in: packages/sdk/src/resources/webhooks.ts:56

Mints a new signing secret (returned once); the old secret stops working immediately.

Parameters

ParameterType
idstring
opts?CallOptions

Returns

Promise<CreateWebhookResult>


update()

update(
id: string,
input: {
enabled?: boolean;
events?: string[];
url?: string;
},
opts?: CallOptions): Promise<WebhookEndpoint>;

Defined in: packages/sdk/src/resources/webhooks.ts:43

Change an endpoint's URL, event filter, or enabled state.

Parameters

ParameterType
idstring
input{ enabled?: boolean; events?: string[]; url?: string; }
input.enabled?boolean
input.events?string[]
input.url?string
opts?CallOptions

Returns

Promise<WebhookEndpoint>