> ## 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 interest fees earned per obligation

> Get historical interest fees earned for a specific obligation. Returns total fees earned and historical fee breakdown by token.



## OpenAPI

````yaml /kamino-api.json get /v2/kamino-market/{marketPubkey}/obligations/{obligationPubkey}/interest-fees
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}/interest-fees:
    get:
      tags:
        - Kamino Lend Yield
      summary: Get interest fees earned per obligation
      description: >-
        Get historical interest fees earned for a specific obligation. Returns
        total fees earned and historical fee breakdown by token.
      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:
            anyOf:
              - type: string
              - type: number
            default: '1970-01-01T00:00:00.000Z'
            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
        - schema:
            type: string
            default: KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD
            description: KLend program ID
            example: KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD
          required: false
          description: KLend program ID
          name: programId
          in: query
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InterestRateEarnedResponse'
        '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
    InterestRateEarnedResponse:
      type: object
      properties:
        totalFeesEarnedObligation:
          $ref: '#/components/schemas/TotalFeesObligation'
        historicalFeesObligation:
          $ref: '#/components/schemas/HistoricalFeesObligation'
      required:
        - totalFeesEarnedObligation
        - historicalFeesObligation
    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
    TotalFeesObligation:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/TotalInterestFees'
      description: Total interest fees earned per obligation
      example:
        uy9LQEjELMp8r3qpb7fJhu2Y32ydAxTEo74VAEZ6EHQs:
          ts: 1762128000000
          solFees: '0.00001610553929183891699891935039215032176993'
          usdFees: '0.003058858072628656437082436052718601394968'
    HistoricalFeesObligation:
      type: object
      additionalProperties:
        type: array
        items:
          $ref: '#/components/schemas/TokenInterestFees'
      description: Historical breakdown of interest fees earned over time
    TotalInterestFees:
      type: object
      properties:
        ts:
          type: number
          description: Timestamp in milliseconds
          example: 1762128000000
        solFees:
          allOf:
            - $ref: '#/components/schemas/Decimal'
            - description: Total fees in SOL
              example: '0.00001610553929183891699891935039215032176993'
        usdFees:
          allOf:
            - $ref: '#/components/schemas/Decimal'
            - description: Total fees in USD
              example: '0.003058858072628656437082436052718601394968'
      required:
        - ts
        - solFees
        - usdFees
    TokenInterestFees:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/InterestFees'
      description: Historical fees breakdown by reserve. Key is the reserve address.
      example:
        d4A2prbA2whesmvHaL88BH6Ewn5N4bTSU2Ze8P6Bc4Q:
          ts: 1760745600000
          solFees: '0'
          usdFees: '0'
          nativeFees: '0'
    Decimal:
      type: string
      description: Decimal value represented as string
      example: '1234.56789'
    InterestFees:
      type: object
      properties:
        ts:
          type: number
          description: Timestamp in milliseconds
          example: 1762128000000
        solFees:
          allOf:
            - $ref: '#/components/schemas/Decimal'
            - description: Fees in SOL
              example: '0.00001610553929183891699891935039215032176993'
        usdFees:
          allOf:
            - $ref: '#/components/schemas/Decimal'
            - description: Fees in USD
              example: '0.003058858072628656437082436052718601394968'
        nativeFees:
          allOf:
            - $ref: '#/components/schemas/Decimal'
            - description: Fees in native token units
              example: '0'
      required:
        - ts
        - solFees
        - usdFees
        - nativeFees

````