DashboardSupportWelcome

👤 USER DOCS

Getting Started

Daily Operations

Shift Workspace & TasksPre-Shift SetupLine-Up CardsShift ReportsForms

Staff & Locations

Staff SchedulingManaging Locations

Oversight

Manager ReportsAnalyticsPre-Shift & Compliance

Incidents & Feedback

Incident ReportingAnonymous FeedbackMessages & Announcements

AI & Settings

AI ChatgearApp Settings

Administration

Dashboard & OnboardingAdmin

⚙️ DEVELOPER DOCS

Getting Started

Getting StartedDevelopmentDeployment Guide

Architecture

Architecture OverviewData FlowArchitecture Decision Records

Core Domain

Core DomainDatabase ReferenceLocations DomainAuth & RBACScheduling DomainReports DomainIncidents DomainNotifications DomainAudit Log & OptimizationDesign Audit Findings

Frontend

Frontend ArchitectureFormsLoading SkeletonsComponentsPWA & NotificationsimageScreenshots

API Reference

API Reference

Endpoints

POS Sales APIOptimization Data APISchedule Shifts APIEmployee Export APIReports APIIncidents APIAI Chat APIPush Notifications APIWebhooks APICron API

Contributing

ContributingcodeCode Examples

Security

Security & Compliance
Danvas IconDanvas
Danvas IconDanvas

Webhooks API

Lifecycle event handlers for Clerk and Svix

Danvas exposes webhook endpoints to receive lifecycle events from external services like Clerk (user management) and Svix (integration message delivery).

Security

All webhook endpoints require signature verification to ensure requests originate from a trusted source.

Clerk Signature

Verify the svix-id, svix-timestamp, and svix-signature headers using your CLERK_WEBHOOK_SECRET.

Payload Schemas

Webhook payloads vary by event type. Refer to the specific service documentation for detailed object structures.

Related

Clerk Auth & RBAC

API Overview

Push Notifications API

Web Push subscription and sending endpoints

Cron API

Internal endpoints for scheduled operational tasks

On this page

SecurityClerk SignaturePayload SchemasRelated

Authorization

webhookSignature
svix-signature<token>

Clerk webhook signature verification

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

{
  "received": true
}

Authorization

webhookSignature
svix-signature<token>

Clerk webhook signature verification

In: header

Response Body

application/json

{
  "received": true
}
Empty
Empty
Empty
POST
/api/webhooks/clerk
POST
/api/webhooks/svix
curl -X POST "https://example.com/api/webhooks/clerk" \  -H "Content-Type: application/json" \  -d '{}'
curl -X POST "https://example.com/api/webhooks/svix"
type?string
Value in"user.created" | "user.updated" | "user.deleted"
data?