Create webhook
Registers a signed webhook endpoint for subscribed agreement activity and notification events visible to the current API principal. The signing secret is returned only in the create response.
Authorizations
Canonical API-key credential. Send X-API-Key: cns_pk_..., or Authorization: Bearer cns_pk_... only as an API-key compatibility alias. OAuth and JWT bearer tokens are not supported.
Body
HTTPS endpoint that receives signed webhook POSTs.
Subscribable event types. On create, omitted, null, or empty eventTypes defaults to agreement.transitioned.
agreement.transitioned, agreement.notification.triggered Optional filters applied before delivery. agreementIds and templateIds apply to both agreement.transitioned and agreement.notification.triggered. inputIds, fromStates, and toStates apply to agreement.transitioned and to notification events with transition data. ruleIds apply to agreement.notification.triggered events.
Response
Created webhook subscription.
{
"id": "wh_123",
"principalId": "principal_123",
"url": "https://example.com/shodai/webhooks",
"status": "active",
"eventTypes": [
"agreement.transitioned",
"agreement.notification.triggered"
],
"filters": {
"templateIds": ["did:template:service-retainer-v0-1"],
"ruleIds": ["deployment-follow-up"]
},
"createdAt": "2026-05-26T16:00:00.000Z",
"updatedAt": "2026-05-26T16:00:00.000Z",
"secret": "whsec_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
}