Submitting Missing Information

Sometimes customers don't provide enough information to complete the verification of an entity. When this happens, you will receive a webhook with verificationStatus: "info" to let you know that additional information is required. The missing information can be regarding documents or stakeholders (individuals) related to the entity.


Sample info webhook

When a verification transitions to info status, you will receive a webhook with the following structure:

Info webhook payload

{
	"userId": "user-123",
	"onBehalfUid": null,
	"trace": "abc123-verification-trace",
	"submissionId": "abc123-submission-id",
	"submissionStatus": "in_progress",
	"verificationStatus": "info",
	"idvRisk": "medium",
	"country": "AUS",
	"type": "company",
	"subType": "none",
	"name": "My Company Pty Ltd",
	"timestamp": 1767004789403
}

Key points about the info webhook:

  • verificationStatus: "info" indicates that additional information is required
  • submissionStatus: "in_progress" means the submission is waiting for more data
  • The trace field is used to fetch the remaining actions and submit missing information
  • The webhook does not include the remainingActions - you must fetch them separately via the API

Fetching remaining actions

To see what information is missing, make a GET request to fetch the verification details:

Fetch verification details

GET /v5/verifications/:trace

When the status is info, the response will include a remainingActions object:

Response with remainingActions

{
	"verificationStatus": "info",
	"submissionStatus": "in_progress",
	"remainingActions": {
		"document": {
			"doc-id-123": {
				"id": "doc-id-123",
				"type": "document",
				"name": "Trust Deed",
				"description": "The trust deed document for the entity",
				"reason": "Required to verify trust structure",
				"uploadUrl": "https://api.bronid.com/v5/verifications/abc123/documents",
				"help": null
			}
		},
		"stakeholder": {
			"stakeholder-id-456": {
				"id": "stakeholder-id-456",
				"type": "individual",
				"name": "Jane Citizen",
				"description": "Director verification required",
				"reason": "ID verification for director",
				"help": null,
				"roles": ["directors"],
				"formUrl": "https://ekyc.bronid.com/ekyc-start/xyz789",
				"email": "jane@example.com",
				"phone": "+61400000000"
			}
		}
	}
}

The remainingActions object contains:

  • document - A record of documents that need to be uploaded, keyed by document ID
  • stakeholder - A record of individuals that need to complete eKYC verification, keyed by stakeholder ID

Uploading missing documents

To upload a missing document, make a PUT request to the documents endpoint with the specific document ID from remainingActions:

Upload document endpoint

PUT /v5/verifications/:trace/documents/:documentId

Upload via URL

If the document is hosted at a publicly accessible URL:

Upload via URL

{
	"source": "url",
	"data": "https://example.com/documents/trust-deed.pdf",
	"kind": "trustDeed",
	"mimeType": "application/pdf",
	"fileName": "trust-deed.pdf",
	"description": "Trust deed for My Company",
	"reason": "Uploaded as requested"
}

Upload via Base64

If you have the document as a base64-encoded string:

Upload via base64

{
	"source": "base64",
	"data": "JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlL...",
	"kind": "trustDeed",
	"mimeType": "application/pdf",
	"fileName": "trust-deed.pdf",
	"description": "Trust deed for My Company"
}

Document upload parameters

