Skip to main content

Webhooks

Use webhooks to react to events that happen in your customers' KYC and KYB. Webhooks are a low-effort way to build integrations that extend Synaps's functionality.

Read the Webhooks documentation


warning

We don't disclose any private information through the webhook. You should always make a call to the API in order to fetch user sensitive data.

info

We use Hookdeck to ensure reliable webhook delivery.

If you need to whitelist IP addresses for security purposes, you can find a list of IPs here.

We are sending a secret value as a query parameter in the POST request.

This secret is unique to your app and is available in your manager. Check this value each time you receive a webhook to make sure that Synaps is the one who sends this request.

Payload

All webhooks have the same payload.

reason string

The reason message in case of rejection. May not be present in case no rejection occurred.

service string

One of the individual steps for KYC and one of the corporate steps.

session_id string

The session id.

status string

One of the status.

{
"reason": "The document image seems to be forged",
"service": "PROOF_OF_ADDRESS",
"session_id": "2ac3f7ab-3729-f968-3f55-aa47e881",
"status": "PENDING_VERIFICATION",
"step_id": "1253242"
}

Event Types

Here are all the events that can be sent to your webhook.

These are triggered when transitionning from one status to another. And the new status is the one sent in the payload.

PENDING_VERIFICATION

Sent each time a user has submitted a step.

APPROVED

Sent each time a user has validated a step.

RESUBMISSION_REQUIRED

Sent when a user has been rejected and requires a new submission.

The reason field will be present in the payload.

REJECTED

Sent when a user has been rejected for a reason that will not allows further submission.

The reason field will be present in the payload.

RESET

Sent when a user's session has been reset by an administrator.