Bakkt Accounts API

Accounts are used to represent users that use the platform's services.

Operations 6

POST /apex-crypto/api/v2/accounts Create a New User Account #
GET /apex-crypto/api/v2/accounts/{clientAccountId} Retrieves Accounts by Account ID #
GET /apex-crypto/api/v2/accounts/{clientAccountId}/status Retrieves account status by Account ID #
POST /apex-crypto/api/v2/accounts/kycTransferRecovery/{clientAccountId} KYC transfer recovery request #
POST /apex-crypto/api/v2/accounts/triggerKYBScreening/{clientAccountId} Trigger KYB Screening on Account #
POST /apex-crypto/api/v2/accounts/settlementMethod/update Update Settlement Method on Account #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bakkt-accounts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

bakkt-accounts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bakkt Crypto Solutions Accounts API
  version: '2.0'
  description: The Bakkt Crypto Solutions API is a REST-based API that provides a platform for clients, so their investors can purchase, hold, sell, and transfer digital assets. Clients must have authorization to use the APIs, secure endpoints, and facilities to ensure safe, fast execution and tracking of orders. Users must specify all date and time units using epoch time in UTC. The URL path includes a version number to indicate major versions which retain backward compatibility to other URLs with the same version prefix. This document is reconstructed by the API Evangelist enrichment pipeline from the per-endpoint OpenAPI fragments Bakkt publishes on its ReadMe developer hub (bakkt.readme.io); it merges the Crypto Solutions (/apex-crypto/api/v2) and Fiat/Partner (/partner/v1) endpoint families.
  termsOfService: https://bakkt.com/user-agreement
  contact:
    name: Bakkt User Account Agreement
    url: https://bakkt.com/user-agreement
servers:
- url: https://api.bakkt.com
  description: Bakkt API gateway (dedicated per-client, IP-whitelisted; base paths /apex-crypto/api/v2 and /partner/v1)
tags:
- description: Accounts are used to represent users that use the platform's services.
  name: Accounts
paths:
  /apex-crypto/api/v2/accounts:
    post:
      description: Use this endpoint to create new investor accounts. The client must provide an account ID that uniquely identifies the investor from other investors on the client's platform.
      operationId: createAccount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountRequest'
        description: The account request must provide the required, basic jurisdiction and biographical information about the investor to enable the investor to participate in crypto asset transactions. Bakkt validates the provided information.
        required: true
      responses:
        '200':
          description: This response returns the newly created account for this investor.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '422':
          description: This response returns a validation failure with additional details about specific sections of the request that failed validation in both machine-readable and developer-friendly messages tied to fields by name.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrors'
        default:
          description: This response returns if the system encounters an unexpected error while handling this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - api_key: []
      summary: Create a New User Account
      tags:
      - Accounts
  /apex-crypto/api/v2/accounts/{clientAccountId}:
    get:
      description: This endpoint retrieves an investor account provided the client's unique account ID.
      operationId: getAccount
      parameters:
      - description: A unique account ID originally provided by the client system when the account was created
        in: path
        name: clientAccountId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: This response returns the latest account information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        default:
          description: This response returns if the system encounters an unexpected error while handling this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - api_key: []
      summary: Retrieves Accounts by Account ID
      tags:
      - Accounts
  /apex-crypto/api/v2/accounts/{clientAccountId}/status:
    get:
      description: This endpoint retrieves an investor account trading status provided the client's unique account ID.
      operationId: getAccountStatus
      parameters:
      - description: A unique account ID originally provided by the client system when the account was created
        in: path
        name: clientAccountId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: This response returns the latest account status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountOpeningStatus'
        default:
          description: This response returns if the system encounters an unexpected error while handling this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - api_key: []
      summary: Retrieves account status by Account ID
      tags:
      - Accounts
  /apex-crypto/api/v2/accounts/kycTransferRecovery/{clientAccountId}:
    post:
      description: Use this endpoing to recover KYC's that are transferred
      operationId: kycTransferRecovery
      parameters:
      - description: A unique account ID originally provided by the client system when the account was created
        in: path
        name: clientAccountId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KycTransferRecoveryRequest'
        description: The account transfer recovery request must provide the shared token
        required: true
      responses:
        '200':
          description: If transfer recovery request triggered successfully, this call returns the text "success."
          content:
            application/json:
              schema:
                type: string
        '422':
          description: This response returns a validation failure with additional details about the failed validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrors'
        default:
          description: This response returns if the system encounters an unexpected error while handling this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - api_key: []
      summary: KYC transfer recovery request
      tags:
      - Accounts
  /apex-crypto/api/v2/accounts/triggerKYBScreening/{clientAccountId}:
    post:
      description: Use this endpoint to trigger a KYB screening on input account.
      operationId: triggerKYBScreening
      parameters:
      - description: A unique account ID originally provided by the client system when the account was created
        in: path
        name: clientAccountId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: If KYB has been triggered successfully, this call returns the text "success."
          content:
            application/json:
              schema:
                type: string
        default:
          description: This response returns if the system encounters an unexpected error while handling this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - api_key: []
      summary: Trigger KYB Screening on Account
      tags:
      - Accounts
  /apex-crypto/api/v2/accounts/settlementMethod/update:
    post:
      description: Use this endpoint to update settlement method on input account.
      operationId: updateAccountSettlement
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountSettlementRequest'
        description: The account settlement request must provide unique account ID and desired settlement method it needs to be updated to
        required: true
      responses:
        '200':
          description: Response should return status of update and input request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountSettlementResponse'
        '422':
          description: This response returns a validation failure with additional details about the failed validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrors'
        default:
          description: This response returns if the system encounters an unexpected error while handling this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - api_key: []
      summary: Update Settlement Method on Account
      tags:
      - Accounts
