Account
An Account is the central entity of the Vasco platform. It represents the legal holding vehicle through which an investor participates in securities. Every transaction, investment, and compliance check is attached to an Account.
Account Types
Vasco supports three account types:
| Type | GraphQL value | Description |
|---|---|---|
| Individual | IndividualAccount | A single natural person |
| Corporate | CorporateAccount | A legal entity such as a company or association |
| Joint | JointAccount | A co-subscription between two natural persons |
The accountType field on the Account object returns a detailed enum value including a human-readable label.
query {
GetAccount(id: "123") {
id
label
accountType {
code # "IndividualAccount"
label # "Individual"
}
}
}
KYC Status Lifecycle
Each Account carries a KYC (Know Your Customer) status that tracks the compliance onboarding lifecycle:
| Status | Description |
|---|---|
TO_COMPLETE | The investor hasn't completed their KYC form |
PENDING_REVIEW | Answers submitted, waiting for admin review |
PENDING_SIGNATURE | KYC documents have been sent for electronic signature |
COMPLETED | KYC is complete and awaiting final validation |
VALIDATED | KYC is fully validated — the account can invest |
REFUSED | KYC was rejected (a kycRefusedComment explains why) |
Expired | KYC has expired and must be renewed |
query {
GetAccount(id: "123") {
kycStatusDetailed {
code # "VALIDATED"
label # "Validated"
}
kycExpirationDate
kycRefusedComment
}
}
Use kycStatusDetailed (returns an object with code and label) rather than the deprecated kycStatus (returns the equivalent of code).
AML / LCBFT Risk
AML (Anti-Money Laundering) laws are a set of rules and regulations preventing money laundering and the financing of terrorist organizations.
LCB-FT is the French equivalent (Lutte Contre le Blanchiement de capitaux et le Financement du Terrorisme) and is the term used within Vasco historical feature and is planned to be replaced by its English translation soon.
Every account is associated with an AML risk level (LcbftLevel) computed from multiple independent risk dimensions. These levels are available on the Account type:
countryRiskDetailed— risk based on the investor's countryactivitySectorRiskDetailed— risk based on economic activityrelationshipRiskDetailed— risk based on relationship historyppeRiskDetailed— Politically Exposed Person risksanctionsRiskDetailed— sanctions screening resultlcbftLevelDetailed— the overall consolidated level
query {
GetAccount(id: "123") {
investorInfo {
lcbftLevel {
code
label
}
}
countryRiskDetailed {
code
label
}
ppeRiskDetailed {
code
label
}
# ...Other Account fields
}
}
→ Type reference: Account
This API Structure is planned to be changed in 2026
Key Fields at a Glance
| Field | Type | Description |
|---|---|---|
id | ID! | Unique identifier |
label | String! | Display name for the account |
bankAccounts | [BankAccount] | Bank accounts attached to this account |
investments | [Investment] | Investments held by this account |
accountDocuments | [AccountDocument] | Documents associated with the account |
distributedByAdvisor | DistributorAdvisor | Advisor of the Account |
Related Queries & Mutations
| Operation | Reference |
|---|---|
| Fetch a single account | GetAccount |
| List all accounts | GetAccounts |
| List accounts pending KYC review | GetKycsToReview |
| Set the KYC status | SetAccountKycStatus |
| List supported document types | GetAccountDocumentTypes |