Start the applicant's, or a director's or shareholder's, identity verification
Starts an identity verification attempt for the application’s applicant, or with personId for a director or shareholder on it, and returns url, a hosted verification page. Send the person to it: they complete the identity check there, with no Zuba dashboard session, and land on returnUrl when given, or on a Zuba page saying the check is complete. The outcome reaches Zuba by webhook; read it back from GET /v2/applications//identity-verification, or subscribe to the application.identity_verification_updated webhook, which fires with the personId the session was started for: for the applicant, with a null personId, when they are verified or rejected (an expired attempt is rejected); for a director or shareholder, on each decision about their verification, by the provider, a reviewer or Zuba’s check of the name on the passed document, pending included when a decided session is reopened. Every director, and every shareholder at or above the ownership threshold (10% in NG, GH and KE, 25% elsewhere), must verify. The roster person marked isApplicant is the applicant: when they are one of those, starting the applicant’s session records them as a beneficial owner and their pass files its ID evidence on that record (once that start is recorded, the pass files on the marked record when they are a director or a shareholder), and personId naming them answers with the application’s own session; the mark is accepted only on a row carrying the applicant’s names, and exempts nobody else. A dashboard member with the developer role starts the applicant’s session only; personId answers 403 person_link_role for them. The link is valid until the session expires under the verification workflow’s expiry. A repeat call while the attempt is pending returns the same link, which keeps the returnUrl it was started with (for the applicant’s session, unless the verification workflow was republished in between, when a new session starts); once the attempt is rejected or expired, a call starts a new one with a new link. A new attempt replaces an earlier one, a waived outcome included, which then reads pending and no longer satisfies POST /v2/applications//submit until the attempt passes. A start is refused (409) while an attempt is still being decided by the verification provider or a reviewer, for a person already verified, and when the attempt changes while starting. A verified or waived outcome satisfies the identity requirement of POST /v2/applications//submit.
Authorizations
Enter Auth0 JWT token
Path Parameters
Body
A director or shareholder on the application (persons on GET /v2/applications/{id}/identity-verification) to start the session for, so the link is theirs and the outcome and ID evidence file on their record. Every director, and every shareholder at or above the ownership threshold, has one; the person marked isApplicant gets the application’s own session. Omit it for the applicant.
Where the person lands after completing the hosted page: an absolute https address of yours (http://localhost is accepted outside production). Without it, the person lands on a Zuba page saying the check is complete. A session keeps the address it was started with: a repeat call while the attempt is pending returns the same link, with its original return address. The applicant’s session is the exception when the verification workflow was republished in between: a new session then starts, with this address.
2048"https://example.com/onboarding/identity-done"
Response
The director or shareholder the session is for, from persons on GET /v2/applications/{id}/identity-verification; null for the application’s own session, the applicant’s.
The attempt's session id. In the sandbox, where starting a session verifies the person at once, it is null for the applicant’s session and a placeholder for a director’s or shareholder’s.
pending until the person completes the link and the outcome arrives; read it back from GET /v2/applications/{id}/identity-verification. verified in the sandbox, where starting a session verifies the person at once.
pending, verified When the attempt reached its outcome: null while it is pending, set in the sandbox, where the attempt is verified at once.
The hosted verification page for this attempt. Send the person to it: they complete the identity check there, and the outcome reaches Zuba by webhook. Valid until the session expires under the verification workflow’s expiry. A repeat call while the attempt is pending returns it again. Null in the sandbox, where starting a session verifies the person at once.