Manage webhook schema versions independently from API versions. Each webhook endpoint can be pinned to a specific schema version, ensuring payload format stability.

Version Lifecycle

Status Behavior
current Latest version, used by default
supported Fully functional, receives updates
deprecated Works, EPD-Webhook-Deprecated: true header sent
sunset Rejected, must upgrade

Delivery Headers

Header Description
EPD-Webhook-Version The webhook schema version used for this payload
EPD-Webhook-Event-Type The event type (e.g., order.succeeded)
EPD-Webhook-Deprecated Present and set to true only when the version is deprecated
GET /webhook_versions

List webhook versions

Responses

200 List of webhook versions
FieldTypeDescription
datarequired
array[WebhookVersion]
POST /webhook_versions/preview

Preview webhook payload

Request body required

FieldTypeDescription
event_typerequired
string
e.g. "order.created"
api_versionrequired
string
e.g. "2026-02-10"
sample_data
object
Optional custom sample data to transform.

Responses

200 Preview payload
FieldTypeDescription
api_versionrequired
string
event_typerequired
string
payloadrequired
object
POST /webhook_versions/compare

Compare webhook versions

Request body required

FieldTypeDescription
from_versionrequired
string
to_versionrequired
string
event_typerequired
string

Responses

200 Version comparison
FieldTypeDescription
from_versionrequired
string
to_versionrequired
string
event_typerequired
string
from_payloadrequired
object
to_payloadrequired
object
changesrequired
array[object]