> ## 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 filtered owner net value history

> USD interval net revenue of selected products; distinct from Multiply SOL-basis earnings at /owners/{wallet}/multiply/pnl.



## OpenAPI

````yaml /kamino-api.json get /owners/{pubkey}/net-values/history/filtered
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:
  /owners/{pubkey}/net-values/history/filtered:
    get:
      tags:
        - Other
      summary: Get filtered owner net value history
      description: >-
        USD interval net revenue of selected products; distinct from Multiply
        SOL-basis earnings at /owners/{wallet}/multiply/pnl.
      operationId: getOwnerNetValuesFilteredHistory
      parameters:
        - schema:
            allOf:
              - $ref: '#/components/schemas/AddressBase58'
              - description: Valid base58-encoded address of the user wallet
                example: AxqtG9SHDkZTLSWg81Sp7VqAzQpRqXtR9ziJ3VQAS8As
          required: true
          description: Valid base58-encoded address of the user wallet
          name: pubkey
          in: path
        - schema:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
          required: false
          name: products
          in: query
        - schema:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
          required: false
          name: obligationTypes
          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
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OwnerNetValueFilteredHistoryResponse'
        '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
        '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
    OwnerNetValueFilteredHistoryResponse:
      type: object
      properties:
        scope:
          type: object
          properties:
            requested:
              type: object
              properties:
                products:
                  type: array
                  items:
                    type: string
                    enum:
                      - lending
                      - multiply
                      - leverage
                      - earn
                      - privateCredit
                      - liquidity
                      - staking
                obligationTypes:
                  type: array
                  items:
                    type: string
                    enum:
                      - Vanilla
                      - Lending
                      - LendingFixedRate
                      - Multiply
                      - MultiplyFixedRate
                      - Leverage
                      - LeverageFixedRate
              required:
                - products
                - obligationTypes
            effective:
              type: object
              properties:
                products:
                  type: array
                  items:
                    type: string
                    enum:
                      - lending
                      - multiply
                      - leverage
                      - earn
                      - privateCredit
                      - liquidity
                      - staking
                obligationTypes:
                  type: array
                  items:
                    type: string
                    enum:
                      - Vanilla
                      - Lending
                      - LendingFixedRate
                      - Multiply
                      - MultiplyFixedRate
                      - Leverage
                      - LeverageFixedRate
                categories:
                  type: array
                  items:
                    type: string
                    enum:
                      - Vanilla
                      - Multiply
                      - Lending
                      - Leverage
                      - MultiplyFixedRate
                      - LendingFixedRate
                      - LeverageFixedRate
                      - earn
                      - privateCredit
                      - liquidity
                      - staking
                      - klendUnknown
                      - vaultUnknown
                      - farmUnknown
              required:
                - products
                - obligationTypes
                - categories
          required:
            - requested
            - effective
        frequency:
          type: string
          enum:
            - minute
            - hour
            - day
        coverage:
          type: object
          properties:
            cutover:
              anyOf:
                - $ref: '#/components/schemas/SnapshotDateTime'
                - type: 'null'
            legacyBaseline:
              type: boolean
            flowsCompleteThrough:
              anyOf:
                - $ref: '#/components/schemas/SnapshotDateTime'
                - type: 'null'
            firstAvailablePoint:
              anyOf:
                - $ref: '#/components/schemas/SnapshotDateTime'
                - type: 'null'
            frequencyClamp:
              type:
                - string
                - 'null'
              enum:
                - category_retention
            omittedRanges:
              type: array
              items:
                type: object
                properties:
                  from:
                    type: string
                  to:
                    type: string
                  families:
                    type: array
                    items:
                      type: string
                      enum:
                        - klend
                        - vault
                        - liquidity
                        - staking
                  reason:
                    type: string
                    enum:
                      - no_base_row
                      - category_coverage_partial
                      - coverage_incomplete
                      - no_source_rows
                      - source_version_mismatch
                required:
                  - from
                  - to
                  - families
                  - reason
              description: >-
                Pre-cutover coverage gaps starting at the first known base point
                or coverage day. Post-cutover gaps are reported in each point's
                availability.
          required:
            - cutover
            - legacyBaseline
            - flowsCompleteThrough
            - firstAvailablePoint
            - frequencyClamp
            - omittedRanges
        points:
          type: array
          items:
            type: object
            properties:
              createdOn:
                $ref: '#/components/schemas/SnapshotDateTime'
              valueUsd:
                type:
                  - string
                  - 'null'
                example: '1234.56789'
              unpricedPositionCount:
                type: number
              depositsUsd:
                type:
                  - string
                  - 'null'
                example: '1234.56789'
              withdrawalsUsd:
                type:
                  - string
                  - 'null'
                example: '1234.56789'
              netRevenueUsd:
                type:
                  - string
                  - 'null'
                example: '1234.56789'
              modifiedDietzReturn:
                type:
                  - string
                  - 'null'
                example: '1234.56789'
              netRevenueStatus:
                type: string
                enum:
                  - ok
                  - legacy_snapshot
                  - pending_flows
                  - unpriced_flows
                  - partial_snapshot
                  - failed_flows
                  - category_unavailable
                  - category_unknown
                  - pre_cutover_resolution
              availability:
                type: object
                properties:
                  valuation:
                    type: string
                    enum:
                      - ok
                      - estimate
                      - unavailable
                  revenue:
                    type: string
                    enum:
                      - ok
                      - estimate
                      - unavailable
                  reasons:
                    type: array
                    items:
                      type: string
                      enum:
                        - selected_unpriced
                        - category_coverage_partial
                        - category_coverage_unavailable
                        - category_unknown_value
                        - category_unknown_flow
                        - pre_cutover_resolution
                        - baseline_unavailable
                        - flows_pending
                        - flows_unpriced
                        - failed_flows
                        - legacy_estimate
                        - source_time_mismatch
                        - base_value_mismatch
                    description: >-
                      Flows of each product family are counted up to the time
                      that family's value was read. source_time_mismatch means
                      the selected values of one family were read more than an
                      hour apart, or earlier than the previous point's, so their
                      flow interval cannot be aligned with the value.
                      base_value_mismatch means the category values of a
                      selected product family (all of its categories, selected
                      or not) differ from that family's total in the owner net
                      value snapshot by more than 2% and $1,000 at a pre-cutover
                      point. The category value is read at the family's source
                      time, while the snapshot can lag it by up to half an hour
                      or straddle a flow; the value stays available.
                required:
                  - valuation
                  - revenue
                  - reasons
            required:
              - createdOn
              - valueUsd
              - unpricedPositionCount
              - depositsUsd
              - withdrawalsUsd
              - netRevenueUsd
              - modifiedDietzReturn
              - netRevenueStatus
              - availability
      required:
        - scope
        - frequency
        - coverage
        - points
      description: >-
        Selected product USD interval net revenue. This differs from Multiply
        SOL-basis earnings. Legacy estimates include the historical 15-minute
        source skew.
    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
    SnapshotDateTime:
      type: string
      format: date-time
      description: Timestamp when the snapshot was created (ISO 8601 format)
      example: '2025-03-01T12:00:00.000Z'

````

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