- Disconnects
- Number Changes
- Line Type Changes
- Ports
- Moved Out of Coverage
Webhook events are available in the US.
Prerequisites
- Webhook URL: A URL that Prove calls to send notifications of phone change events for a particular Prove ID. This URL must be publicly accessible and configured in the Prove Portal.
Prove sends change notifications via webhook as the platform identifies and processes a consumer change. Webhook queuing for failed events isn’t available but delivery is on a best effort basis.
Webhook setup and authentication
Prove Manage sends phone risk change events via webhooks to your specified endpoint. Integration requires configuring your endpoint in the Prove Portal and implementing JWT verification to secure the data exchange.Access the Portal
Login to the Prove Portal.
Create and Navigate To Your Project
Navigate to the Projects tab. Select Create Project and pick Prove Identity Manager.
Open Webhook Configuration
After navigating to your Identity Manager project, use the Configure tab to configure the Sandbox webhook.
Save and Test Webhook
Select Save and Test Webhook. This saves your configuration and sends a test webhook to your endpoint.
Authenticate Webhook
Prove signs every delivery attempt using a short-lived JSON Web Token (JWT). You must verify the signature using the secret provided in the Portal and validate the claims in the
Sample claims setThe payload is JSON inside the JWT, seen after base64url-decoding the middle segment.Security Best Practices
X-Prove-Authorization header. The JWT is a synchronous token using the HS256 algorithm.JWT Authentication Reference- Header:
X-Prove-Authorization: Bearer <JWT> - Algorithm: HS256 (HMAC-SHA256)
- Secret: The shared secret from the Prove Portal.
- Correlation:
X-Correlation-IDis provided for tracking delivery attempts.
| Claim | Type | Description |
|---|---|---|
iss | string | Issuer. Prove sets this to the literal string Prove Identity. Use it to confirm the token was minted in this integration context. |
iat | integer | Issued at — Unix time when the token was created. |
nbf | integer | Not before — Unix time before which the token must not be accepted. Prove sets nbf equal to iat. |
exp | integer | Expiration — Unix time after which the token must be rejected. Tokens are valid for 5 minutes from issuance. |
jti | string | JWT ID — A new UUID string for each delivery attempt. Use it for replay detection: reject duplicate jti values you have already accepted within your replay window. |
body_hash | string | Hex-encoded SHA-256 of the raw webhook JSON body, the POST body as bytes, before parsing. Compute SHA256 and compare as constant-time hex string equality to this claim. If they differ, the body was altered in transit or the token does not match this request. The body_hash is a private claim name, per RFC 7519 §4.2, chosen to mirror the OIDC *_hash pattern used for at_hash and c_hash in OpenID Connect Core 1.0 §3.1.3. |
Example
- Verifying
body_hash: To ensure the payload wasn’t tampered with, computeSHA256and compare the result to thebody_hashclaim using a constant-time comparison. Perform this check before parsing the JSON into an object. - Replay Detection: Store
jtivalues within the 5-minute validity window. If you receive a webhook with ajtiyou have already processed, reject it. - Clock Skew: Allow for a small margin, ±60s, when validating
iatand exp to account for minor server time differences.
Parse the Webhook Payload
The following snippet shows an example of each type of change event you could receive from Prove. Each notification comes as an array of event objects. Prove returns batches of up to 100 events per webhook call, but the batch size can be smaller based on the number of events that occur.
Example Payload
Field Definitions
Field Definitions
A unique event ID to reference if you need support.
A description of the event.
The event type. Identity Manager supports:
PHONE_NUMBER_CHANGE, DISCONNECT, PORT, LINE_TYPE_CHANGE, and MOVED_OUT_OF_COVERAGE.The time the event is sent.
The client customer ID associated with the identity.
A unique Prove-generated identifier.

