Bakkt Partner Party Linking API

The Partner Party Linking API from Bakkt — 3 operation(s) for partner party linking.

OpenAPI Specification

bakkt-partner-party-linking-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Bakkt Crypto Solutions Accounts Partner Party Linking 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:
- name: Partner Party Linking
paths:
  /partner/v1/partner/{partnerId}/party/{partnerPartyRef}/plaidAccount/link:
    post:
      tags:
      - Partner Party Linking
      summary: Link a Plaid account using processor token
      description: Send a processor token to link Plaid account
      operationId: addBankAccount
      parameters:
      - name: partnerId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: partnerPartyRef
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/PlaidAccountLinkingRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/AccountLinkResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PublicApiError'
  /partner/v1/partner/{partnerId}/party/{partnerPartyRef}/bankAccount:
    post:
      tags:
      - Partner Party Linking
      summary: Add Bank Account
      description: Add bank account details to a consumer account at Bakkt. Test Environment Use Only
      operationId: addManualBankAccount
      parameters:
      - name: partnerId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: partnerPartyRef
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/CreateBankAccountRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/CreateBankAccountResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PublicApiError'
  /partner/v1/partner/{partnerId}/party/{partnerPartyRef}/fiatAccount/unlink:
    post:
      tags:
      - Partner Party Linking
      summary: Unlink a fiat account
      description: Unlink a linked consumer fiat account
      operationId: removeFiatAccount
      deprecated: true
      parameters:
      - name: partnerId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: partnerPartyRef
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              $ref: '#/components/schemas/AccountUnLinkingRequest'
        required: true
      responses:
        '201':
          description: Transaction created
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/AccountUnLinkingResponse'
        '400':
          description: Bad Request
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PublicApiError'
components:
  schemas:
    PublicApiError:
      type: object
      properties:
        description:
          type: string
          description: Message from the exception
          example: Parameter passed for field is not meeting its required format.
        detail:
          type: string
          description: Description of the type
          example: validation error
        details:
          type: array
          items:
            $ref: '#/components/schemas/PublicApiErrorDetail'
        type:
          type: string
          example: INVALID_FIELD_VALUE
    AccountLinkResponse:
      type: object
      properties:
        success:
          type: boolean
    CreateBankAccountResponse:
      type: object
      properties:
        success:
          type: boolean
    CreateBankAccountRequest:
      required:
      - accountNumber
      - routingNumber
      - accountType
      type: object
      properties:
        accountDisplayName:
          type: string
        accountNumber:
          type: string
        accountStatus:
          type: string
        accountType:
          type: string
        bankName:
          type: string
        routingNumber:
          type: string
    AccountUnLinkingResponse:
      type: object
      properties:
        success:
          type: boolean
    PlaidAccountLinkingRequest:
      required:
      - processorToken
      - partnerTransactionRef
      type: object
      properties:
        processorToken:
          type: string
        partnerTransactionRef:
          type: string
    AccountUnLinkingRequest:
      type: object
      properties:
        instrumentType:
          type: string
          enum:
          - ACH
          - DEBIT
    PublicApiErrorDetail:
      type: object
      properties:
        description:
          type: string
          description: Human readable error description
          example: Validation Error.
        field:
          type: string
          example: id
        rejectedValue:
          type: object
          example: i-am-not-a-uuid
        type:
          type: string
          example: VALIDATION_ERROR