GuidesAPI ReferenceChangelog
API Reference

Onboarding Webhooks

Real-time notifications for KYC V2 individual onboarding events.

Onboarding webhooks deliver real-time notifications of state changes in a KYC V2 individual account throughout the onboarding lifecycle, including approval, rejection, manual review, Requests for Information (RFI), and reviewed limits.

See the Individual Onboarding Overview for how webhooks fit into the end-to-end onboarding flow.

Events

EventDescription
account.individual.readyThe individual account has passed review and is ready for use.
account.individual.rejectedThe individual account has been rejected during review and cannot be activated.
account.individual.under_reviewThe individual account is under manual compliance review.
account.individual.rfiReview has identified issues that require partner action before the account can proceed.
account.individual.reviewedThe individual account's reviewed tier or limits have changed.

account.individual.ready

Fired when an individual account passes review and becomes ready for use.

Payload

FieldTypeDescription
event_namestringAlways account.individual.ready.
data.account_idstringPublic account id of the individual account, such as IN-ABCD-1234.
data.statusstringAccount status. Always APPROVED for this event.
resource.idstringPublic account id of the individual account.
resource.typestringResource type. Always individual_account for this event.

account.individual.rejected

Fired when an individual account is rejected during review.

Payload

FieldTypeDescription
event_namestringAlways account.individual.rejected.
data.account_idstringPublic account id of the individual account, such as IN-ABCD-1234.
data.statusstringAccount status. Always REJECTED for this event.
resource.idstringPublic account id of the individual account.
resource.typestringResource type. Always individual_account for this event.

account.individual.under_review

Fired when an individual account moves into manual compliance review.

Payload

FieldTypeDescription
event_namestringAlways account.individual.under_review.
data.account_idstringPublic account id of the individual account, such as IN-ABCD-1234.
data.statusstringAccount status. Always UNDER_REVIEW for this event.
resource.idstringPublic account id of the individual account.
resource.typestringResource type. Always individual_account for this event.

account.individual.rfi

Fired when compliance review identifies one or more issues that require partner action before the individual account can proceed.

Use Get Individual Account to inspect the latest errors and document statuses, then respond with Update Individual Account and/or Upload Individual Document. Once all requested updates are complete, call Submit Individual Account again.

Payload

FieldTypeDescription
event_namestringAlways account.individual.rfi.
data.account_idstringPublic account id of the individual account, such as IN-ABCD-1234.
data.statusstringCurrent account status. Usually ACTION_REQUIRED for this event.
data.errorsarray of ErrorList of issues identified during review. Each error describes a problem and the affected field or document.
resource.idstringIdentifier of the RFI snapshot. Stable per snapshot; use it to deduplicate retries of the same RFI delivery.
resource.typestringResource type. Always account_rfi for this event.

Error object

FieldTypeDescription
typestring (optional)Machine-readable issue type or code, when available.
descriptionstringHuman-readable description of the issue.
targetTargetThe account field or document the issue applies to.

Target object

Only fields relevant to the issue are included.

FieldTypeDescription
scopestringEntity scope the issue applies to.
data.account_idstringPublic account id of the individual account.
data.propertystringField path the issue applies to, when field-specific.
data.document_typestringDocument type the issue applies to, such as ID_FRONT, ID_BACK, SELFIE, or POA.

account.individual.reviewed

Fired when an individual account's reviewed tier or limits have changed.

Payload

FieldTypeDescription
event_namestringAlways account.individual.reviewed.
data.account_idstringPublic account id of the individual account, such as IN-ABCD-1234.
data.limitsarray of LimitCurrent transaction limits for the account.
resource.idstringPublic account id of the individual account.
resource.typestringResource type. Always individual_account for this event.

For the same limits shape outside webhooks, call Get Individual Account Limits.

Deduplication

Webhook delivery is at least once and may arrive out of order. Use this receiver-side dedup tuple:

(event_name, resource.type, resource.id)

For RFI events, resource.id identifies the RFI snapshot. A later RFI for the same account may have a different resource.id and should be processed as a new event.