Bakkt Partner Party Linking API
The Partner Party Linking API from Bakkt — 3 operation(s) for partner party linking.
The Partner Party Linking API from Bakkt — 3 operation(s) for partner party linking.
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