verifyWebhook()
Verifies the authenticity of a webhook request using Standard Webhooks. Returns a promise that resolves to the verified webhook event data.
function verifyWebhook(request: Request, options: <code>{ signingSecret?: string; }</code>): Promise<WebhookEvent>- Name
- request
- Type
- Request
- Description
- The request object. 
 
- Name
- options
- Type
- { signingSecret?: string; }
- Description
- Optional configuration object. 
 
- Name
- options.signingSecret?
- Type
- string
- Description
- The signing secret for the webhook. It's recommended to use the - CLERK_WEBHOOK_SIGNING_SECRETenvironment variable instead.
 
Example
See the guide on syncing data for more comprehensive and framework-specific examples that you can copy and paste into your app.
import { verifyWebhook } from "@clerk/backend/webhooks";
export async function POST(request: Request) {
  try {
    const evt = await verifyWebhook(request);
    // Access the event data
    const { id } = evt.data;
    const eventType = evt.type;
    // Handle specific event types
    if (evt.type === "user.created") {
      console.log("New user created:", evt.data.id);
      // Handle user creation
    }
    return new Response("Success", { status: 200 });
  } catch (err) {
    console.error("Webhook verification failed:", err);
    return new Response("Webhook verification failed", { status: 400 });
  }
}Feedback
Last updated on