Bakkt Fiat Onboarding API

The Fiat Onboarding API from Bakkt — 5 operation(s) for fiat onboarding.

OpenAPI Specification

bakkt-fiat-onboarding-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Bakkt Crypto Solutions Accounts Fiat 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: Fiat Onboarding
paths:
  /apex-crypto/api/v2/allocation/fiat/batch/allocate:
    post:
      description: Fiat allocation request for a single customer account
      operationId: allocationFiatBatchAllocateCreate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FiatAllocationRequest'
        required: true
      responses:
        '200':
          description: Successful submission of fiat allocation request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FiatAllocation'
        '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 Fiat Allocation
      tags:
      - Fiat Onboarding
  /apex-crypto/api/v2/allocation/fiat/batch/allocate/{clientTransactionId}:
    get:
      description: Retrieve details pertaining to a particular fiat allocation by its clientTransactionId
      operationId: allocationFiatBatchAllocateGet
      parameters:
      - description: Client-specified unique identifer for the fiat 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/FiatAllocation'
        '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 Fiat Allocation Details By clientTransactionId
      tags:
      - Fiat Onboarding
  /apex-crypto/api/v2/allocation/fiat/batch/close:
    post:
      description: Request to close off fiat allocations of a particular batch
      operationId: allocationFiatBatchClose
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchFiatAllocationCloseRequest'
        required: true
      responses:
        '200':
          description: This response returns the details of the closed batch
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchFiatAllocation'
        '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 Fiat Allocation Batch
      tags:
      - Fiat Onboarding
  /apex-crypto/api/v2/allocation/fiat/batch/{batchTransactionId}:
    get:
      description: Retrieve allocation details pertaining to a particular series of fiat allocations by their batchTransactionId
      operationId: allocationFiatBatchGet
      parameters:
      - description: Client-specified unique identifier for a set of fiat 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 fiat allocation batch
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchFiatAllocation'
        '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 Fiat Allocation Details By batchTransactionId
      tags:
      - Fiat Onboarding
  /apex-crypto/api/v2/allocation/fiat/batch/open:
    post:
      description: Open a new batch of fiat allocations for a particular currency where all transactions will be quantity based
      operationId: allocationFiatBatchOpen
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchFiatAllocationOpenRequest'
        required: true
      responses:
        '200':
          description: Successfully opened allocations batch
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchFiatAllocation'
        '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 Fiat Allocation Batch
      tags:
      - Fiat Onboarding
components:
  schemas:
    BatchFiatAllocationOpenRequest:
      description: Request to open a fiat allocation batch
      properties:
        batchTransactionId:
          description: Client-specified unique identifier for a set of fiat allocations belonging to the same batch
          format: uuid
          type: string
          x-order: 0
      required:
      - batchTransactionId
    AllocationStatus:
      description: Status of allocation
      enum:
      - PENDING
      - IN_PROGRESS
      - COMPLETE
      - REJECTED
      - CANCELLED
      type: string
    FiatAllocationRequest:
      description: Fiat allocation request for a single customer account
      properties:
        account:
          description: Bakkt unique identifier for the fiat allocation
          type: string
          x-order: 0
        batchTransactionId:
          description: Client-specified unique identifier for a set of fiat allocations belonging to the same batch
          format: uuid
          type: string
          x-order: 2
        clientTransactionId:
          description: Client-specified unique identifier for the fiat allocation
          format: uuid
          type: string
          x-order: 3
        currency:
          description: Requested fiat 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
    BatchFiatAllocation:
      description: Details of a particular fiat allocation batch containing one or many allocation requests
      properties:
        allocations:
          description: Number of requested fiat allocations within the batch
          type: integer
          x-order: 0
        createdAt:
          description: Date and time at which the fiat 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 fiat allocation was rejected
          type: string
          x-order: 5
        request:
          $ref: '#/components/schemas/BatchFiatAllocationOpenRequest'
        status:
          $ref: '#/components/schemas/BatchAllocationStatus'
      required:
      - allocations
      - createdAt
      - id
      - request
      - status
    BatchFiatAllocationCloseRequest:
      description: Request to close off fiat allocations of a particular batch
      properties:
        allocations:
          description: Number of requested fiat allocations within the batch
          type: integer
          x-order: 1
        batchTransactionId:
          description: Client-specified unique identifier for a set of fiat allocations belonging to the same batch
          format: uuid
          type: string
          x-order: 0
      required:
      - batchTransactionId
      - allocations
    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
    FiatAllocation:
      description: Summary of details pertaining to a fiat allocation request
      properties:
        createdAt:
          description: Date at which the fiat allocation batch was submitted
          format: date-time
          type: string
          x-order: 0
        id:
          description: Bakkt unique identifier for the fiat allocation
          format: uuid
          type: string
          x-order: 1
        rejectReason:
          description: The reason the fiat allocation was rejected
          type: string
          x-order: 3
        request:
          $ref: '#/components/schemas/FiatAllocationRequest'
        status:
          $ref: '#/components/schemas/AllocationStatus'
      required:
      - createdAt
      - id
      - request
      - status