fireblocks Connected Accounts (Beta) API

The Connected Accounts (Beta) API from fireblocks — 5 operation(s) for connected accounts (beta).

OpenAPI Specification

fireblocks-connected-accounts-beta-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Fireblocks Blockchains and Assets Approval Requests Connected Accounts (Beta) API
  description: 'Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.


    - Visit our website for more information: [Fireblocks Website](https://fireblocks.com)

    - Visit our developer docs: [Fireblocks DevPortal](https://developers.fireblocks.com)

    '
  version: 1.8.0
  contact:
    email: developers@fireblocks.com
servers:
- url: https://api.fireblocks.io/v1
  description: Fireblocks Production Environment Base URL
- url: https://sandbox-api.fireblocks.io/v1
  description: Fireblocks Sandbox Environment Base URL
security: []
tags:
- name: Connected Accounts (Beta)
paths:
  /connected_accounts:
    get:
      summary: Get connected accounts
      description: 'Returns all connected accounts.


        **Note:** This endpoint is currently in beta and might be subject to changes.

        '
      tags:
      - Connected Accounts (Beta)
      x-rate-limit-category: query
      parameters:
      - name: mainAccounts
        in: query
        required: false
        description: Whether to include only main accounts in the response.
        schema:
          type: boolean
          default: false
      - name: pageSize
        in: query
        required: false
        description: Page size for pagination.
        schema:
          type: integer
          minimum: 1
          maximum: 100
      - name: pageCursor
        in: query
        required: false
        description: Page cursor for pagination.
        schema:
          type: string
      operationId: getConnectedAccounts
      responses:
        200:
          description: Get accounts response
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectedAccountsResponse'
        default:
          $ref: '#/components/responses/Error'
  /connected_accounts/{accountId}:
    get:
      tags:
      - Connected Accounts (Beta)
      x-rate-limit-category: read
      parameters:
      - name: accountId
        in: path
        required: true
        description: The ID of the account to fetch.
        schema:
          type: string
          minLength: 1
      summary: Get connected account
      description: 'Retrieve detailed information about a specific connected account by ID.


        **Note:** This endpoint is currently in beta and might be subject to changes.

        '
      operationId: getConnectedAccount
      responses:
        200:
          description: Account response
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectedSingleAccountResponse'
        default:
          $ref: '#/components/responses/Error'
  /connected_accounts/{accountId}/balances:
    get:
      summary: Get balances for an account
      description: 'Retrieve current asset balances for a specific connected account as a flat list (one row per `assetId`, `balanceType`).


        **Note:** This endpoint is currently in beta and might be subject to changes.

        '
      tags:
      - Connected Accounts (Beta)
      x-rate-limit-category: query
      parameters:
      - name: accountId
        in: path
        required: true
        description: The ID of the account to fetch balances for.
        schema:
          type: string
          minLength: 1
      - name: pageSize
        in: query
        required: false
        description: Page size for pagination.
        schema:
          type: integer
          minimum: 1
          maximum: 1000
      - name: pageCursor
        in: query
        required: false
        description: Page cursor for pagination.
        schema:
          type: string
      operationId: getConnectedAccountBalances
      responses:
        200:
          description: Account balances response
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectedAccountBalancesResponse'
        default:
          $ref: '#/components/responses/Error'
  /connected_accounts/{accountId}/rates:
    get:
      summary: Get exchange rates for an account
      description: 'Retrieve current exchange rates for converting between specific assets in a connected account.


        **Note:** This endpoint is currently in beta and might be subject to changes.

        '
      tags:
      - Connected Accounts (Beta)
      x-rate-limit-category: read
      parameters:
      - name: accountId
        in: path
        required: true
        description: The ID of the account to fetch rates for.
        schema:
          type: string
          minLength: 1
      - name: baseAssetId
        in: query
        required: true
        description: The ID of the asset to fetch rates for.
        schema:
          type: string
          minLength: 1
      - name: quoteAssetId
        in: query
        required: true
        description: The ID of the asset to get the rates nominally.
        schema:
          type: string
          minLength: 1
      operationId: getConnectedAccountRates
      responses:
        200:
          description: Rates response
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectedAccountRateResponse'
        default:
          $ref: '#/components/responses/Error'
  /connected_accounts/{accountId}/manifest/capabilities/trading/pairs:
    get:
      summary: Get supported trading pairs for an account
      description: 'Retrieve all asset trading pairs supported by a specific connected account, including the pair type (`quote`, `market`, `onOffRamp`).


        **Note:** This endpoint is currently in beta and might be subject to changes.

        '
      tags:
      - Connected Accounts (Beta)
      x-rate-limit-category: query
      parameters:
      - name: accountId
        in: path
        required: true
        description: The ID of the account to fetch supported pairs for.
        schema:
          type: string
          minLength: 1
      - name: pageSize
        in: query
        required: false
        description: Page size for pagination.
        schema:
          type: integer
          default: 100
          minimum: 1
          maximum: 100
      - name: pageCursor
        in: query
        required: false
        description: Page cursor for pagination.
        schema:
          type: string
      operationId: getConnectedAccountTradingPairs
      responses:
        200:
          description: Supported pairs response
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectedAccountTradingPairsResponse'
        default:
          $ref: '#/components/responses/Error'
components:
  schemas:
    ConnectedAccountAssetType:
      type: string
      enum:
      - DIGITAL
      - FIAT
    ConnectedAccountRateResponse:
      type: object
      properties:
        accountId:
          type: string
          description: The ID of the account that generated the quote.
          example: ea6c3cb7-355a-4ee3-82ff-267c69970210
        baseAssetId:
          type: string
          description: The source asset identifier
          example: BTC
        quoteAssetId:
          type: string
          description: The target asset identifier
          example: USD
        rate:
          type: string
          description: The exchange rate value
          example: '1.2345'
      required:
      - accountId
      - baseAssetId
      - quoteAssetId
      - rate
    ConnectedAccountManifest:
      type: object
      properties:
        assetTypes:
          type: array
          description: Asset types supported by the connected account.
          items:
            $ref: '#/components/schemas/ConnectedAccountAssetType'
          example: []
        capabilities:
          type: array
          description: "Features supported for the connected account. Logic:\n  - If account capabilities include ramp -> TRADING\n  - If account capabilities include transfers -> DEPOSITS\n  - If account capabilities include transfersBlockchain / transfersFiat / transfersPeerAccounts / transfersInternal -> WITHDRAWALS\n"
          items:
            $ref: '#/components/schemas/ConnectedAccountCapability'
          example:
          - WITHDRAWALS
      required:
      - assetTypes
      - capabilities
    ConnectedAccount:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the connected account.
          example: acc-123456
        name:
          type: string
          description: Human-readable name of the connected account.
          example: Main Venue Account
        providerId:
          type: string
          description: The ID of the venue the account belongs to.
          example: BRIDGE
        status:
          $ref: '#/components/schemas/ConnectedAccountApprovalStatus'
        manifest:
          $ref: '#/components/schemas/ConnectedAccountManifest'
        parentId:
          type: string
          description: The ID of the parent main account, if this is a sub account.
          example: acc-parent-001
      required:
      - id
      - name
      - providerId
      - status
      - manifest
    ConnectedAccountBalancesResponse:
      type: object
      properties:
        data:
          type: array
          description: Flat balance row for a single asset within an account and wallet type. One row per (assetId, balanceType).
          items:
            $ref: '#/components/schemas/ConnectedAccountBalances'
          example:
          - assetId: BTC
            availableAmount: '100.00'
            totalAmount: '120.00'
            balanceType: FUNDING
            balanceName: Trader1 Wallet
        total:
          type: integer
          description: Total number of balance rows by query.
          example: 2
        next:
          type: string
          description: A cursor for the next page of results, if available.
          example: eyJwYWdlIjoyfQ==
      required:
      - data
    ConnectedAccountsResponse:
      type: object
      properties:
        data:
          type: array
          description: List of connected accounts matching the query.
          items:
            $ref: '#/components/schemas/ConnectedAccount'
          example:
          - id: acc-123456
            name: Main Venue Account
            providerId: BRIDGE
            status: APPROVED
            manifest:
              assetTypes: []
              capabilities:
              - DEPOSITS
              - WITHDRAWALS
          - id: acc-654321
            name: Secondary Account
            providerId: BRIDGE
            status: WAITING_FOR_APPROVAL
            manifest:
              assetTypes: []
              capabilities:
              - WITHDRAWALS
        total:
          type: integer
          description: Total number of accounts by query.
          example: 2
        next:
          type: string
          description: A cursor for the next page of results, if available.
          example: eyJwYWdlIjoyfQ==
      required:
      - data
    ConnectedAccountTradingPair:
      type: object
      properties:
        id:
          type: string
          description: The ID of the trading pair.
          example: ea6c3cb7-355a-4ee3-82ff-267c69970210
        baseAssetId:
          type: string
          description: The Symbol of the base asset.
          example: BTC
        quoteAssetId:
          type: string
          description: The symbol of the quote asset.
          example: USD
        supportedTypes:
          type: array
          items:
            $ref: '#/components/schemas/ConnectedAccountTradingPairSupportedType'
      required:
      - id
      - baseAssetId
      - quoteAssetId
      - supportedTypes
    ConnectedAccountCapability:
      type: string
      enum:
      - WITHDRAWALS
      - DEPOSITS
      - TRADING
    ConnectedAccountTradingPairSupportedType:
      type: string
      enum:
      - QUOTE
      - MARKET
      - LIMIT
    ConnectedAccountBalances:
      type: object
      properties:
        assetId:
          type: string
          description: Asset identifier (e.g., BTC, ETH, USDC).
          example: BTC
        availableAmount:
          type: string
          description: Amount available for use.
          example: '100.00'
        totalAmount:
          type: string
          description: Total amount including locked/held balances.
          example: '120.00'
        lockedAmount:
          type: string
          description: Amount currently locked/held.
          example: '20.00'
        creditAmount:
          type: string
          description: Credit line amount, if applicable (0 when not used).
          example: '0'
        balanceType:
          type: string
          description: Wallet type/category (e.g., SPOT, MARGIN, FUNDING).
          example: FUNDING
        balanceName:
          type: string
          description: Display name for the balance type (at the provider)
          example: Trader1 Wallet
      required:
      - assetId
      - availableAmount
      - totalAmount
      - balanceType
    ConnectedSingleAccount:
      type: object
      properties:
        subAccountsIds:
          type: array
          description: IDs of sub-accounts associated with this connected account.
          items:
            type: string
          example:
          - acc-sub-001
          - acc-sub-002
    ConnectedSingleAccountResponse:
      allOf:
      - $ref: '#/components/schemas/ConnectedAccount'
      - $ref: '#/components/schemas/ConnectedSingleAccount'
    ConnectedAccountApprovalStatus:
      type: string
      enum:
      - WAITING_FOR_APPROVAL
      - APPROVED
      - REJECTED
      - CANCELLED
      - FAILED
    ConnectedAccountTradingPairsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ConnectedAccountTradingPair'
          example:
          - id: ea6c3cb7-355a-4ee3-82ff-267c69970210
            baseAssetId: BTC
            quoteAssetId: USD
            supportedTypes:
            - MARKET
          - id: ea6c3cb7-355a-4ee3-82ff-267c69970211
            baseAssetId: ETH
            quoteAssetId: USDC
            supportedTypes:
            - QUOTE
            - MARKET
        total:
          type: integer
          description: Total number of asset pairs matching the query.
          example: 2
        next:
          type: string
          description: A cursor for the next page of results, if available.
          nullable: true
          example: null
      required:
      - data
  responses:
    Error:
      description: Error Response
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorSchema'
  securitySchemes:
    bearerTokenAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key