Individual Document Verification lets you verify the identity documents stored against an Entity in BNDRY. BNDRY checks the structured document data — document number, expiry date, issuing authority, and other typed fields — against authoritative government sources, returning a result you can use to drive compliance decisions.
- Verify government-issued identity documents stored against an individual Entity
- Trigger verification programmatically via the API or automatically through Policies
- Track verification results as Activity Logs on the Entity profile
- Verify Passports, Driver's Licences, Birth Certificates, Medicare Cards (AU), and Visas
The job checks the structured fields of a stored Document against authoritative records. The process is asynchronous — you create a job, run it, then poll for the result.
- Store a Document against the Entity with the relevant identity fields (e.g., document number, date of birth, expiry date).
- Create an ID Verification Job — a named, reusable job configuration.
- Run the job, specifying the Entity and the document type to verify.
- Poll for the result using the operation ID returned from the run.
Before running an ID Verification job:
- The Entity must exist in BNDRY as an individual entity.
- The Entity must have a Document of the relevant type stored against it, with all required fields populated.
Documents can be created via the BNDRY UI or Documents API. The idType you supply when running a verification job must match a Document type stored against the entity — for example, if you pass PASSPORT, the entity must have a Passport Document with all required fields.
You'll notice we use "verification" when describing the product capability, but "job" appears in API resource names like IndividualEntityIDVerificationJob. This follows Google's API design standards for long-running operations (AIP-152), ensuring reliable and predictable behaviour for asynchronous workflows.
Create a job by POSTing to /v1alpha/individualEntityIDVerificationJobs. You must supply a unique individualEntityIdVerificationJobId — this becomes the final component of the job's resource name and must be 4–63 lowercase alphanumeric characters or hyphens.
- BNDRY APIhttps://api.bndry.app/v1alpha/individualEntityIDVerificationJobs
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://api.bndry.app/v1alpha/individualEntityIDVerificationJobs?individualEntityIdVerificationJobId=individual-entity-id-verification-job-001' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"name": "individualEntityIDVerificationJobs/individual-entity-id-verification-job-2024-0127-743891",
"createTime": "2023-01-15T01:30:15.01Z",
"updateTime": "2023-01-15T01:30:15.01Z"
}'BNDRY returns the created job resource:
{
"name": "individualEntityIDVerificationJobs/id-verification-job-001",
"createTime": "2024-01-27T10:00:00Z",
"updateTime": "2024-01-27T10:00:00Z"
}Run the job with a POST to /v1alpha/individualEntityIDVerificationJobs/{job}:run, specifying the entity to verify and the document type to check. The idType must match a Document type stored against the entity.
The most recently updated document of the specified type will be used for the verification.
- BNDRY APIhttps://api.bndry.app/v1alpha/individualEntityIDVerificationJobs/{individualEntityIDVerificationJob}:run
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.bndry.app/v1alpha/individualEntityIDVerificationJobs/id-verification-job-001:run \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"entityResourceName": "entities/acme-corp-001",
"idType": "PASSPORT"
}'BNDRY returns a reference to the long-running operation. The job runs asynchronously, so done will initially be false.
{
"name": "individualEntityIDVerificationJobs/id-verification-job-001/operations/4f61bfab-def3-426f-9c1f-77032c8eb551",
"metadata": {
"@type": "type.googleapis.com/bndry.api.risk.entities.v1alpha.RunIndividualEntityIDVerificationJobMetadata"
},
"done": false
}Use the operation name returned in Step 2 to poll for the verification result. When verification is complete, done is true.
- BNDRY APIhttps://api.bndry.app/v1alpha/individualEntityIDVerificationJobs/{individualEntityIDVerificationJob}/operations/{operation}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://api.bndry.app/v1alpha/individualEntityIDVerificationJobs/id-verification-job-001/operations/4f61bfab-def3-426f-9c1f-77032c8eb551 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{
"name": "individualEntityIDVerificationJobs/id-verification-job-001/operations/4f61bfab-def3-426f-9c1f-77032c8eb551",
"metadata": {
"@type": "type.googleapis.com/bndry.api.risk.entities.v1alpha.RunIndividualEntityIDVerificationJobMetadata"
},
"done": true
}Retrieve the details of an existing job by its resource name.
- BNDRY APIhttps://api.bndry.app/v1alpha/individualEntityIDVerificationJobs/{individualEntityIDVerificationJob}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://api.bndry.app/v1alpha/individualEntityIDVerificationJobs/id-verification-job-001 \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'List all ID Verification jobs. Results are paginated — use pageSize (max 100) and pageToken to page through results.
- BNDRY APIhttps://api.bndry.app/v1alpha/individualEntityIDVerificationJobs
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.bndry.app/v1alpha/individualEntityIDVerificationJobs?pageSize=25&pageToken=ChAIAhABGAEiAggC&skip=0' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'| Operation | Endpoint |
|---|---|
| Create an ID Verification Job | POST /v1alpha/individualEntityIDVerificationJobs |
| Run an ID Verification Job | POST /v1alpha/individualEntityIDVerificationJobs/{job}:run |
| Get Operation | GET /v1alpha/individualEntityIDVerificationJobs/{job}/operations/{operation} |
| Retrieve a Job | GET /v1alpha/individualEntityIDVerificationJobs/{job} |
| List Jobs | GET /v1alpha/individualEntityIDVerificationJobs |