AsyncAPI definition for Vercel's webhook surface. Vercel webhooks are HTTP POST deliveries from Vercel to a subscriber-configured endpoint URL registered either as an Account Webhook (Team Settings -> Webhooks) or through a Vercel Integration (Integration Console). Every delivery is a JSON document with a stable envelope: { "id": "", "type": "", "createdAt": , "region": "", "payload": { ... event specific ... } } Each delivery includes an `x-vercel-signature` header. Vercel signs the raw request body with the webhook's secret using HMAC-SHA1 and sends the hex-encoded digest in this header. Subscribers verify a delivery by recomputing HMAC-SHA1 over the raw body with their secret and comparing the result to `x-vercel-signature` using a constant-time comparison. For Integration webhooks the secret is the Integration Secret (also referred to as the Client Secret) from the Integration Console; for Account webhooks the secret is the one shown once when the webhook is created. Sourced from: - https://vercel.com/docs/webhooks - https://vercel.com/docs/webhooks/webhooks-api - https://vercel.com/docs/headers/request-headers#x-vercel-signature Event types and payload fields that the Vercel documentation does not describe are not invented here.
A user confirmed pending scope changes for an integration.
integration-configuration.transferred
subscribeonIntegrationConfigurationTransferred
Integration configuration transferred
An integration installation was transferred to another team.
integration-resource.project-connected
subscribeonIntegrationResourceProjectConnected
Integration resource connected to project
A user connected an integration resource to a project.
integration-resource.project-disconnected
subscribeonIntegrationResourceProjectDisconnected
Integration resource disconnected from project
A user disconnected an integration resource from a project.
marketplace.invoice.created
subscribeonMarketplaceInvoiceCreated
Marketplace invoice created
A marketplace invoice was created and sent to the customer.
marketplace.invoice.paid
subscribeonMarketplaceInvoicePaid
Marketplace invoice paid
A marketplace invoice was paid.
marketplace.invoice.notpaid
subscribeonMarketplaceInvoiceNotPaid
Marketplace invoice not paid
A marketplace invoice payment failed.
marketplace.invoice.overdue
subscribeonMarketplaceInvoiceOverdue
Marketplace invoice overdue
A marketplace invoice was not paid after the grace period.
marketplace.invoice.refunded
subscribeonMarketplaceInvoiceRefunded
Marketplace invoice refunded
A marketplace invoice was refunded.
marketplace.member.changed
subscribeonMarketplaceMemberChanged
Marketplace member changed
A marketplace installation member was added, removed, or had their role changed.
alerts.triggered
subscribeonAlertsTriggered
Alert triggered
An observability alert was triggered.
Messages
✉
DeploymentCreated
Deployment created
A new deployment is initiated.
✉
DeploymentReady
Deployment ready
✉
DeploymentSucceeded
Deployment succeeded
✉
DeploymentError
Deployment error
✉
DeploymentCanceled
Deployment canceled
✉
DeploymentPromoted
Deployment promoted
✉
DeploymentRollback
Deployment rollback accepted
✉
DeploymentCleanup
Deployment cleanup
✉
DeploymentCheckRerequested
Deployment check re-requested
✉
DeploymentIntegrationActionStart
Deployment integration action started
✉
DeploymentIntegrationActionCancel
Deployment integration action canceled
✉
DeploymentIntegrationActionCleanup
Deployment integration action cleanup
✉
DomainCreated
Domain created
✉
DomainAutoRenewChanged
Domain auto-renew changed
✉
DomainCertificateAdd
Domain certificate added
✉
DomainCertificateAddFailed
Domain certificate add failed
✉
DomainCertificateDeleted
Domain certificate deleted
✉
DomainCertificateRenew
Domain certificate renewed
✉
DomainCertificateRenewFailed
Domain certificate renew failed
✉
DomainDnsRecordsChanged
Domain DNS records changed
✉
DomainRenewal
Domain renewed
✉
DomainRenewalFailed
Domain renewal failed
✉
DomainTransferInStarted
Domain transfer-in started
✉
DomainTransferInCompleted
Domain transfer-in completed
✉
DomainTransferInFailed
Domain transfer-in failed
✉
ProjectCreated
Project created
✉
ProjectRemoved
Project removed
✉
ProjectRenamed
Project renamed
✉
ProjectEnvVariableCreated
Project environment variable created
✉
ProjectEnvVariableUpdated
Project environment variable updated
✉
ProjectEnvVariableDeleted
Project environment variable deleted
✉
ProjectDomainCreated
Project domain created
✉
ProjectDomainDeleted
Project domain deleted
✉
ProjectDomainMoved
Project domain moved
✉
ProjectDomainVerified
Project domain verified
✉
ProjectDomainUnverified
Project domain unverified
✉
ProjectDomainUpdated
Project domain updated
✉
ProjectRollingReleaseStarted
Rolling release started
✉
ProjectRollingReleaseApproved
Rolling release approved
✉
ProjectRollingReleaseCompleted
Rolling release completed
✉
ProjectRollingReleaseAborted
Rolling release aborted
✉
FlagCreated
Feature flag created
✉
FlagUpdated
Feature flag updated
✉
IntegrationConfigurationRemoved
Integration configuration removed
✉
IntegrationConfigurationPermissionUpgraded
Integration configuration permission upgraded
✉
IntegrationConfigurationScopeChangeConfirmed
Integration configuration scope change confirmed
✉
IntegrationConfigurationTransferred
Integration configuration transferred
✉
IntegrationResourceProjectConnected
Integration resource connected to project
✉
IntegrationResourceProjectDisconnected
Integration resource disconnected from project
✉
MarketplaceInvoiceCreated
Marketplace invoice created
✉
MarketplaceInvoicePaid
Marketplace invoice paid
✉
MarketplaceInvoiceNotPaid
Marketplace invoice not paid
✉
MarketplaceInvoiceOverdue
Marketplace invoice overdue
✉
MarketplaceInvoiceRefunded
Marketplace invoice refunded
✉
MarketplaceMemberChanged
Marketplace member changed
✉
AlertsTriggered
Alert triggered
Servers
https
subscriber{endpointUrl}
The HTTPS endpoint that the subscriber configures on the Vercel webhook. Vercel delivers all events the subscription opts into to this URL via HTTP POST with a JSON body.
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.