Skip to main content
GET
Read the KYB graph

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-api-key
string | null

Response

Successful Response

The customer-facing view of one user's KYB graph.

Everything the KYB flow needs in one read, and nothing shaped like a questionnaire: the client edits entities and edges, so that is what it is given. The admin's richer, projection-shaped view lives in :class:KybDraftResponse and is built by a different service.

kybStatus
enum<string>
required

KYC verification status.

Available options:
not_started,
requested,
incorporating,
pending,
under_review,
approved,
rejected
updatedAt
string<date-time>
required
rootEntityId
string<uuid> | null

The entity the KYB application is about.

kybStatusByRails
Kybstatusbyrails · object
entities
EntityData · object[]

EVERY entity this user owns — the ones the ownership walk reaches and the ones it does not. Splitting them is what made half-linked people invisible to the client that created them; deciding what to show is the client's job, and it needs the whole set to do it.

relationships
EntityRelationshipDraftData · object[]
pendingShareholders
KybPendingShareholderData · object[]

Invited owners who have not consented yet. Only their HEVN login email and relationship status are disclosed.

documents
Documents · object

Resolved documents (name, signed link) keyed by entity id. Each type is the slot the file is filed in, which is what the admin console and the submission gate read; a file filed in two slots is reported once per slot.

requiredDocuments
string[]

Company document slots the draft flow asks for. Jurisdiction-dependent — a US company is also asked for its IRS EIN letter.

requiredShareholderDocuments
string[]

Document types every shareholder needs. Enforced at submit, so a client that cannot read the list here can only discover it by being refused.

corporateAuthorityDocumentsRequired
boolean
default:true

Whether Authorization to Act and Authority to Bind documents are required. False when the account email belongs to a director.

missingFields
string[]

What submission is still waiting for: the required fields POST /kyb/submit enforces, plus the document slots it asks for but does not block on. Without it here the flow could only discover the gap by being refused.

isReadyForSubmission
boolean
default:false
comment
string | null