Get Business Verification
A business customer's verification record: its status, its history and the business's details. Owners and documents are listed separately, with List Beneficial Owners and List Business Documents.
Takes a workspace-scoped API key or a dashboard session. An account-scoped key is refused with 401.
Replaces GET /api/v2/kyb/banking-verification/business/{accountId}.
Authorization:
Every request is signed with your API key: a short-lived JWT, signed with your private key, sent in one header on /v3/* and /api/v2/* alike.
Headers:
Authorization: APIKey {SIGNED_JWT}
How to build and sign the JWT: Authentication.
Endpoint
/v3/customers/{customer_id}/kyb
Path parameters
| Parameter | Type | Description |
|---|---|---|
customer_id | string (cst_…) | Required. The business customer. |
A customer with no record answers 204 No Content, with no body. An id that names no customer of the workspace answers 404 customer_not_found. Reading never creates a record: open one with POST.
Response Sample
{
"id": "kyb_01m24es440fqxr7z5xsphsmvqm",
"customer_id": "cst_01m24bb8g0f28rhegcwp8rfbqd",
"status": "in_review",
"status_reason": "verification requested",
"provider": "braid",
"name": "Acme Robotics Inc",
"dba_name": "Acme Robotics",
"entity_type": "corporation",
"phone": "+14155550123",
"email": "ops@acmerobotics.example.com",
"website": "https://acmerobotics.example.com",
"id_number": "12-3456789",
"id_document_type": "ein",
"tax_number": "12-3456789",
"formation_date": "2019-06-01",
"incorporation_state": "DE",
"address": {
"line1": "500 Terry A Francois Blvd",
"line2": "Suite 400",
"city": "San Francisco",
"state": "CA",
"postal_code": "94158",
"country": "US"
},
"operation_address": {
"line1": "1 Market St",
"city": "San Francisco",
"state": "CA",
"postal_code": "94105",
"country": "US"
},
"ready": true,
"event_history": [
{
"status": "in_review",
"status_reason": "verification requested",
"date": "2026-09-10T09:05:00Z"
},
{
"status": "pending",
"status_reason": "verification record created",
"date": "2026-09-09T14:20:00Z"
}
],
"created_at": "2026-09-09T14:20:00Z",
"updated_at": "2026-09-10T09:05:00Z"
}
Response Schema
Fields with no value are omitted.
| Field | Type | Description |
|---|---|---|
id | string (kyb_…) | The verification record. |
customer_id | string (cst_…) | The business customer. |
status | string | Where the verification stands. See Statuses. |
status_reason | string | Why the status last changed. |
provider | string | The verification provider, once the business has been handed to it. |
name, dba_name, entity_type, phone, email, website | string | As written with Submit Business Details. |
id_number, id_document_type, tax_number | string | The same. |
formation_date, incorporation_state | string | The same. |
address, operation_address | address | The same. |
ready | boolean | The business's own details are complete: name, entity_type, id_number, id_document_type, formation_date and incorporation_state are set. Documents and owners are not part of it; Request Verification checks those too. |
event_history | array | Every status change, newest first. |
event_history[].status | string | The status it changed to. |
event_history[].status_reason | string | Why. |
event_history[].date | string (RFC 3339) | When. |
created_at | string (RFC 3339) | When the record was opened. |
updated_at | string (RFC 3339) | When it last changed. |
Statuses
Owners use the same values for their own status.
status | Means |
|---|---|
pending | Open and being filled in. |
ready_for_review | Set by BlockWyre once the details are complete, a document is completed, and the business has owners that are all ready_for_review, a status only External Owner Verification sets. A business whose owners were not verified externally stays pending until verification is requested. For information only: verification can be requested from pending too. |
in_review | Handed to the verification provider. The business's details and documents are locked, and no owner can be added. Removing an owner is never locked, and an owner's documents and external verification follow that owner's own status. |
approved | Verified. |
needs_update | Sent back for changes. The details can be written again. |
rejected | Refused. Final: it cannot be requested again. |
Errors
| Status | message | When |
|---|---|---|
400 | failed to parse request | customer_id is not a cst_… TypeID. |
401 | unauthorized | Missing or invalid signature, or an account-scoped key or customer session. |
403 | forbidden | A dashboard member whose role does not allow this. A workspace-scoped key always may. |
404 | customer_not_found | No such customer in this workspace. |
Coming from v2
v2 (GET /api/v2/kyb/banking-verification/business/{accountId}) | v3 |
|---|---|
accountId (path, uuid) | customer_id (path, cst_…) |
| creates a blank record when there is none | 204, nothing created |
owners | List Beneficial Owners |
verificationFiles | List Business Documents |
eventHistory[].statusReason | event_history[].status_reason |
camelCase fields, address1 / postalCode | snake_case fields, line1 / postal_code |
| no record id | id (kyb_…) and ready |
Support and Resources
If you need assistance or have any questions, our support team is here to help. You can contact our support team at support@blockwyre.com.
Stay Updated
Stay up-to-date with the latest news, updates, and features from BlockWyre by following us on social media:
- Instagram: BlockWyre Instagram
- Twitter: BlockWyre Twitter
- Facebook: BlockWyre Facebook
- LinkedIn: BlockWyre LinkedIn
We are excited to have you on board and look forward to seeing how you leverage BlockWyre's powerful tools to enhance your financial operations. Happy integrating!