Bakkt Currency Onboarding API

The Currency Onboarding API from Bakkt — 5 operation(s) for currency onboarding.

OpenAPI Specification

bakkt-currency-onboarding-api-openapi.yml Raw ↑
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