Bakkt Block Trade & Allocate API

The Block Trade & Allocate API from Bakkt — 5 operation(s) for block trade & allocate.

OpenAPI Specification

bakkt-block-trade-allocate-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Bakkt Crypto Solutions Accounts Block Trade & Allocate 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: Block Trade & Allocate
paths:
  /apex-crypto/api/v2/allocation/trade/batch/allocate:
    post:
      description: Allocation request for a single customer account
      operationId: allocationTradeBatchAllocateCreate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchTradeAllocationRequest'
        required: true
      responses:
        '200':
          description: Successful submission of allocation request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchTradeAllocation'
        '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 Allocation
      tags:
      - Block Trade & Allocate
  /apex-crypto/api/v2/allocation/trade/batch/allocate/{clientTransactionId}:
    get:
      description: Retrieve details pertaining to a particular allocation by its clientTransactionId
      operationId: allocationTradeBatchAllocateGet
      parameters:
      - description: Client-specified unique identifer for the 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/BatchTradeAllocation'
        '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 Allocation Details By clientTransactionId
      tags:
      - Block Trade & Allocate
  /apex-crypto/api/v2/allocation/trade/batch/close:
    post:
      description: Request to close off allocations of a particular batch
      operationId: allocationTradeBatchClose
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchAllocationCloseRequest'
        required: true
      responses:
        '200':
          description: This response returns the details of the closed batch
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchAllocation'
        '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 Allocation Batch
      tags:
      - Block Trade & Allocate
  /apex-crypto/api/v2/allocation/trade/batch/{batchTransactionId}:
    get:
      description: Retrieve allocation details pertaining to a particular series of allocations by its batchTransactionId
      operationId: allocationTradeBatchGet
      parameters:
      - description: Client-specified unique identifier for a set of 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 allocation batch
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchAllocation'
        '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 Allocation Details By batchTransactionId
      tags:
      - Block Trade & Allocate
  /apex-crypto/api/v2/allocation/trade/batch/open:
    post:
      description: Open a new batch of allocations for a particular symbol where all transactions will either be notional or quantity based
      operationId: openBatchTradeAllocation
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchAllocationOpenRequest'
        required: true
      responses:
        '200':
          description: Successfully opened allocations batch
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchAllocation'
        '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 Allocation Batch
      tags:
      - Block Trade & Allocate
components:
  schemas:
    BatchAllocationOpenRequest:
      description: Request to open an allocation batch
      properties:
        batchTransactionId:
          description: Client-specified unique identifier for a set of allocations belonging to the same batch
          format: uuid
          type: string
          x-order: 0
        symbol:
          description: The symbol representing a crypto asset on the platform
          type: string
          x-order: 1
        type:
          description: Denotes if the order is based on monetary units or exact quantity of crypto
          enum:
          - NOTIONAL
          - QUANTITY
          type: string
          x-order: 2
      required:
      - batchTransactionId
      - symbol
      - type
    AllocationStatus:
      description: Status of allocation
      enum:
      - PENDING
      - IN_PROGRESS
      - COMPLETE
      - REJECTED
      - CANCELLED
      type: string
    BatchTradeAllocation:
      description: Summary of details pertaining to an allocation request
      properties:
        createdAt:
          description: Date at which the allocation batch was submitted
          format: date-time
          type: string
          x-order: 0
        feeApplied:
          description: USD value of the fee applied to the allocation
          format: decimal
          type: string
          x-order: 5
        id:
          description: Bakkt unique identifier for the allocation
          format: uuid
          type: string
          x-order: 1
        netMoney:
          description: Notional value of the allocation, inclusive of any fees applied
          format: decimal
          type: string
          x-order: 2
        price:
          description: Price of the order at time of allocation
          format: decimal
          type: string
          x-order: 3
        quantity:
          description: Order size in number of product units
          format: decimal
          type: string
          x-order: 4
        rejectReason:
          description: The reason the allocation was rejected
          type: string
          x-order: 7
        request:
          $ref: '#/components/schemas/BatchTradeAllocationRequest'
        status:
          $ref: '#/components/schemas/AllocationStatus'
      required:
      - createdAt
      - id
      - request
      - status
    BatchAllocationStatus:
      description: Status of allocation
      enum:
      - OPEN
      - CLOSED
      - IN_PROGRESS
      - COMPLETE
      - REJECTED
      type: string
    BatchAllocation:
      description: Details of a particular allocation batch containing one or many allocation requests
      properties:
        allocations:
          description: Number of requested allocations within the batch
          type: integer
          x-order: 0
        createdAt:
          description: Date at which the allocation batch was submitted
          format: date-time
          type: string
          x-order: 1
        id:
          description: Bakkt allocation id
          format: uuid
          type: string
          x-order: 2
        rejectReason:
          description: The reason the allocation was rejected
          type: string
          x-order: 5
        request:
          $ref: '#/components/schemas/BatchAllocationOpenRequest'
        status:
          $ref: '#/components/schemas/BatchAllocationStatus'
      required:
      - allocations
      - createdAt
      - id
      - request
      - status
    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
    BatchAllocationCloseRequest:
      description: Request to close off allocations of a particular batch
      properties:
        allocations:
          description: Number of requested allocations within the batch
          type: integer
          x-order: 1
        batchTransactionId:
          description: Client-specified unique identifier for a set of allocations belonging to the same batch
          format: uuid
          type: string
          x-order: 0
      required:
      - batchTransactionId
      - allocations
    BatchTradeAllocationRequest:
      description: Allocation request for a single customer account
      properties:
        account:
          description: Bakkt client account identifier
          type: string
          x-order: 0
        amount:
          description: Order size depending on request type (NOTIONAL or QUANTITY)
          format: decimal
          type: string
          x-order: 1
        batchTransactionId:
          description: Client-specified unique identifier for a set of allocations belonging to the same batch
          format: uuid
          type: string
          x-order: 2
        bpsCommission:
          description: Clients use this parameter to add commission (in basis points) to the investor's executed allocation cost
          type: integer
          x-order: 6
          nullable: true
        clientTransactionId:
          description: Client-specified unique identifier for the allocation
          format: uuid
          type: string
          x-order: 3
        fixedCommission:
          description: Clients use this parameter to add fixed commission (in USD) to the investor's executed allocation cost
          format: decimal
          type: string
          x-order: 7
          nullable: true
        side:
          description: Denotes whether buying or selling an asset
          enum:
          - BUY
          - SELL
          type: string
          x-order: 4
        symbol:
          description: The symbol representing a crypto asset on the platform
          type: string
          x-order: 5
      required:
      - account
      - amount
      - batchTransactionId
      - clientTransactionId
      - side
      - symbol