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.
View SpecView on GitHubAI GatewayGatewaysObservabilityWebhookServerlessHostingDeploymentAsyncAPIEventsWebhooks
Channels
deployment.created
subscribeonDeploymentCreated
Deployment created
A new deployment is initiated.
deployment.ready
subscribeonDeploymentReady
Deployment ready
A deployment is ready.
deployment.succeeded
subscribeonDeploymentSucceeded
Deployment succeeded
A deployment successfully built and any integration checks completed.
deployment.error
subscribeonDeploymentError
Deployment failed
A deployment failed.
deployment.canceled
subscribeonDeploymentCanceled
Deployment canceled
A deployment was canceled.
deployment.promoted
subscribeonDeploymentPromoted
Deployment promoted
A deployment was promoted to production (manually or automatically). Does not include rollbacks.
deployment.rollback
subscribeonDeploymentRollback
Deployment rollback accepted
Vercel accepted an instant rollback request.
deployment.cleanup
subscribeonDeploymentCleanup
Deployment cleanup
A deployment is permanently deleted after the 30-day recovery period.
deployment.check-rerequested
subscribeonDeploymentCheckRerequested
Deployment check re-requested
A user requested a failed deployment check to be re-run.
deployment.integration.action.start
subscribeonDeploymentIntegrationActionStart
Deployment integration action started
A deployment started an integration action.
deployment.integration.action.cancel
subscribeonDeploymentIntegrationActionCancel
Deployment integration action canceled
An integration action or its deployment was canceled.
deployment.integration.action.cleanup
subscribeonDeploymentIntegrationActionCleanup
Deployment integration action cleanup
A deployment with an integration action is permanently deleted.
domain.created
subscribeonDomainCreated
Domain created
A domain was created.
domain.auto-renew-changed
subscribeonDomainAutoRenewChanged
Domain auto-renew changed
A domain's auto-renew setting changed.
domain.certificate-add
subscribeonDomainCertificateAdd
Domain certificate added
An SSL certificate was added for a domain.
domain.certificate-add-failed
subscribeonDomainCertificateAddFailed
Domain certificate add failed
Adding an SSL certificate for a domain failed.
domain.certificate-deleted
subscribeonDomainCertificateDeleted
Domain certificate deleted
An SSL certificate for a domain was deleted.
domain.certificate-renew
subscribeonDomainCertificateRenew
Domain certificate renewed
An SSL certificate for a domain was renewed.
domain.certificate-renew-failed
subscribeonDomainCertificateRenewFailed
Domain certificate renew failed
Renewing an SSL certificate for a domain failed.
domain.dns-records-changed
subscribeonDomainDnsRecordsChanged
Domain DNS records changed
DNS records in a Vercel-hosted zone were changed.
domain.renewal
subscribeonDomainRenewal
Domain renewed
A domain was renewed.
domain.renewal-failed
subscribeonDomainRenewalFailed
Domain renewal failed
A domain renewal failed.
domain.transfer-in-started
subscribeonDomainTransferInStarted
Domain transfer-in started
A domain transfer into Vercel was initiated.
domain.transfer-in-completed
subscribeonDomainTransferInCompleted
Domain transfer-in completed
A domain transfer into Vercel completed.
domain.transfer-in-failed
subscribeonDomainTransferInFailed
Domain transfer-in failed
A domain transfer into Vercel failed.
project.created
subscribeonProjectCreated
Project created
A new project was created. Sent only when the integration has access to all team projects.
project.removed
subscribeonProjectRemoved
Project removed
A project was removed. Sent only when the integration has access to all team projects.
project.renamed
subscribeonProjectRenamed
Project renamed
A project was renamed. Sent only when the integration has access to all team projects.
project.env-variable.created
subscribeonProjectEnvVariableCreated
Project environment variable created
A project environment variable was created. The value is not included in the payload.
project.env-variable.updated
subscribeonProjectEnvVariableUpdated
Project environment variable updated
A project environment variable was updated. The value is not included in the payload.
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.