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
| Parameter | Type |
|---|---|
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
| Parameter | Type |
|---|---|
id | string |
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
| Parameter | Type |
|---|---|
id | string |
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
| Parameter | Type |
|---|---|
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
| Parameter | Type |
|---|---|
id | string |
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
| Parameter | Type |
|---|---|
id | string |
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
| Parameter | Type |
|---|---|
id | string |
input | { enabled?: boolean; events?: string[]; url?: string; } |
input.enabled? | boolean |
input.events? | string[] |
input.url? | string |
opts? | CallOptions |
Returns
Promise<WebhookEndpoint>