diff --git a/.changeset/sixty-regions-camp.md b/.changeset/sixty-regions-camp.md new file mode 100644 index 00000000000..dfaea5b8673 --- /dev/null +++ b/.changeset/sixty-regions-camp.md @@ -0,0 +1,5 @@ +--- +'@clerk/backend': patch +--- + +Add `event_attributes` to `Webhook`. diff --git a/packages/backend/src/api/resources/Webhooks.ts b/packages/backend/src/api/resources/Webhooks.ts index 5cec4379e3a..aba2cbe33f5 100644 --- a/packages/backend/src/api/resources/Webhooks.ts +++ b/packages/backend/src/api/resources/Webhooks.ts @@ -13,7 +13,14 @@ import type { WaitlistEntryJSON, } from './JSON'; -type Webhook = { type: EvtType; object: 'event'; data: Data }; +type WebhookEventAttributes = { + http_request: { + client_ip: string; + user_agent: string; + }; +}; + +type Webhook = { type: EvtType; object: 'event'; data: Data; event_attributes: WebhookEventAttributes }; export type UserWebhookEvent = | Webhook<'user.created' | 'user.updated', UserJSON> diff --git a/packages/backend/src/webhooks.ts b/packages/backend/src/webhooks.ts index 273477dae50..ebf115cd696 100644 --- a/packages/backend/src/webhooks.ts +++ b/packages/backend/src/webhooks.ts @@ -90,5 +90,6 @@ export async function verifyWebhook(request: Request, options: VerifyWebhookOpti type: payload.type, object: 'event', data: payload.data, + event_attributes: payload.event_attributes, } as WebhookEvent; }