Event accepted.
Receive a sparse informational case event
Delivered at least once. Verify the Ed25519 signature, deduplicate by eventId across deliveryId values, use sequence only as an ordering cursor, acknowledge promptly, and fetch authoritative state before acting.
webhook: caseNotificationreceivePartnerCaseNotificationV2Authentication and authority
Inbound callback. Verify all seven required Ed25519 signing headers; no Partner API bearer credential is sent.
Parameters
| Name | Location | Requirement | Schema |
|---|---|---|---|
content-digestSHA-256 of the exact request bytes, formatted as an RFC 9530-style binary content digest. It is the final line of the canonical signature input. | header | Required | {"type":"string","pattern":"^sha-256=:[A-Za-z0-9+/]{43}=:$"} |
x-pc-event-idStable signed event identity used for deduplication. | header | Required | {"type":"string","pattern":"^[A-Za-z0-9._:-]{1,160}$"} |
x-pc-event-timestampCanonical UTC ISO 8601 instant (the value must equal new Date(value).toISOString()). | header | Required | {"type":"string","format":"date-time","pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$"} |
x-pc-key-idIdentifier of the Ed25519 verification key. | header | Required | {"type":"string","pattern":"^[A-Za-z0-9._:-]{1,160}$"} |
x-pc-schema-versionSigned body schema version; must equal the body schemaVersion. | header | Required | {"type":"string","const":"case-event-v2"} |
x-pc-signature-versionSignature protocol version. It is validated as a constant; the canonical input is version-defined and does not include this header or the signature itself. | header | Required | {"type":"string","const":"pc-webhook-ed25519-v1"} |
x-pc-signatureEd25519 signature over the documented canonical input. | header | Required | {"type":"string","pattern":"^ed25519=:[A-Za-z0-9+/]{86}==:$"} |
Request body
Required request body.
application/json
{
"type": "object",
"additionalProperties": false,
"required": [
"schemaVersion",
"eventId",
"deliveryId",
"sequence",
"type",
"occurredAt",
"caseId",
"externalCaseId",
"actionRequired"
],
"properties": {
"schemaVersion": {
"type": "string",
"const": "case-event-v2"
},
"eventId": {
"type": "string",
"pattern": "^[A-Za-z0-9._:-]{1,160}$"
},
"deliveryId": {
"type": "string"
},
"sequence": {
"type": "integer",
"minimum": 1
},
"type": {
"type": "string"
},
"occurredAt": {
"type": "string",
"format": "date-time",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$"
},
"caseId": {
"type": "string"
},
"externalCaseId": {
"type": "string"
},
"actionRequired": {
"type": "boolean"
},
"deadlineAt": {
"type": "string",
"format": "date-time",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$"
}
}
}Responses
Usage notes
- Responses reflect the current authoritative resource state.
- Callbacks are informational and at least once. Deduplicate by event ID and fetch authoritative state before acting.