KYB Request Lifecycle
Status values, transitions, and resubmission
Every KYB request moves through a small state machine. Knowing it helps you decide when to poll, when to retry, and when to show a final state to your user.
Status values
End-to-end flow
Handling rejection
Only KYB requests with status rejected (internally Declined) can be
resubmitted. Use resubmit_claim
and pass only the fields you want to change - anything you omit is copied from
the original draft.
Resubmission creates a new request_id. The old request_id is returned in
the response as original_request_id so you can track the chain.
Polling vs webhooks
Approval is delivered both ways:
- Webhook — fires on approval (your configured
webhook_url). This is the recommended path. - Polling — call
claim_statusat a sensible interval (e.g. every few minutes) if you can’t expose a public webhook endpoint.
For rejected and pending_verification states, polling is currently the only
signal.
