Skip to main content
GET
Get a KYB verification

Authorizations

ds-api-token
string
header
required

Path Parameters

verification_id
string<uuid>
required

The KYB case id (the id from the list response).

Example:

"019f179b-0fa7-72c8-818e-819652540477"

Response

KYB verification detail.

Full drill-in for one KYB verification.

id
string<uuid>

KYB case id (the URL key; the id from the list).

Example:

"019f179b-0fa7-72c8-818e-819652540477"

verification_id
string<uuid> | null

Verification id created by the pipeline after submit; null before then.

public_id
string
Example:

"KYBC8274B9CF4907859"

organization_id
string
Example:

"o6e501dc4d3c6d9a4"

applicant_id
string<uuid>
Example:

"019f1383-8f38-7d31-b921-39310a19b444"

external_id
string | null
Example:

"bolt-merchant-123"

company_name
string | null
Example:

"Acme Holdings Inc."

country
string | null
Example:

"US"

status
enum<string>

KYB case status.

  • draftunder_review as the case moves from data collection into checks.
  • action_required — a remediation is open (the merchant must fix and resubmit something).
  • Once the checks are terminal the risk score sets the outcome: approved (Low) / manual_review (Medium) / rejected (High), or failed when the score could not be obtained.
  • approved_manually / rejected_manually — a reviewer's manual decision.
Available options:
draft,
under_review,
action_required,
approved,
manual_review,
rejected,
failed,
approved_manually,
rejected_manually
Example:

"under_review"

stage
enum<string>

Derived lifecycle stage. While the case is in progress: collecting_datarunning_checksmanual_review; action_required when a remediation is open. Once the case is decided, stage mirrors the final status.

Available options:
collecting_data,
running_checks,
manual_review,
action_required,
approved,
rejected,
failed,
approved_manually,
rejected_manually
Example:

"manual_review"

decision
string | null

Reserved for the KYB risk scoring service; currently always null. The risk-driven outcome is surfaced in status instead.

Example:

null

risk_level
string | null

KYB business risk level (Low/Medium/High); null until the risk-score check runs.

Example:

"High"

is_sandbox
boolean
Example:

false

created_at
string<date-time>
submitted_at
string<date-time> | null
company
object | null

Declared-company snapshot for the Company/Application cards, sourced from the widget field values.

form_progress
object | null

Widget-session completion stepper. Section completeness uses the same rules Submit enforces.

checks_summary
object | null

Aggregates the verification's checks for the expanded row. Counts are by check TYPE (a fan-out check such as AML-per-person counts as one). completed = passed + review + failed + errored. Null until the pipeline links a verification to the case.

application
object

The widget-collected state — the section catalog merged with stored values, owners and documents. Same shape as the widget state (GET /api/v4/kyb/widget/{public_id}).

checks
object[]

The single flat list of every check the pipeline ran.

documents
object[]

Uploaded files grouped for the Documents section; each references its doc-manipulation check via check_ref.

persons
object[]

The representative and beneficial owners grouped for the People section; each references its AML check via aml_check_ref (and the representative its KYC via kyc_check_ref).

risk
object | null

Final risk scoring outcome. Provided by the KYB risk scoring service; null until then.