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

# List every balance movement

> Lists every balance movement in reverse time order: charge, refund, topup, grant, and adjustment. Amounts are exact USD decimal strings, signed (a charge is negative): summing them with decimal arithmetic — not floats — reconciles the balance, and each entry carries balance_after_usd. This endpoint uses cursor pagination.



## OpenAPI

````yaml /openapi.json get /v1/balance/history
openapi: 3.1.0
info:
  title: Glasser
  version: 0.0.1
  description: >-
    One key, no contract, pay per call, across paid APIs bought wholesale. Every
    response carries x-request-id; every error body carries the same envelope.
servers: []
security: []
tags:
  - name: Endpoints
  - name: Runs
  - name: Balance
paths:
  /v1/balance/history:
    get:
      tags:
        - Balance
      summary: List every balance movement
      description: >-
        Lists every balance movement in reverse time order: charge, refund,
        topup, grant, and adjustment. Amounts are exact USD decimal strings,
        signed (a charge is negative): summing them with decimal arithmetic —
        not floats — reconciles the balance, and each entry carries
        balance_after_usd. This endpoint uses cursor pagination.
      operationId: balance-history
      parameters:
        - name: limit
          in: query
          schema:
            type: string
            pattern: ^[+-]?\d*\.?\d+(?:[Ee][+-]?\d+)?$
          required: false
        - name: cursor
          in: query
          schema:
            anyOf:
              - type: string
              - type: 'null'
          required: false
        - name: kind
          in: query
          schema:
            anyOf:
              - type: string
                enum:
                  - charge
                  - refund
                  - topup
                  - grant
                  - adjustment
              - type: 'null'
          required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        kind:
                          type: string
                          enum:
                            - charge
                            - refund
                            - topup
                            - grant
                            - adjustment
                        amount_usd:
                          type: string
                          pattern: ^-?(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
                        balance_after_usd:
                          type: string
                          pattern: ^(0|[1-9]\d*)\.(\d{2}|\d{2}\d{0,3}[1-9])$
                          description: >-
                            Exact USD decimal string (min 2, max 6 decimals, one
                            canonical spelling). Sum with decimal arithmetic or
                            scale by 10^6 — never floats.
                        run_id:
                          anyOf:
                            - type: string
                            - type: 'null'
                        description:
                          type: string
                        created_at:
                          type: string
                          description: ISO-8601 UTC timestamp
                          format: date-time
                      required:
                        - id
                        - kind
                        - amount_usd
                        - balance_after_usd
                        - run_id
                        - description
                        - created_at
                      additionalProperties: false
                  next_cursor:
                    anyOf:
                      - type: string
                      - type: 'null'
                required:
                  - data
                  - next_cursor
                additionalProperties: false
        '400':
          description: ValidationFailed
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/ValidationFailedEncoded'
                  - $ref: '#/components/schemas/ValidationFailedEncoded'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedEncoded'
        '429':
          description: RateLimited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitedEncoded'
      security:
        - bearer: []
components:
  schemas:
    ValidationFailedEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - validation_failed
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
    UnauthorizedEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - unauthorized
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
    RateLimitedEncoded:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - rate_limited
            message:
              type: string
            reason:
              anyOf:
                - type: string
                - type: 'null'
            control:
              anyOf:
                - type: string
                - type: 'null'
            retry_after_ms:
              anyOf:
                - anyOf:
                    - type: integer
                    - type: 'null'
                - type: 'null'
            details:
              anyOf:
                - type: object
                - type: 'null'
          required:
            - code
            - message
          additionalProperties: false
        request_id:
          type: string
      required:
        - error
        - request_id
      additionalProperties: false
  securitySchemes:
    bearer:
      type: http
      scheme: Bearer

````