openapi: 3.0.0 info: title: Bakkt Crypto Solutions Accounts Currency Onboarding 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: Currency Onboarding paths: /apex-crypto/api/v2/allocation/currency/batch/allocate: post: description: Currency allocation request for a single customer account operationId: allocationCurrencyBatchAllocateCreate requestBody: content: application/json: schema: $ref: '#/components/schemas/CurrencyAllocationRequest' required: true responses: '200': description: Successful submission of currency allocation request content: application/json: schema: $ref: '#/components/schemas/CurrencyAllocation' '400': description: This response returns if the check was improperly submitted. content: application/json: schema: $ref: '#/components/schemas/Error' 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: Request For Currency Allocation tags: - Currency Onboarding /apex-crypto/api/v2/allocation/currency/batch/allocate/{clientTransactionId}: get: description: Retrieve details pertaining to a particular currency allocation by its clientTransactionId operationId: allocationCurrencyBatchAllocateGet parameters: - description: Client-specified unique identifer for the currency allocation in: path name: clientTransactionId required: true schema: type: string format: uuid responses: '200': description: Returns details of the allocation content: application/json: schema: $ref: '#/components/schemas/CurrencyAllocation' '400': description: This response returns if the check was improperly submitted. content: application/json: schema: $ref: '#/components/schemas/Error' 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: Retrieve Currency Allocation Details By clientTransactionId tags: - Currency Onboarding /apex-crypto/api/v2/allocation/currency/batch/close: post: description: Request to close off currency allocations of a particular batch operationId: allocationCurrencyBatchClose requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchCurrencyAllocationCloseRequest' required: true responses: '200': description: This response returns the details of the closed batch content: application/json: schema: $ref: '#/components/schemas/BatchCurrencyAllocation' '400': description: This response returns if the check was improperly submitted. content: application/json: schema: $ref: '#/components/schemas/Error' 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: Request To Close Currency Allocation Batch tags: - Currency Onboarding /apex-crypto/api/v2/allocation/currency/batch/{batchTransactionId}: get: description: Retrieve allocation details pertaining to a particular series of currency allocations by their batchTransactionId operationId: allocationCurrencyBatchGet parameters: - description: Client-specified unique identifier for a set of currency allocations belonging to the same batch request in: path name: batchTransactionId required: true schema: type: string format: uuid responses: '200': description: This response returns the details of the currency allocation batch content: application/json: schema: $ref: '#/components/schemas/BatchCurrencyAllocation' '400': description: This response returns if the check was improperly submitted content: application/json: schema: $ref: '#/components/schemas/Error' 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: Retrieve Currency Allocation Details By batchTransactionId tags: - Currency Onboarding /apex-crypto/api/v2/allocation/currency/batch/open: post: description: Open a new batch of currency allocations for a particular currency where all transactions will be quantity based operationId: allocationCurrencyBatchOpen requestBody: content: application/json: schema: $ref: '#/components/schemas/BatchCurrencyAllocationOpenRequest' required: true responses: '200': description: Successfully opened allocations batch content: application/json: schema: $ref: '#/components/schemas/BatchCurrencyAllocation' '400': description: This response returns if the check was improperly submitted. content: application/json: schema: $ref: '#/components/schemas/Error' 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: Request For New Currency Allocation Batch tags: - Currency Onboarding components: schemas: CurrencyAllocationRequest: description: Currency allocation request for a single customer account properties: account: description: External ID for customer account type: string x-order: 0 batchTransactionId: description: Client-specified unique identifier for a set of currency allocations belonging to the same batch format: uuid type: string x-order: 2 clientTransactionId: description: Client-specified unique identifier for the currency allocation format: uuid type: string x-order: 3 currency: description: Requested currency type: string x-order: 5 direction: description: Denotes whether depositing or withdrawing currency enum: - DEPOSIT - WITHDRAWAL type: string x-order: 4 quantity: description: Order size in product units format: decimal type: string x-order: 1 required: - account - quantity - batchTransactionId - clientTransactionId - direction - currency AllocationStatus: description: Status of allocation enum: - PENDING - IN_PROGRESS - COMPLETE - REJECTED - CANCELLED type: string BatchCurrencyAllocation: description: Details of a particular currency allocation batch containing one or many allocation requests properties: allocations: description: Number of requested currency allocations within the batch type: integer x-order: 0 createdAt: description: Date and time at which the currency allocation batch was submitted format: date-time type: string x-order: 1 id: description: Bakkt internal id format: uuid type: string x-order: 2 rejectReason: description: The reason the currency allocation was rejected type: string x-order: 5 request: $ref: '#/components/schemas/BatchCurrencyAllocationOpenRequest' status: $ref: '#/components/schemas/BatchAllocationStatus' required: - allocations - createdAt - id - request - status BatchCurrencyAllocationOpenRequest: description: Request to open a currency allocation batch properties: batchTransactionId: description: Client-specified unique identifier for a set of currency allocations belonging to the same batch format: uuid type: string x-order: 0 currency: description: Requested currency type: string x-order: 1 transactionHash: description: Transaction hash for the blockchain transaction type: string x-order: 2 required: - batchTransactionId - currency - transactionHash BatchAllocationStatus: description: Status of allocation enum: - OPEN - CLOSED - IN_PROGRESS - COMPLETE - REJECTED type: string 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 CurrencyAllocation: description: Summary of details pertaining to a currency allocation request properties: createdAt: description: Date at which the currency allocation batch was submitted format: date-time type: string x-order: 0 id: description: Bakkt unique identifier for the currency allocation format: uuid type: string x-order: 1 rejectReason: description: The reason the currency allocation was rejected type: string x-order: 3 request: $ref: '#/components/schemas/CurrencyAllocationRequest' status: $ref: '#/components/schemas/AllocationStatus' required: - createdAt - id - request - status BatchCurrencyAllocationCloseRequest: description: Request to close off currency allocations of a particular batch properties: allocations: description: Number of requested currency allocations within the batch type: integer x-order: 1 batchTransactionId: description: Client-specified unique identifier for a set of currency allocations belonging to the same batch format: uuid type: string x-order: 0 required: - batchTransactionId - allocations