latestOpenAPI 3.1.02026-08-194237902.5 MB

563848e0ecc0

Webhook

Trigger manual webhook event to registered subscriptions

Triggers a manual webhook event for the specified event type. Publishes a lightweight event message to Pub/Sub. The consumer will look up active webhooks for the tenant and deliver the event to them asynchronously.

Schema Validation:

Each event type has a corresponding JSON Schema that defines the required structure for eventData. The eventData payload is validated against the schema for the specified eventType. Invalid payloads will return a 400 Bad Request with detailed validation error messages.

Supported Event Types and Schemas:

What the webhook receiver will receive:

HTTP Headers:

  • Content-Type: application/json

  • User-Agent: CertifyOS-Webhook-Delivery/1.0

  • Idempotency-Key: <SHA-256 hash> - A unique key for deduplication (same key across retries)

  • Any custom headers configured in the webhook subscription

Request Body (JSON):

{
  "eventType": "credential_workflow.status.changed",
  "timestamp": "2024-01-20T09:15:00Z",
  "data": { /* your eventData payload */ }
}

The data field contains the eventData from your request payload. The timestamp is automatically set to the current time when the event is delivered.

Example delivered body — form.submission.submitted:

{
  "eventType": "form.submission.submitted",
  "timestamp": "2026-04-21T06:25:51Z",
  "data": {
    "form": { "id": "...", "versionId": "...", "label": "practitioner" },
    "submissionId": "..."
  }
}
post/webhooks/test/publish

Headers

tenant-idstring required

Tenant ID

Request body

eventType'credential_workflow.status.changed' | 'facility_credential_workflow.status.changed' | 'form.submission.submitted' | 'practitioner.terminated' required

Response

Successfully published webhook event to Pub/Sub

messagestring

Success message

eventType'credential_workflow.status.changed' | 'facility_credential_workflow.status.changed' | 'form.submission.submitted' | 'practitioner.terminated'