ParameterTypeRequiredDescription
sourcestringYesUpload method: url, base64, or preupload
datastringYesThe URL or base64-encoded content
kindstringYesDocument type (should match what's in remainingActions)
mimeTypestringYesMIME type: application/pdf, image/jpeg, image/png
fileNamestringNoOriginal filename
descriptionstringNoDescription of the document
reasonstringNoReason for uploading
stakeholderIdstringNoReference to a stakeholder if this is a stakeholder-specific document

Redirecting users to eKYC for missing stakeholders

When remainingActions.stakeholder contains entries, each stakeholder must complete their own identity verification through the eKYC portal.

Using the form URL directly

Each stakeholder entry includes a formUrl field. You can redirect the user directly to this URL:

https://ekyc.bronid.com/ekyc-start/:stakeholderId

The stakeholder will complete their verification independently through the eKYC portal.

Sending an invite email

Optionally, you can send an invitation email to the stakeholder using the invite endpoint:

Send invite email

POST /v5/verifications/:trace/stakeholders/:stakeholderId/invites

This will send an email to the stakeholder's registered email address with a link to complete their verification.

Stakeholder verification flow

  1. The stakeholder receives the eKYC link (via redirect or email)
  2. They access the eKYC portal and complete identity verification
  3. Upon successful verification, the system automatically removes them from remainingActions
  4. When all stakeholders (and documents) are complete, the verification transitions to pending

Status transition to pending

When all remainingActions are completed:

  1. Each completed action (document upload or stakeholder verification) is automatically removed from remainingActions
  2. When all actions are complete, the status automatically transitions from info to pending
  3. A new webhook is sent with verificationStatus: "pending"

Pending webhook payload

{
	"userId": "user-123",
	"onBehalfUid": null,
	"trace": "abc123-verification-trace",
	"submissionId": "abc123-submission-id",
	"submissionStatus": "submitted",
	"verificationStatus": "pending",
	"idvRisk": "medium",
	"country": "AUS",
	"type": "company",
	"subType": "none",
	"name": "My Company Pty Ltd",
	"timestamp": 1767004800000
}

Note that submissionStatus changes from in_progress to submitted when all information has been provided.


Verification flow after pending

After the verification transitions to pending, it will be processed and can result in one of the following outcomes:

Verified

All checks passed successfully. You will receive a webhook:

Verified webhook payload

{
	"verificationStatus": "verified",
	"submissionStatus": "submitted",
	"trace": "abc123-verification-trace",
	"submissionId": "abc123-submission-id",
	"idvRisk": "low",
	"country": "AUS",
	"type": "company",
	"subType": "none",
	"name": "My Company Pty Ltd",
	"timestamp": 1767004900000
}

Rejected

Verification requirements were not met. You will receive a webhook:

Rejected webhook payload

{
	"verificationStatus": "rejected",
	"submissionStatus": "submitted",
	"trace": "abc123-verification-trace",
	"submissionId": "abc123-submission-id",
	"idvRisk": "high",
	"country": "AUS",
	"type": "company",
	"subType": "none",
	"name": "My Company Pty Ltd",
	"timestamp": 1767004900000
}

Info (again)

In some cases, the verification may transition back to info status if additional information is still required:

Info webhook (again)

{
	"verificationStatus": "info",
	"submissionStatus": "in_progress",
	"trace": "abc123-verification-trace",
	"submissionId": "abc123-submission-id",
	"idvRisk": "medium",
	"country": "AUS",
	"type": "company",
	"subType": "none",
	"name": "My Company Pty Ltd",
	"timestamp": 1767005000000
}

This can happen when:

  • Submitted documents were incomplete, unclear, or invalid
  • Additional stakeholders need to be verified that weren't initially identified
  • Document verification revealed the need for supplementary documentation
  • A stakeholder's verification was rejected and needs to be re-submitted

When receiving another info webhook, repeat the process:

  1. Fetch the updated remainingActions via GET /v5/verifications/:trace
  2. Submit the newly requested documents or stakeholder verifications
  3. Wait for the status to transition back to pending

This cycle can repeat until the verification reaches a final state (verified or rejected).


Complete verification flow

The following diagram shows the complete verification lifecycle:

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│  ┌──────────────────┐                                           │
│  │   Verification   │                                           │
│  │    Submitted     │                                           │
│  └────────┬─────────┘                                           │
│           │                                                     │
│           ▼                                                     │
│  ┌──────────────────┐                                           │
│  │     pending      │◄─────────────────────────────────┐        │
│  └────────┬─────────┘                                  │        │
│           │                                            │        │
│           ▼                                            │        │
│  ┌──────────────────┐                                  │        │
│  │   Processing     │                                  │        │
│  └────────┬─────────┘                                  │        │
│           │                                            │        │
│     ┌─────┼─────┐                                      │        │
│     │     │     │                                      │        │
│     ▼     ▼     ▼                                      │        │
│  ┌─────┐ ┌────────┐ ┌──────┐                           │        │
│  │  ✓  │ │   ✗    │ │  ℹ   │                           │        │
│  │ ver │ │  rej   │ │ info │                           │        │
│  │ ifi │ │  ect   │ │      │                           │        │
│  │ ed  │ │  ed    │ └───┬──┘                           │        │
│  └─────┘ └────────┘     │                              │        │
│                         ▼                              │        │
│                ┌──────────────────┐                    │        │
│                │  Submit Missing  │                    │        │
│                │   Information    │────────────────────┘        │
│                └──────────────────┘                             │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Summary

StepActionEndpoint
1Receive info webhookN/A (webhook)
2Fetch remaining actionsGET /v5/verifications/:trace
3Upload missing documentsPOST /v5/verifications/:trace/documents
4Redirect stakeholders to eKYCUse formUrl from remaining actions
5(Optional) Send invite emailPOST /v5/verifications/:trace/stakeholders/:stakeholderId/invites
6Wait for pending webhookN/A (webhook)
7Receive final statusverified, rejected, or info (webhook)

Was this page helpful?