components:
  schemas:
    KycTransferRecoveryRequest:
      properties:
        shareToken:
          description: The shared token
          type: string
          x-order: 0
      required:
      - shareToken
      type: object
    AccountOpeningStatus:
      properties:
        canTradeCrypto:
          type: boolean
          x-order: 0
        cipClearanceState:
          $ref: '#/components/schemas/CIPClearanceState'
        settlementMethod:
          $ref: '#/components/schemas/SettlementMethod'
      required:
      - canTradeCrypto
      - cipClearanceState
      - settlementMethod
      type: object
    ValidationErrors:
      properties:
        code:
          description: This code represents an HTTP style error code. Error codes in the 4xx range indicates errors made in the way the client made the request. Error codes in the 5xx range indicates errors that the Apex Crypto system encountered in handling the request.
          format: int32
          type: integer
        message:
          description: This error message provides a summary of the count of the validations that failed. Details about a field-level falure are provided in the validationErrors field.
          type: string
        validationErrors:
          description: The individual validation errors encountered in processing the client request. Each error should contain detail about a specific field-level validation that failed, the rejected value, and a message indicating the nature of the failure to aid in presentation to end users. The system makes a best effort to batch as many validation failures together as possible to avoid piece-meal, one-time validations.
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
      required:
      - code
      - message
      type: object
    Error:
      properties:
        code:
          description: This code represents an HTTP style error code. Error codes in the 4xx range indicate errors made in the way the client made the request. Error codes in the 5xx range indicate errors that the Apex Crypto system encountered in handling the request.
          format: int32
          type: integer
        message:
          description: This error message provides additional insight into the nature of the error encountered.
          type: string
      required:
      - code
      - message
      type: object
    Entity:
      description: Entity details
      properties:
        activeWalletAddress:
          description: Active crypto wallet address of the Entity
          example: e1847689-3047-477d-a46f-79ad0ce8dc14
          format: uuid
          type: string
          x-order: 0
        dailyNotionalTradingVolumeUsdRange:
          description: The Entity's expected daily trading volume
          enum:
          - UNDER_250K
          - FROM_250K_TO_500K
          - FROM_500K_TO_1M
          - FROM_1M_TO_2M
          - FROM_2M_TO_5M
          - FROM_5M_TO_10M
          - FROM_10M_TO_20M
          - FROM_20M_TO_50M
          - OVER_50M
          example: FROM_1M_TO_2M
          type: string
          x-order: 1
        dailyTransactionVolumeUsdRange:
          description: The Entity's expected daily transaction volume
          enum:
          - UNDER_250K
          - FROM_250K_TO_500K
          - FROM_500K_TO_1M
          - FROM_1M_TO_2M
          - FROM_2M_TO_5M
          - FROM_5M_TO_10M
          - FROM_10M_TO_20M
          - FROM_20M_TO_50M
          - OVER_50M
          example: FROM_1M_TO_2M
          type: string
          x-order: 2
        entityEmailAddress:
          description: The email of the Entity
          example: johnw@hightable.com
          format: email
          type: string
          x-order: 3
        entityFormationDate:
          description: The date of the Entity formation
          example: '2001-01-01'
          format: date
          type: string
          x-order: 4
        entityLegalName:
          description: The legal name of the Entity
          example: Cruickshank, Franecki and Swift
          maxLength: 100
          minLength: 1
          type: string
          x-order: 5
        entityOfferings:
          description: Products and services offered
          type: string
          x-order: 6
        entityPhoneNumber:
          description: Phone number in e.164 format
          example: '+1234567890'
          pattern: ^\+[1-9][0-9]{3,14}$
          type: string
          x-order: 7
        entityRegistrationStatus:
          description: Entity's registration status with a regulatory body
          enum:
          - CURRENTLY_REGISTERED
          - NOT_REGISTERED
          - REGISTRATION_IN_PROGRESS
          - NOT_APPLICABLE
          example: NOT_APPLICABLE
          type: string
          x-order: 8
        entityTaxId:
          description: The tax identifier for the Entity
          example: 098123456
          type: string
          x-order: 9
        entityType:
          description: Entity type
          enum:
          - CORPORATE
          - PARTNERSHIP
          - LLC
          - LIMITED_PARTNERSHIP
          - TRUST
          example: CORPORATE
          type: string
          x-order: 10
        firmAnnualNetIncome:
          description: The annual net income of the Entity
          enum:
          - UNDER_250K
          - FROM_250K_TO_500K
          - FROM_500K_TO_1M
          - FROM_1M_TO_2M
          - FROM_2M_TO_5M
          - FROM_5M_TO_10M
          - FROM_10M_TO_20M
          - FROM_20M_TO_50M
          - OVER_50M
          example: FROM_1M_TO_2M
          type: string
          x-order: 11
        firmLiquidNetWorthUsdRange:
          description: The liquid net worth of the Entity
          enum:
          - UNDER_250K
          - FROM_250K_TO_500K
          - FROM_500K_TO_1M
          - FROM_1M_TO_2M
          - FROM_2M_TO_5M
          - FROM_5M_TO_10M
          - FROM_10M_TO_20M
          - FROM_20M_TO_50M
          - OVER_50M
          example: FROM_1M_TO_2M
          type: string
          x-order: 12
        firmTotalNetWorthUsdRange:
          description: The total net worth of the Entity
          enum:
          - UNDER_250K
          - FROM_250K_TO_500K
          - FROM_500K_TO_1M
          - FROM_1M_TO_2M
          - FROM_2M_TO_5M
          - FROM_5M_TO_10M
          - FROM_10M_TO_20M
          - FROM_20M_TO_50M
          - OVER_50M
          example: FROM_1M_TO_2M
          type: string
          x-order: 13
        investmentExperience:
          description: Entity's level of investment experience prior to account creation
          enum:
          - NONE
          - LIMITED
          - GOOD
          - EXTENSIVE
          type: string
          x-order: 14
        investmentObjective:
          description: Entity's primary objective for investment account
          enum:
          - BALANCED
          - CAPITAL_PRESERVATION
          - GROWTH
          - INCOME
          - SPECULATION
          - OTHER
          type: string
          x-order: 15
        operatingAddress:
          $ref: '#/components/schemas/Address'
        operatingCountries:
          description: 3 letter country code as per ISO 3166 Alpha-3
          example:
          - USA
          items:
            description: 3 letter country code as per ISO 3166 Alpha-3
            enum:
            - AND
            - ARE
            - AFG
            - ATG
            - AIA
            - ALB
            - ARM
            - AGO
            - ATA
            - ARG
            - ASM
            - AUT
            - AUS
            - ABW
            - ALA
            - AZE
            - BIH
            - BRB
            - BGD
            - BEL
            - BFA
            - BGR
            - BHR
            - BDI
            - BEN
            - BLM
            - BMU
            - BRN
            - BOL
            - BES
            - BRA
            - BHS
            - BTN
            - BVT
            - BWA
            - BLR
            - BLZ
            - CAN
            - CCK
            - COD
            - CAF
            - COG
            - CHE
            - CIV
            - COK
            - CHL
            - CMR
            - CHN
            - COL
            - CRI
            - CUB
            - CPV
            - CUW
            - CXR
            - CYP
            - CZE
            - DEU
            - DJI
            - DNK
            - DMA
            - DOM
            - DZA
            - ECU
            - EST
            - EGY
            - ESH
            - ERI
            - ESP
            - ETH
            - FIN
            - FJI
            - FLK
            - FSM
            - FRO
            - FRA
            - GAB
            - GBR
            - GRD
            - GEO
            - GUF
            - GGY
            - GHA
            - GIB
            - GRL
            - GMB
            - GIN
            - GLP
            - GNQ
            - GRC
            - SGS
            - GTM
            - GUM
            - GNB
            - GUY
            - HKG
            - HMD
            - HND
            - HRV
            - HTI
            - HUN
            - IDN
            - IRL
            - ISR
            - IMN
            - IND
            - IOT
            - IRQ
            - IRN
            - ISL
            - ITA
            - JEY
            - JAM
            - JOR
            - JPN
            - KEN
            - KGZ
            - KHM
            - KIR
            - COM
            - KNA
            - PRK
            - KOR
            - KWT
            - CYM
            - KAZ
            - LAO
            - LBN
            - LCA
            - LIE
            - LKA
            - LBR
            - LSO
            - LTU
            - LUX
            - LVA
            - LBY
            - MAR
            - MCO
            - MDA
            - MNE
            - MAF
            - MDG
            - MHL
            - MKD
            - MLI
            - MMR
            - MNG
            - MAC
            - MNP
            - MTQ
            - MRT
            - MSR
            - MLT
            - MUS
            - MDV
            - MWI
            - MEX
            - MYS
            - MOZ
            - NAM
            - NCL
            - NER
            - NFK
            - NGA
            - NIC
            - NLD
            - NOR
            - NPL
            - NRU
            - NIU
            - NZL
            - OMN
            - PAN
            - PER
            - PYF
            - PNG
            - PHL
            - PAK
            - POL
            - SPM
            - PCN
            - PRI
            - PSE
            - PRT
            - PLW
            - PRY
            - QAT
            - REU
            - ROU
            - SRB
            - RUS
            - RWA
            - SAU
            - SLB
            - SYC
            - SDN
            - SWE
            - SGP
            - SHN
            - SVN
            - SJM
            - SVK
            - SLE
            - SMR
            - SEN
            - SOM
            - SUR
            - SSD
            - STP
            - SLV
            - SXM
            - SYR
            - SWZ
            - TCA
            - TCD
            - ATF
            - TGO
            - THA
            - TJK
            - TKL
            - TLS
            - TKM
            - TUN
            - TON
            - TUR
            - TTO
            - TUV
            - TWN
            - TZA
            - UKR
            - UGA
            - UMI
            - USA
            - URY
            - UZB
            - VAT
            - VCT
            - VEN
            - VGB
            - VIR
            - VNM
            - VUT
            - WLF
            - WSM
            - YEM
            - MYT
            - ZAF
            - ZMB
            - ZWE
            example: USA
            type: string
          type: array
          x-order: 17
        operatingIndustry:
          description: The Nature of Business (industry) of the Entity
          type: string
          x-order: 18
        registeredAddress:
          $ref: '#/components/schemas/Address'
        sourceOfCurrency:
          description: Source of virtual currency
          type: string
          x-order: 20
        sourceOfFunds:
          description: Source of fiat funds
          type: string
          x-order: 21
        subjectToAMLRegulations:
          description: Whether the Entity is subject to AML regulations
          example: true
          type: boolean
          x-order: 22
      required:
      - entityEmailAddress
      - entityLegalName
      - entityPhoneNumber
      - entityTaxId
      - entityType
      - operatingAddress
      - operatingIndustry
      - registeredAddress
      type: object
    AccountSettlementResponse:
      properties:
        request:
          $ref: '#/components/schemas/AccountSettlementRequest'
        status:
          description: status tied to account settlement update
          enum:
          - COMPLETE
          - FAILED
          type: string
          x-order: 1
      required:
      - request
      - status
      type: object
    Address:
      properties:
        city:
          description: City of residence
          type: string
          x-order: 0
        country:
          description: Country of residence (ISO code)
          type: string
          x-order: 3
        postalCode:
          description: Postal code / zip code (required when country is USA)
          type: string
          x-order: 2
        state:
          description: State of residence (two-letter state abbreviation). If outside of the United States please provide the province/territory in this field (no character limitation).
          type: string
          x-order: 1
        streetAddress:
          description: Street address for primary residence (for employer, street address for place of employment)
          items:
            type: string
          type: array
          x-order: 4
      required:
      - city
      - country
      - streetAddress
      type: object
    InvestmentExperience:
      description: Customer's level of investment experience prior to account creation
      enum:
      - NONE
      - LIMITED
      - GOOD
      - EXTENSIVE
      type: string
    RiskTolerance:
      description: Customer's accepted level of investment risk
      enum:
      - LOW
      - MEDIUM
      - HIGH
      type: string
    LiquidityNeeds:
      description: Importance of liquidity for the customer
      enum:
      - VERY_IMPORTANT
      - SOMEWHAT_IMPORTANT
      - NOT_IMPORTANT
      type: string
    InvestmentObjective:
      description: Customer's primary objective for investment account
      enum:
      - BALANCED
      - CAPITAL_PRESERVATION
      - GROWTH
      - INCOME
      - SPECULATION
      - OTHER
      type: string
    InvestmentProfile:
      properties:
        accountGoals:
          $ref: '#/components/schemas/AccountGoals'
        customerProfile:
          $ref: '#/components/schemas/CustomerProfile'
      required:
      - accountGoals
      - customerProfile
      type: object
    AccountGoals:
      properties:
        investmentObjective:
          $ref: '#/components/schemas/InvestmentObjective'
        liquidityNeeds:
          $ref: '#/components/schemas/LiquidityNeeds'
        riskTolerance:
          $ref: '#/components/schemas/RiskTolerance'
        timeHorizon:
          $ref: '#/components/schemas/TimeHorizon'
      required:
      - investmentObjective
      type: object
    USDRange:
      enum:
      - UNDER_25K
      - FROM_25K_TO_50K
      - FROM_50K_TO_100K
      - FROM_100K_TO_200K
      - FROM_200K_TO_300K
      - FROM_300K_TO_500K
      - FROM_500K_TO_1M
      - FROM_1M_TO_5M
      - OVER_5M
      type: string
    Enrollments:
      description: DEPRECATED.
      properties:
        registrationIndividual:
          $ref: '#/components/schemas/RegistrationIndividual'
      required:
      - registrationIndividual
      type: object
    TrustedContact:
      properties:
        emailAddress:
          description: The trusted contact's email address
          format: email
          type: string
          x-order: 4
        familyName:
          description: The trusted contact's family (typically last) name
          type: string
          x-order: 2
        givenName:
          description: The trusted contact's given (typically first) name
          type: string
          x-order: 0
        mailingAddress:
          $ref: '#/components/schemas/Address'
        middleNames:
          description: The trusted contact's middle name(s). Space or comma separated.
          type: string
          x-order: 1
        phoneNumber:
          description: The trusted contact's phone number
          type: string
          x-order: 3
      required:
      - givenName
      - familyName
      type: object
    Owner:
      properties:
        agreements:
          items:
            $ref: '#/components/schemas/Agreement'
          type: array
          x-order: 8
        clientOwnerId:
          description: Client provided unique owner id (required when multiple owners are present or national id is specified)
          type: string
          x-order: 1
        emailAddress:
          description: Customer's contact email
          format: email
          type: string
          x-order: 3
        identity:
          $ref: '#/components/schemas/Identity'
        identityId:
          description: DEPRECATED.
          type: string
          x-order: 5
        mailingAddress:
          $ref: '#/components/schemas/Address'
        ownerId:
          description: Bakkt owner identifier
          format: uuid
          type: string
          x-order: 0
        phoneNumber:
          description: Customer's contact phone number (Should be in compacted E.164 format, eg UK (+44) 1234 123456 becomes +441234123456)
          type: string
          x-order: 2
        role:
          $ref: '#/components/schemas/PartyRelationType'
      required:
      - emailAddress
      - mailingAddress
      - role
      - identity
      - agreements
      type: object
    SettlementMethod:
      description: Settlement Method tied to Account
      enum:
      - NET_SETTLEMENT
      - NO_SETTLEMENT
      - BAKKT_TPJ
      - APEX_TPJ
      type: string
    PartyRelationType:
      enum:
      - AUTHORIZED_AGENT
      - AUTHORIZED_MEMBER
      - AUTHORIZED_OWNER
      - BENEFICIAL_OWNER
      - BENEFICIARY
      - CUSTODIAN
      - EDUCATION_BENEFICIARY
      - EDUCATION_MANAGER
      - EXECUTOR
      - GUARDIAN_CONSERVATOR
      - INTERNAL_POWER_OF_ATTY
      - INITIAL_DEPOSITOR
      - JOINT_OWNER
      - MINOR_OWNER
      - PRIMARY_OWNER
      - POWER_OF_ATTY
      - SOLE_PROPRIETOR
      - TRADING_AUTHORITY
      - TREASURER
      - TRUSTEE
      - TRUSTED_CONTACT
      type: string
    TimeHorizon:
      description: Investment time horizon
      enum:
      - SHORT
      - AVERAGE
      - LONG
      type: string
    MaritalStatus:
      description: Customer's marital status
      enum:
      - SINGLE
      - MARRIED
      - DIVORCED
      - WIDOWED
      type: string
    AccountRequest:
      properties:
        accountType:
          description: Customer account type
          enum:
          - INDIVIDUAL
          - CUSTODIAL
          - ENTITY_PERSONAL_TRUST
          - ENTITY
          type: string
          x-order: 2
        clientAccountId:
          description: Client-specified unique identifier for the account (clientAccountId)
          type: string
          x-order: 1
        enrollments:
          $ref: '#/components/schemas/Enrollments'
        entity:
          $ref: '#/components/schemas/Entity'
        id:
          description: DEPRECATED. Please use clientAccountId
          type: string
          x-order: 0
        investmentProfile:
          $ref: '#/components/schemas/InvestmentProfile'
        owners:
          items:
            $ref: '#/components/schemas/Owner'
          minimum: 1
          type: array
          x-order: 5
        settlementMethod:
          description: Method of settlement for the customer account
          enum:
          - BAKKT_TPJ
          - NET_SETTLEMENT
          type: string
          x-order: 8
        shareToken:
          description: The share token field will contain a Sumsub token. If the user is designated for this specific KYC flow, this token must be passed.
          type: string
          x-order: 9
        trustedContacts:
          items:
            $ref: '#/components/schemas/TrustedContact'
          type: array
          x-order: 6
      required:
      - clientAccountId
      - owners
      type: object
    RegistrationIndividual:
      type: object
    AccountSettlementRequest:
      properties:
        accountId:
          description: client-specified unique identifier for the account
          type: string
          x-order: 0
        settlementMethod:
          description: Settlement Method tied to Account
          enum:
          - NET_SETTLEMENT
          - BAKKT_TPJ
          type: string
          x-order: 1
      required:
      - accountId
      - settlementMethod
      type: object
    ValidationError:
      properties:
        code:
          description: This is an open API-styled validation error code. These fields are provided so that client systems can present customized, localized messages in response to validation error types such as a required field.
          format: int32
          type: integer
        field:
          description: This is a field that failed validation in the input object as identified by an Open API Path.
          type: string
        message:
          description: This is an open API-styled message that summarizes the validation failed. This may include Open API Dot notation, so it should be formatted before being presented to an end user. Clients should consider implementing their own custom messages driven off the code field.
          type: string
        rejectedValue:
          type: string
      required:
      - code
      - message
      type: object
    Agreement:
      properties:
        eSignedDate:
          description: Date of electronic signature of the agreement
          format: date-time
          type: string
          x-order: 3
        name:
          description: Name of the agreement document
          type: string
          x-order: 0
        text:
          description: Text containing the body of the agreement document
          type: string
          x-order: 2
        version:
          description: Agreement document version
          type: string
          x-order: 1
      required:
      - name
      - version
      type: object
    Identity:
      properties:
        citizenshipCountry:
          description: DEPRECATED
          type: string
          x-order: 7
        dateOfBirth:
          description: Customer's date of birth
          format: date
          type: string
          x-order: 3
        disclosures:
          $ref: '#/components/schemas/Disclosures'
        employment:
          $ref: '#/components/schemas/Employment'
        familyName:
          description: Customer's family (typically last) name
          type: string
          x-order: 2
        givenName:
          description: Customer's given (typically first) name
          type: string
          x-order: 0
        maritalStatus:
          $ref: '#/components/schemas/MaritalStatus'
        middleNames:
          description: Customer's middle name(s). Space or comma separated.
          type: string
         

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bakkt/refs/heads/main/openapi/bakkt-accounts-api-openapi.yml