Onboarding status webhook

An introduction to onboarding statuses and their associated webhook

The Onboarding Status Webhook sends notifications to your specified server URL in realtime when an onboarding status changes. These notifications indicate the current state of the onboarding interview.

Onboarding Statuses

Onboarding statuses occur sequentially and describe the processing state of the interview. See below for a description of each status and the order in which it occurs.

  1. UNKNOWN:
    1. A session has a status of unknown when it has not been started by the user. For example, when an onboarding URL is shared with a customer, but the customer has not yet clicked the link to begin the session. You will not receive a webhook notification for unknown status. This status can be determined by calling the onboarding status endpoint.
  2. ID_VALIDATION_FINISHED
    1. For Webflows and Workflows that perform ID validation, the ID_VALIDATION_FINISHED webhook indicates that the processes for the ID validation modules are complete. Although the overall session data is not complete at this point, it is possible to fetch some elements, such as the OCR data and ID validation score.
  3. ID_VALIDATION_FINISHED_SECOND_ID
    1. For Webflows and Workflows that perform ID validation, the ID_VALIDATION_FINISHED_SECOND_ID webhook indicates that the processes for the second ID validation modules are complete (If applicable). Although the overall session data is not complete at this point, it is possible to fetch some elements, such as the OCR data and ID validation score.
  4. GOVERNMENT_VALIDATION_FINISHED
    1. Government validation occurs after ID validation and indicates that the tests associated with government validation are complete. Similarly to ID_VALIDATION_FINISHED, once the GOVERNMENT_VALIDATION_FINISHED notification is received, preliminary results can be fetched via the API. While this is possible, we recommend waiting until the ONBOARDING_FINISHED notification is received to ensure that all results are finalized.
  5. FACE_VALIDATION_FINISHED
    1. Face validation requires two images for comparison. The first comparison image is taken from the ID portrait photo during the ID validation process and the second comparison photo is acquired from the selfie capture process. As a result, face validation occurs after ID validation and the selfie capture process. If government validation is part of the flow, the FACE_VALIDATION_FINISHED notification will generally occur subsequently to GOVERNMENT_VALIDATION_FINISHED.
  6. POST_PROCESSING_FINISHED
    1. Post processing indicates that all collected raw interview data is done processing.
  7. POST_PROCESSING_FINISHED_SECOND_ID
    1. Post processing indicates that all collected raw interview data is done processing for the second ID (if applicable).
  8. ONBOARDING_FINISHED
    1. The ONBOARDING_FINISHED notification indicates that all data has been collected and processed, any custom business rules have been applied, the session status has been updated to its final determination, and the user has exited the flow. We recommend waiting for this status before fetching session data.
  9. MANUAL_REVIEW_APPROVED
    1. This notification occurs after ONBOARDING_FINISHED once a session with a MANUAL status is reviewed and manually approved through the Incode dashboard. This will occur subsequent to an ONBOARDING_FINISHED notification.
  10. MANUAL_REVIEW_REJECTED
    1. This notification occurs after ONBOARDING_FINISHED once a session with a MANUAL status is reviewed and manually rejected through the Incode dashboard. This will occur subsequent to an ONBOARDING_FINISHED notification.

Endpoint Details

POST https://{your-defined-url}

Request

Below is an example of the payload that you will get when the webhook triggers

{
	"interviewId": "664283755e0f8e1b87fcc2ce",
  "externalCustomerId" : "MyCustomerID#0001", // only if an externalCustomerId was specified on the omni/start endpoint
  "onboardingStatus": "ONBOARDING_FINISHED" // see above for possible values
}

If you are authenticating your webhook requests , the webhook will contain the Authorization header along with the OAuth2.0 bearer token:

Authorization: Bearer <ACCESS_TOKEN>

If you configured additional custom headers, they will be included as well.

Response

To avoid our retry policy to keep sending the same notification over and over, make sure your endpoint returns one of the following:

  • Status code 204 No content
  • Status code 200 OK with a response type application/json, for example { "success" : true }
{
	"success" : true 
}