Webhook Authentication — Proposed Guide
Planned API — Reference OnlyWebhook Authentication: Receiver authentication would help a consumer determine that an incoming message came from an authorized publisher. This trust…
Overview
Receiver authentication would help a consumer determine that an incoming message came from an authorized publisher. This trust check is distinct from the consumer API bearer token.
Key concepts
Keep signing secrets separate from subscription identifiers. Define rotation and receiver-side verification responsibilities.
Implementation considerations
No signing secret is generated. Authentication algorithms and header names must be finalized before a production event service is offered.
Illustrative data model
This local fixture shows a possible representation for the concepts above. It is not an endpoint response, production configuration or a claim that the described capability is implemented.
{
"reference_only": true,
"topic": "Webhook Authentication",
"subscription_id": "subscription_example_123",
"key_id": "key_example_123",
"issued_at": "2026-01-15T12:00:00Z"
}Design review checklist
- Document which organization owns the webhook authentication representation and which actor may view or change it.
- Test the boundaries of subscription id, key id, issued at using synthetic values, including missing or inconsistent references.
- Before future implementation, obtain an approved contract and review failure behavior. This documentation does not authorize production activation.
Proposed data types
| Name | Type | Description |
|---|---|---|
| subscription_id | string | Stable fictional subscription reference; not a secret and not evidence that a resource exists. |
| key_id | string | Stable fictional key reference; not a secret and not evidence that a resource exists. |
| issued_at | string (date-time) | Synthetic UTC timestamp. Business occurrence time may differ from delivery or processing time. |