Webhook events

Verify webhook signatures with the timestamp and body, reject timestamps older than five minutes, and expect retries.

Updated 3 of 5 in API, MCP and integrations

Webhooks tell your system when an invite or a check changes. Each delivery is signed.

Who it is for. A developer receiving events.

  1. Add an https URL and choose events on the API page. Copy the signing secret once.
  2. Read X-PHB-Timestamp and X-PHB-Signature.
  3. Compute HMAC-SHA256 of timestamp + "." + raw body with the secret.
  4. Reject the request when the timestamp is older than five minutes.
EventWhen
invite.sentAn invite was created
invite.completedThe candidate submitted authorization
invite.expiredThe invite expired and the credit was refunded
check.completedA clear report was released
check.records_foundA report with records was released
check.unverifiableThe check was refunded
check.errorThe screening call failed and the credit was refunded
adverse_action.pre_notice_sentThe pre-adverse notice went out
adverse_action.response_receivedThe candidate sent a response
adverse_action.dispute_openedA dispute paused the clock
adverse_action.dispute_resolvedA dispute was resolved
adverse_action.final_notice_sentThe final notice went out

Retries stop after a day

A failed delivery retries at 1 minute, 5 minutes, 30 minutes, 2 hours, 6 hours, 12 hours, and 24 hours.
A sample webhook endpoint.
A sample webhook endpoint.

See API keys.

Was this article helpful?