Overview
pawaPass sends webhook notifications to your configured URL when verification events occur. This allows you to track the entire lifecycle of a verification in real-time.Setup
You can configure your webhook target URL and signing secret in the Backoffice (Production, Sandbox). Each environment is configured separately.Events
VERIFICATION.STATUS_CHANGE
VERIFICATION.STATUS_CHANGE
Sent each time a verification’s status changes, from
CREATED through STARTED, USER_DATA_COLLECTED, to a final state like APPROVED or DECLINED.This is the primary webhook for monitoring verification progress.VERIFICATION.IDENTITY_DOCUMENT_CHANGE
VERIFICATION.IDENTITY_DOCUMENT_CHANGE
Sent when an agent manually corrects identity document data after a verification has concluded (e.g., fixing a typo in a name or date of birth).Does not fire during initial data collection.
Payload format
All webhook payloads follow the same structure:Field reference
Review result object
WhenreviewResult is present, it has the following fields:
Example for a declined verification:
Review result categories
Review result reasons
The defaultreason codes in pawaPass, grouped by category. The set may be extended over time, so treat unknown codes gracefully and branch on category and sensitive where possible.
Age estimation values
TheageEstimation field on the face scan can be one of:
Signature verification
Webhooks include anX-SIGNATURE header containing a SHA256 HMAC signature of the raw request body, signed with your secret key. Verify this signature to confirm the webhook is authentic.
Best practices
Verify the signature
Always validate the
X-SIGNATURE header before processing the webhook payload.Return 200 OK quickly
Process the webhook asynchronously if needed. Any non-
2xx response triggers retries.Handle duplicate deliveries
Use the
notificationId field to deduplicate. Webhooks may be retried.Route by event type
Use the
type field to determine how to process each event.Secret rotation
Legacy integrations used a single shared secret for both API authentication and webhook signing. If you have not yet rotated your webhook secret, the legacy secret is still used for signing. Rotating the webhook secret does not affect your API key, and vice versa. These are now fully independent.
- Prepare your application to accept the new secret.
- Generate a new secret in the Backoffice and update your application at the same time.
- Verify that incoming webhooks pass signature validation.
Retries
If your endpoint returns a non-2xx status code or times out, pawaPass will retry delivery using capped exponential backoff with jitter:
- 55 attempts over approximately 1 week
- Delay starts at 1 second, doubles each time (1s, 2s, 4s, 8s, …), capped at 4 hours
- Each delay includes ±25% random jitter to prevent thundering herd
- If all retries are exhausted, the notification is dropped
