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
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.
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.