Real-time notifications for business sub-account onboarding events.
Onboarding webhooks deliver real-time notifications of state changes in a business sub-account throughout the onboarding lifecycle — including compliance approval, rejection, and Requests for Information (RFI). Use these events to drive integration logic without polling.
See the Business Onboarding Overview for how webhooks fit into the end-to-end onboarding flow.
Events
| Event | Description |
|---|---|
account.business.ready | The business sub-account has passed compliance review and is ready for use. |
account.business.rejected | The business sub-account has been rejected during compliance review and cannot be activated. |
account.business.under_review | The business sub-account is under manual compliance review. |
account.business.rfi | Compliance review has identified issues that require partner action before the account can proceed. |
account.business.ready
account.business.readyFired when a business sub-account passes compliance review and becomes ready for use.
Payload
| Field | Type | Description |
|---|---|---|
event_name | string | Always account.business.ready. |
data.account_id | string | Public account id of the business sub-account (e.g. BZ-ABCD-1234). |
data.status | string | Account status. Always APPROVED for this event. |
resource.id | string | Public account id of the business sub-account. |
resource.type | string | Resource type. Always business_account for this event. |
account.business.rejected
account.business.rejectedFired when a business sub-account is rejected during compliance review.
Payload
| Field | Type | Description |
|---|---|---|
event_name | string | Always account.business.rejected. |
data.account_id | string | Public account id of the business sub-account (e.g. BZ-ABCD-1234). |
data.status | string | Account status. Always REJECTED for this event. |
resource.id | string | Public account id of the business sub-account. |
resource.type | string | Resource type. Always business_account for this event. |
account.business.under_review
account.business.under_reviewFired when a business sub-account moves into manual compliance review.
Payload
| Field | Type | Description |
|---|---|---|
event_name | string | Always account.business.under_review. |
data.account_id | string | Public account id of the business sub-account (e.g. BZ-ABCD-1234). |
data.status | string | Account status. Always UNDER_REVIEW for this event. |
resource.id | string | Public account id of the business sub-account. |
resource.type | string | Resource type. Always business_account for this event. |
account.business.rfi
account.business.rfiFired when compliance review identifies one or more issues that require partner action before the sub-account can proceed. See RFI Handling for the response flow.
Payload
| Field | Type | Description |
|---|---|---|
event_name | string | Always account.business.rfi. |
data.account_id | string | Public account id of the business sub-account (e.g. BZ-ABCD-1234). |
data.status | string | Account status. Always ACTION_REQUIRED for this event. |
data.errors | array of Error | List of errors identified during review. Each error describes a problem and the affected entity or document. |
resource.id | string (UUID) | Identifier of the RFI snapshot. Stable per snapshot — use it to dedup retries of the same RFI delivery. |
resource.type | string | Resource type. Always account_rfi for this event. |
Error object
| Field | Type | Description |
|---|---|---|
type | string (optional) | Machine-readable issue type or code, when available (e.g., FIELD_VALIDATION, DOCUMENT_MISSING, or a compliance review code). |
description | string | Human-readable description of the issue. |
target | Target | The entity, field, or document the issue applies to. |
Target object
| Field | Type | Description |
|---|---|---|
scope | string | Entity scope the issue applies to: BUSINESS, CONTROLLER, or INTERMEDIARY. |
data | TargetData object | Details identifying the affected entity, field, or document. |
TargetData object
Only fields relevant to the issue are included.
| Field | Type | Description |
|---|---|---|
account_id | string | Public account id of the business sub-account. Present when scope is BUSINESS. |
controller_id | string | Identifier of the controller. Present when scope is CONTROLLER. |
intermediary_id | string | Identifier of the intermediary entity. Present when scope is INTERMEDIARY. |
property | string | Field path the issue applies to, when the issue is field-specific. |
document_type | string | Document type the issue applies to, in SCREAMING_SNAKE_CASE (e.g. ID_FRONT, POA, CERT_OF_INC). |
