Verification Statuses
Verifications move through a series of statuses from submission to completion. Understanding these statuses is essential for building a robust integration.
Status overview
The verificationStatus field indicates the current state of a verification. Each status change triggers a webhook notification to your registered endpoint.
| Status | Description |
|---|---|
pending | Verification is being processed |
info | Additional information is required |
verified | Verification was successful |
rejected | Verification requirements were not met |
error | A system error occurred during processing |
locked | Too many failed attempts (individuals only) |
Entity verification flow
After submission, a verification typically follows this flow:
- Submitted to pending: Verification is queued for processing
- pending to verified / rejected / info: Processing completes with a result
- info to pending: After missing information is provided, returns to processing
- The cycle can repeat until reaching a terminal state (
verifiedorrejected)
Important: Due to remediation or at the request of the customer, verifications may transition from verified or rejected back to pending
or info. Continue listening for webhook updates even after a verification reaches a final status.
Status details
pending
The verification has been submitted and is being processed. This is typically the first status after submission.
What to do: Wait for a webhook notification with the next status. Processing times vary:
- Median: Under 15 minutes
- Extended cases: Up to 24-48 hours (during registry maintenance or high load)
info
Additional information is required to complete the verification. This typically means:
- Additional documents are needed (e.g., trust deed, certificate of incorporation)
- Additional stakeholders need to be verified (e.g., directors, beneficial owners)
What to do:
- Fetch the remainingActions using GET /v5/verifications/:trace
- Upload any requested documents using PUT /v5/verifications/:trace/documents/:documentId
- Direct stakeholders to complete their verification using the provided formUrl
See Provide Missing Information for detailed instructions.
verified
The verification was successful and satisfies the bronID verification requirements.
What to do: Update your system to reflect the successful verification. The customer can proceed with your onboarding flow.
Response includes:
- Complete entity data
- IDV risk score
- Verification timestamp
rejected
The verification requirements were not met. Common reasons include:
- Entity could not be found in the relevant registry
- Incorrect entity details were submitted
- Document verification failed
- Stakeholder verification failed
What to do:
- Fetch rejection details using GET /v5/verifications/:trace
- Review the rejectionReasons array for specific issues
- If correctable, submit a new verification with corrected information
error
A system error occurred during processing. This is rare and typically indicates a temporary issue.
What to do: Contact bronID support if the error persists. You may retry the verification after a short delay.
locked (Individuals only)
For individual verifications, this status indicates too many unsuccessful verification attempts. No further attempts will be processed for this entry.
What to do: Submit a new verification with a new userId if the customer needs to retry.
Submission status
In addition to verificationStatus, the submissionStatus field tracks the data collection state:
| Status | Description |
|---|---|
| submitted | All required data has been provided |
| in_progress | Verification is waiting for additional data (used with info status) |
Best practices
Design for asynchronous processing
Processing times can range from seconds to hours. Design your flow so that:
- Users do not wait on a loading screen for verification results
- Status updates are communicated via email or in-app notifications
- Your system polls or listens for webhook updates
Handle all statuses
Ensure your integration handles all possible status transitions.
Use webhooks
Rather than polling the API, configure webhooks to receive real-time status updates. This is more efficient and provides immediate notifications.