Create a webhook subscription
AuthenticationRequires bearerAuth.
Description
Creates a signed event delivery destination and returns its signing secret once.
Request body
application/jsonrequired
urlstring <uri>required
Public HTTPS delivery destination.
eventsstring[]required
Responses
201The created subscription. Store the signing secret securely because it is not shown again.
application/jsonidstringrequired
urlstring <uri>required
eventsstring[]required
statusstringrequired
Allowed values:
activepausedcreated_atstring <date-time>required
signing_secretstringrequired
Secret shown only in this response.
Example response
{
"id": "whs_01JAZ92C4Q",
"url": "https://contracts.example-counterparty.example/hooks/your-company",
"events": [
"matter.turn_completed",
"matter.executed",
"approval.requested"
],
"status": "active",
"created_at": "2026-07-01T17:10:00Z",
"signing_secret": "whsec_••••••••••••••••"
}401The API key is missing, malformed, expired, or revoked.
application/jsonerrorobjectrequired
Example response
{
"error": {
"code": "unauthorized",
"message": "Provide a valid bearer API key.",
"request_id": "req_01JAZA0P8M"
}
}403The API key does not have permission for this action.
application/jsonerrorobjectrequired
Example response
{
"error": {
"code": "forbidden",
"message": "This API key does not have the required permission.",
"request_id": "req_01JAZA0P8M"
}
}422One or more request fields are invalid.
application/jsonerrorobjectrequired
Example response
{
"error": {
"code": "validation_error",
"message": "Correct the highlighted request fields.",
"request_id": "req_01JAZA0P8M",
"details": [
{
"field": "target_signature_date",
"issue": "must be today or later"
}
]
}
}