> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Get balance totals by key and asset

> Returns the available and on-hold totals and the count of the ledger's non-external balances of one key and asset: the sum of each balance's current state, as the balance reads return it, read during the request; not an atomic snapshot across balances, so a posting concurrent with the request may or may not be counted. When that state cannot be read, the request answers 503 (0542) and may be retried.



## OpenAPI

````yaml /pt/openapi/v3-current/ledger.yaml get /v1/organizations/{organization_id}/ledgers/{ledger_id}/balances/metrics/totals
openapi: 3.1.0
info:
  title: Midaz Ledger API
  version: 4.0.0
servers:
  - url: https://ledger.sandbox.lerian.net
security: []
tags:
  - name: Account Block Exceptions (v2)
  - name: Account Plan Assignments (v2)
  - name: Account Plans (v2)
  - name: Account Types (v1)
  - name: Account Types (v2)
  - name: Accounts (v1)
  - name: Accounts (v2)
  - name: Asset Rates (v1)
  - name: Assets (v1)
  - name: Assets (v2)
  - name: Balances (v1)
  - name: Balances (v2)
  - name: Billing Calculate (v2)
  - name: Billing Packages (v2)
  - name: Composition (v2)
  - name: Dashboard (v1)
  - name: Dashboard (v2)
  - name: Encryption (v2)
  - name: Fee Charges (v2)
  - name: Fee Debts (v2)
  - name: Fees (v2)
  - name: Holders (v2)
  - name: Instruments (v2)
  - name: Ledgers (v1)
  - name: Ledgers (v2)
  - name: Metadata Indexes (v1)
  - name: Metadata Indexes (v2)
  - name: Operation Routes (v1)
  - name: Operation Routes (v2)
  - name: Operations (v1)
  - name: Operations (v2)
  - name: Organizations (v1)
  - name: Organizations (v2)
  - name: Packages (v2)
  - name: Portfolios (v1)
  - name: Portfolios (v2)
  - name: Protection (v2)
  - name: Segments (v1)
  - name: Segments (v2)
  - name: Transaction Routes (v1)
  - name: Transaction Routes (v2)
  - name: Transactions (v1)
  - name: Transactions (v2)
paths:
  /v1/organizations/{organization_id}/ledgers/{ledger_id}/balances/metrics/totals:
    get:
      tags:
        - Balances (v1)
      summary: Get balance totals by key and asset
      description: >-
        Returns the available and on-hold totals and the count of the ledger's
        non-external balances of one key and asset: the sum of each balance's
        current state, as the balance reads return it, read during the request;
        not an atomic snapshot across balances, so a posting concurrent with the
        request may or may not be counted. When that state cannot be read, the
        request answers 503 (0542) and may be retried.
      operationId: getBalanceTotals
      parameters:
        - description: Organization ID (UUID)
          in: path
          name: organization_id
          required: true
          schema:
            description: Organization ID (UUID)
            type: string
        - description: Ledger ID (UUID)
          in: path
          name: ledger_id
          required: true
          schema:
            description: Ledger ID (UUID)
            type: string
        - description: >-
            Required. Balance key to total, case-insensitive (no whitespace, max
            100)
          explode: false
          in: query
          name: balance_key
          schema:
            description: >-
              Required. Balance key to total, case-insensitive (no whitespace,
              max 100)
            type: string
        - description: >-
            Required. Asset code to total, compared exactly (no whitespace, max
            100)
          explode: false
          in: query
          name: asset_code
          schema:
            description: >-
              Required. Asset code to total, compared exactly (no whitespace,
              max 100)
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalanceTotals'
          description: OK
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyError'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyError'
          description: Internal Server Error
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LegacyError'
          description: Error
      deprecated: true
      security:
        - BearerAuth: []
components:
  schemas:
    BalanceTotals:
      additionalProperties: false
      properties:
        assetCode:
          examples:
            - BRL
          type: string
        available:
          examples:
            - '1234567.89'
          type: string
        balanceKey:
          examples:
            - poupanca
          type: string
        count:
          description: Number of balances summed
          examples:
            - 98765
          format: int64
          type: integer
        onHold:
          examples:
            - '0'
          type: string
      required:
        - balanceKey
        - assetCode
        - available
        - onHold
        - count
      type: object
    LegacyError:
      additionalProperties: false
      properties:
        code:
          description: >-
            Stable, machine-readable midaz error code. Identical to the code /v2
            returns for the same condition.
          examples:
            - '0065'
          type: string
        entityType:
          description: >-
            The domain entity the error concerns. Present only on
            field-validation errors.
          examples:
            - Account
          type: string
        fields:
          additionalProperties: {}
          description: >-
            Per-field validation detail, keyed by field name. The value is the
            violation message for a known field and the offending value for an
            unexpected one, so it is not always a string. The /v2 contract
            carries these as the 'errors' array.
          type: object
        message:
          description: >-
            Human-readable explanation of this occurrence. The /v2 contract
            carries this as 'detail'.
          type: string
        title:
          description: Short, human-readable summary of the error.
          examples:
            - Invalid Path Parameter
          type: string
      required:
        - title
        - message
        - code
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.