Skip to content

Webhooks

Webhooks

Verbitas sends webhook events to your registered endpoint when key operations complete.

Register an endpoint

POST /v1/webhooks
Authorization: Bearer vb_test_...
Content-Type: application/json
{
"url": "https://yourapp.example.com/verbitas-webhook",
"events": ["manifest.signed", "anchor.confirmed", "verification.completed"]
}

Events

EventTriggered when
manifest.signedA new manifest is signed and persisted
anchor.confirmedAn anchoring batch is confirmed on-ledger
verification.completedAn async verify job completes
certificate.expiringA signing certificate expires in < 30 days

Payload format

{
"event": "manifest.signed",
"occurred_at": "2026-05-09T08:00:00Z",
"data": {
"manifest_id": "01927abc-...",
"recipe": "image-genai-v1",
"status": "signed"
}
}

Signature verification

All webhook payloads are signed with HMAC-SHA256. The signature is in the X-Verbitas-Signature header:

X-Verbitas-Signature: sha256=<hex>

Verify:

import hmac, hashlib
def verify_signature(payload: bytes, secret: str, header: str) -> bool:
expected = "sha256=" + hmac.new(
secret.encode(), payload, hashlib.sha256
).hexdigest()
return hmac.compare_digest(expected, header)