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

# Get obligation analytics history

> Get precomputed position values and signed APY components relative to equity in [start, end). Omit start for full history; end defaults to now. Daily history may end with the latest hourly bucket from today or yesterday when that day is not yet covered by a daily row. Finalized data typically lags by 1-2 hours.



## OpenAPI

````yaml /kamino-api.json get /v2/kamino-market/{marketPubkey}/obligations/{obligationPubkey}/analytics/history
openapi: 3.1.0
info:
  version: 1.0.0
  title: Kamino Public API
  description: >
    The Kamino API provides a comprehensive way to interact with Kamino without
    reading directly from the blockchain.


    The API also provides the ability to fetch data that might not be available
    from just reading the chain.


    The API is rate-limited for unauthenticated users. If you feel you need to
    make more requests or run into rate-limit issues, please reach out.
servers:
  - url: https://api.kamino.finance
security: []
paths:
  /v2/kamino-market/{marketPubkey}/obligations/{obligationPubkey}/analytics/history:
    get:
      tags:
        - Kamino Lend User Loans
      summary: Get obligation analytics history
      description: >-
        Get precomputed position values and signed APY components relative to
        equity in [start, end). Omit start for full history; end defaults to
        now. Daily history may end with the latest hourly bucket from today or
        yesterday when that day is not yet covered by a daily row. Finalized
        data typically lags by 1-2 hours.
      parameters:
        - schema:
            allOf:
              - $ref: '#/components/schemas/AddressBase58'
              - description: Kamino Lend market public key
                example: 7u3HeHxYDLhnCoErrtycNokbQYbWGzLs6JSDqGAv5PfF
          required: true
          description: Kamino Lend market public key
          name: marketPubkey
          in: path
        - schema:
            allOf:
              - $ref: '#/components/schemas/AddressBase58'
              - description: Kamino Lend obligation public key
                example: 63QrAB1okxCc4FpsgcKYHjYTp1ua8ch6mLReyKRdc22o
          required: true
          description: Kamino Lend obligation public key
          name: obligationPubkey
          in: path
        - schema:
            type: string
            enum:
              - mainnet-beta
              - devnet
              - localnet
            default: mainnet-beta
            description: Solana cluster environment
            example: mainnet-beta
          required: false
          description: Solana cluster environment
          name: env
          in: query
        - schema:
            type: string
            enum:
              - hour
              - day
            description: >-
              Auto-selects hour for ranges up to 32 days starting within the
              last 33 days, otherwise day. Explicit hour requires a start and
              the same range and lookback limits.
          required: false
          description: >-
            Auto-selects hour for ranges up to 32 days starting within the last
            33 days, otherwise day. Explicit hour requires a start and the same
            range and lookback limits.
          name: frequency
          in: query
        - schema:
            anyOf:
              - type: string
              - type: number
            description: Date input (ISO 8601 string or epoch in ms)
            examples:
              - '2024-01-01T00:00:00.000Z'
              - 1704067200000
            example: 2020-01-01T00:00Z
          required: false
          description: Date input (ISO 8601 string or epoch in ms)
          name: start
          in: query
        - schema:
            anyOf:
              - type: string
              - type: number
            description: Date input (ISO 8601 string or epoch in ms)
            examples:
              - '2024-01-01T00:00:00.000Z'
              - 1704067200000
            example: 2020-02-01T00:00Z
          required: false
          description: Date input (ISO 8601 string or epoch in ms)
          name: end
          in: query
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObligationAnalyticsHistoryResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: High-level error message describing the failure
                    example: Invalid query params
                  details:
                    type: array
                    items:
                      type: object
                      additionalProperties: {}
                    description: >-
                      Detailed validation issues (present only for validation
                      errors)
                required:
                  - error
                description: Bad request response (400)
                example:
                  error: Invalid query request
                  details:
                    - code: invalid_union
                      errors:
                        - - code: custom
                            path: []
                            message: Invalid date string
                        - - expected: number
                            code: invalid_type
                            path: []
                            message: 'Invalid input: expected number, received string'
                      path:
                        - start
                      message: Invalid input
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  metadata:
                    type: string
                    description: Error message describing why it was not found
                    example: Account could not be found
                required:
                  - metadata
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    AddressBase58:
      type: string
      description: Valid base58-encoded address
      example: VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd
    ObligationAnalyticsHistoryResponse:
      type: object
      properties:
        market:
          $ref: '#/components/schemas/AddressBase58'
        obligation:
          $ref: '#/components/schemas/AddressBase58'
        frequency:
          type: string
          enum:
            - hour
            - day
        history:
          type: array
          items:
            $ref: '#/components/schemas/ObligationAnalyticsHistoryPoint'
          description: >-
            Ascending bucket starts with decimal values rounded to 6 decimal
            places. The three APY components add up to net APY. Empty
            obligations have zero stats and null APYs. The final daily point may
            be the latest hourly snapshot from today or yesterday when that day
            has no returned daily row; finalized data typically lags by 1-2
            hours.
      required:
        - market
        - obligation
        - frequency
        - history
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message for internal server failure
          example: An internal error occurred
      required:
        - error
      description: Internal server error response (500)
      example:
        error: An internal error occurred
    ObligationAnalyticsHistoryPoint:
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
          description: UTC bucket start, rather than the source snapshot time.
        netValue:
          type:
            - string
            - 'null'
          example: '1234.56789'
          description: Position equity in USD; null when source data is missing.
        deposit:
          type:
            - string
            - 'null'
          example: '1234.56789'
          description: Deposited value in USD; null when source data is missing.
        borrow:
          type:
            - string
            - 'null'
          example: '1234.56789'
          description: Borrowed value in USD; null when source data is missing.
        ltv:
          type:
            - string
            - 'null'
          example: '1234.56789'
          description: Loan-to-value fraction; null when source data is missing.
        liquidationLtv:
          type:
            - string
            - 'null'
          example: '1234.56789'
          description: >-
            Liquidation loan-to-value fraction; null when source data is
            missing.
        baseApy:
          type:
            - string
            - 'null'
          example: '1234.56789'
          description: >-
            Lending interest net of borrow cost as a signed fraction of equity.
            Null when either source part is missing or there are no positions.
        farmRewardsApy:
          type:
            - string
            - 'null'
          example: '1234.56789'
          description: >-
            Reserve and pair farm rewards as a signed fraction of equity. Null
            when either source part is missing or there are no positions.
        assetYieldApy:
          type:
            - string
            - 'null'
          example: '1234.56789'
          description: >-
            The tokens' own yield as a signed fraction of equity; borrowing
            yield-bearing tokens contributes negatively. Null when either source
            part is missing or there are no positions.
      required:
        - timestamp
        - netValue
        - deposit
        - borrow
        - ltv
        - liquidationLtv
        - baseApy
        - farmRewardsApy
        - assetYieldApy

````

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