webhooks
Provider-authenticated inbound webhook callbacks.
| Method | Path | Operation ID |
|---|---|---|
| POST | /webhooks/clerk |
receiveClerkWebhook |
| POST | /webhooks/stripe |
receiveStripeWebhook |
POST /webhooks/clerk
Section titled “POST /webhooks/clerk”Operation ID: receiveClerkWebhook
Receive one Svix-signed Clerk user-lifecycle callback.
Authentication: clerkWebhookSignature (Svix signature over the exact raw request body. The signed envelope also requires the svix-id and svix-timestamp headers.).
Parameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
svix-id |
header | string | yes | Max length 256. |
svix-timestamp |
header | string | yes | Pattern: ^[0-9]+$. Max length 32. |
Request body
Section titled “Request body”application/json: object (required)
Responses
Section titled “Responses”| Status | Description | Body |
|---|---|---|
| 200 | Successful Response | application/json WebhookAck |
| 400 | Bad Request | application/json HttpErrorResponse |
| 409 | Conflict | application/json HttpErrorResponse |
| 413 | Request Entity Too Large | application/json HttpErrorResponse |
| 422 | Validation Error | application/json HTTPValidationError |
| 503 | Service Unavailable | application/json HttpErrorResponse |
200 response fields
Section titled “200 response fields”| Field | Type | Required | Description |
|---|---|---|---|
duplicate |
boolean | no | Default false. |
result |
string | yes | |
status |
string | yes |
POST /webhooks/stripe
Section titled “POST /webhooks/stripe”Operation ID: receiveStripeWebhook
Authenticate and durably enqueue one tenant-free Stripe lifecycle event.
Authentication: stripeWebhookSignature (Stripe timestamped v1 HMAC signature over the exact raw request body.).
Request body
Section titled “Request body”application/json: object (required)
Responses
Section titled “Responses”| Status | Description | Body |
|---|---|---|
| 202 | Successful Response | application/json StripeInboxResponse |
| 400 | Signature or event is invalid. | application/json HttpErrorResponse |
| 409 | Event identity conflicts. | application/json HttpErrorResponse |
| 413 | Request body is too large. | application/json HttpErrorResponse |
| 503 | Verification is unavailable. | application/json HttpErrorResponse |
202 response fields
Section titled “202 response fields”| Field | Type | Required | Description |
|---|---|---|---|
duplicate |
boolean | yes | |
event_id |
string | yes | |
state |
string | yes |
