{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml","oas-apis/openapi.yaml":"oas-apis/openapi.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition","openapi-code-sample"]},"type":"markdown"},"seo":{"title":"Individual Document Verification","description":"Learn about BNDRY's APIs and core product capabilities.","siteUrl":"https://docs.bndry.net","keywords":"documentation, api","lang":"en-AU","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":["openapi"],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"individual-document-verification","__idx":0},"children":["Individual Document Verification"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-you-can-do","__idx":1},"children":["What You Can Do"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Verify government-issued identity documents stored against an individual Entity"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Trigger verification programmatically via the API or automatically through Policies"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Track verification results as Activity Logs on the Entity profile"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Verify Passports, Driver's Licences, Birth Certificates, Medicare Cards (AU), and Visas"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-it-works","__idx":2},"children":["How It Works"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The job checks the structured fields of a stored ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/core-concepts/documents"},"children":["Document"]}," against authoritative records. The process is asynchronous — you create a job, run it, then poll for the result."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Store a Document"]}," against the Entity with the relevant identity fields (e.g., document number, date of birth, expiry date)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create an ID Verification Job"]}," — a named, reusable job configuration."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Run the job"]},", specifying the Entity and the document type to verify."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Poll for the result"]}," using the operation ID returned from the run."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"prerequisites","__idx":3},"children":["Prerequisites"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before running an ID Verification job:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The Entity must exist in BNDRY as an individual entity."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The Entity must have a Document of the relevant type stored against it, with all required fields populated."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Storing Documents first"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Documents can be created via the BNDRY UI or ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/core-concepts/documents"},"children":["Documents API"]},". The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["idType"]}," you supply when running a verification job must match a Document type stored against the entity — for example, if you pass ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PASSPORT"]},", the entity must have a Passport Document with all required fields."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"using-the-api","__idx":4},"children":["Using the API"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Why 'Job' in the API?"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You'll notice we use \"verification\" when describing the product capability, but \"job\" appears in API resource names like ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["IndividualEntityIDVerificationJob"]},". This follows Google's API design standards for long-running operations (",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://google.aip.dev/152"},"children":["AIP-152"]},"), ensuring reliable and predictable behaviour for asynchronous workflows."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-1-create-an-id-verification-job","__idx":5},"children":["Step 1: Create an ID Verification Job"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create a job by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]},"ing to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/v1alpha/individualEntityIDVerificationJobs"]},". You must supply a unique ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["individualEntityIdVerificationJobId"]}," — this becomes the final component of the job's resource name and must be 4–63 lowercase alphanumeric characters or hyphens."]},{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"oas-apis/openapi.yaml","operationId":"IndividualEntityIDVerificationJobService_CreateIndividualEntityIDVerificationJob","parameters":{},"environments":{},"environment":"https://api.bndry.app"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["BNDRY returns the created job resource:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"name\": \"individualEntityIDVerificationJobs/id-verification-job-001\",\n  \"createTime\": \"2024-01-27T10:00:00Z\",\n  \"updateTime\": \"2024-01-27T10:00:00Z\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-2-run-the-job","__idx":6},"children":["Step 2: Run the Job"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Run the job with a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]}," to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/v1alpha/individualEntityIDVerificationJobs/{job}:run"]},", specifying the entity to verify and the document type to check. The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["idType"]}," must match a Document type stored against the entity."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"What if multiple documents exist for the specified type?"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The most recently updated document of the specified type will be used for the verification."]}]},{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"oas-apis/openapi.yaml","operationId":"IndividualEntityIDVerificationJobService_RunIndividualEntityIDVerificationJob","parameters":{"path":{"individualEntityIDVerificationJob":"id-verification-job-001"}},"environments":{},"environment":"https://api.bndry.app"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["BNDRY returns a reference to the long-running operation. The job runs asynchronously, so ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["done"]}," will initially be ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]},"."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"name\": \"individualEntityIDVerificationJobs/id-verification-job-001/operations/4f61bfab-def3-426f-9c1f-77032c8eb551\",\n  \"metadata\": {\n    \"@type\": \"type.googleapis.com/bndry.api.risk.entities.v1alpha.RunIndividualEntityIDVerificationJobMetadata\"\n  },\n  \"done\": false\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-3-poll-for-the-result","__idx":7},"children":["Step 3: Poll for the Result"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use the operation name returned in Step 2 to poll for the verification result. When verification is complete, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["done"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},"."]},{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"oas-apis/openapi.yaml","operationId":"IndividualEntityIDVerificationJobService_GetOperation","parameters":{"path":{"individualEntityIDVerificationJob":"id-verification-job-001","operation":"4f61bfab-def3-426f-9c1f-77032c8eb551"}},"environments":{},"environment":"https://api.bndry.app"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"name\": \"individualEntityIDVerificationJobs/id-verification-job-001/operations/4f61bfab-def3-426f-9c1f-77032c8eb551\",\n  \"metadata\": {\n    \"@type\": \"type.googleapis.com/bndry.api.risk.entities.v1alpha.RunIndividualEntityIDVerificationJobMetadata\"\n  },\n  \"done\": true\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"managing-jobs","__idx":8},"children":["Managing Jobs"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"retrieve-a-job","__idx":9},"children":["Retrieve a Job"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Retrieve the details of an existing job by its resource name."]},{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"oas-apis/openapi.yaml","operationId":"IndividualEntityIDVerificationJobService_GetIndividualEntityIDVerificationJob","parameters":{"path":{"individualEntityIDVerificationJob":"id-verification-job-001"}},"environments":{},"environment":"https://api.bndry.app"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"list-jobs","__idx":10},"children":["List Jobs"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["List all ID Verification jobs. Results are paginated — use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pageSize"]}," (max 100) and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pageToken"]}," to page through results."]},{"$$mdtype":"Tag","name":"OpenApiCodeSample","attributes":{"descriptionFile":"oas-apis/openapi.yaml","operationId":"IndividualEntityIDVerificationJobService_ListIndividualEntityIDVerificationJobs","parameters":{},"environments":{},"environment":"https://api.bndry.app"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"api-reference","__idx":11},"children":["API Reference"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Operation"},"children":["Operation"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Endpoint"},"children":["Endpoint"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/apis/openapi/individual-id-document-verification/individualentityidverificationjobservice_createindividualentityidverificationjob"},"children":["Create an ID Verification Job"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1alpha/individualEntityIDVerificationJobs"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/apis/openapi/individual-id-document-verification/individualentityidverificationjobservice_runindividualentityidverificationjob"},"children":["Run an ID Verification Job"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1alpha/individualEntityIDVerificationJobs/{job}:run"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/apis/openapi/individual-id-document-verification/individualentityidverificationjobservice_getoperation"},"children":["Get Operation"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /v1alpha/individualEntityIDVerificationJobs/{job}/operations/{operation}"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/apis/openapi/individual-id-document-verification/individualentityidverificationjobservice_getindividualentityidverificationjob"},"children":["Retrieve a Job"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /v1alpha/individualEntityIDVerificationJobs/{job}"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/apis/openapi/individual-id-document-verification/individualentityidverificationjobservice_listindividualentityidverificationjobs"},"children":["List Jobs"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /v1alpha/individualEntityIDVerificationJobs"]}]}]}]}]}]}]},"headings":[{"value":"Individual Document Verification","id":"individual-document-verification","depth":1},{"value":"What You Can Do","id":"what-you-can-do","depth":2},{"value":"How It Works","id":"how-it-works","depth":2},{"value":"Prerequisites","id":"prerequisites","depth":2},{"value":"Using the API","id":"using-the-api","depth":2},{"value":"Step 1: Create an ID Verification Job","id":"step-1-create-an-id-verification-job","depth":3},{"value":"Step 2: Run the Job","id":"step-2-run-the-job","depth":3},{"value":"Step 3: Poll for the Result","id":"step-3-poll-for-the-result","depth":3},{"value":"Managing Jobs","id":"managing-jobs","depth":2},{"value":"Retrieve a Job","id":"retrieve-a-job","depth":3},{"value":"List Jobs","id":"list-jobs","depth":3},{"value":"API Reference","id":"api-reference","depth":2}],"frontmatter":{"seo":{"title":"Individual Document Verification"}},"lastModified":"2026-04-28T00:44:28.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/guides/individual-document-verification","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}