Breeze Strategies API

The Strategies API from Breeze — 14 operation(s) for strategies.

Operations 15

POST /organization/create-strategy-template #
POST /organization/create-strategy/{organization_id} #
GET /organization/strategies #
GET /organization/{organization_id}/strategies #
GET /strategy-available-assets Get available strategy assets with their yield sources #
GET /strategy/apy #
POST /strategy/close-funds #
GET /strategy/metrics #
GET /strategy/metrics/current-data Returns current aggregate metrics (TVL, deposits, fees, yield, per-protocol breakdowns) for all or a single strategy belonging to the authenticated organization. #
GET /strategy/strategy-latest-top-rebalance-history #
POST /strategy/update-delegated-withdrawer #
GET /strategy/{strategy_id} #
PUT /strategy/{strategy_id} #
GET /strategy/{strategy_id}/metrics-old #
GET /template/{template_id} #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/breeze-strategies-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

breeze-strategies-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Breeze Admin Strategies API
  description: A comprehensive API for managing yield farming operations, funds, and user authentication
  contact:
    name: Breeze Team
    email: support@breeze.com
  license:
    name: Proprietary
    url: https://breeze.com/license
  version: 1.0.0
servers:
- url: http://localhost:8080
  description: Local development server
- url: https://api.breeze.com
  description: Production server
tags:
- name: Strategies
paths:
  /organization/create-strategy-template:
    post:
      tags:
      - Strategies
      operationId: create_new_strategy_template
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiInputForCreatingStrategy'
        required: true
      responses:
        '200':
          description: Strategy created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiCreateStrategyTemplateResult'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearer_auth: []
  /organization/create-strategy/{organization_id}:
    post:
      tags:
      - Strategies
      operationId: create_new_strategy
      parameters:
      - name: organization_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiInputForInitializingStrategy'
        required: true
      responses:
        '200':
          description: Fund created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStrategyApiResult'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearer_auth: []
  /organization/strategies:
    get:
      tags:
      - Strategies
      operationId: get_organization_strategies
      responses:
        '200':
          description: Strategies with list metrics retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StrategyWithListMetrics'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearer_auth: []
  /organization/{organization_id}/strategies:
    get:
      tags:
      - Strategies
      operationId: get_strategies
      parameters:
      - name: organization_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Strategies with metrics retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Vec'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Organization not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearer_auth: []
  /strategy-available-assets:
    get:
      tags:
      - Strategies
      summary: Get available strategy assets with their yield sources
      operationId: get_strategy_available_assets
      responses:
        '200':
          description: Available strategy assets with yield sources retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StrategyAvailableAssetsResponse'
        '404':
          description: Global configuration not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearer_auth: []
  /strategy/apy:
    get:
      tags:
      - Strategies
      operationId: get_strategy_apy
      parameters:
      - name: all
        in: query
        description: To calculate combined apy for all the strategy belongs to an org
        required: true
        schema:
          type: boolean
      - name: strategy_id
        in: query
        description: To calculate apy of a single strategy
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Strategy apy retrieved successfully
        '404':
          description: Strategy not found or no data available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearer_auth: []
  /strategy/close-funds:
    post:
      tags:
      - Strategies
      operationId: close_strategy_funds
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiCloseStrategyFundsRequest'
        required: true
      responses:
        '200':
          description: Close fund jobs submitted successfully for all funds in strategy
        '400':
          description: Invalid strategy id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Organization access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Strategy not found or access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearer_auth: []
  /strategy/metrics:
    get:
      tags:
      - Strategies
      operationId: get_strategy_metrics
      parameters:
      - name: time_frame
        in: query
        description: 'Simplified time selector: ''24h'', ''7d'', ''30d'', ''all''. Backend derives start/end/aggregation automatically. Takes precedence over legacy params.'
        required: false
        schema:
          type: string
      - name: all
        in: query
        description: To calculate full overview metrics or calculate individual metrics
        required: true
        schema:
          type: boolean
      - name: strategy_id
        in: query
        description: Strategy id for getting single strategy metrics
        required: false
        schema:
          type: string
      - name: start_timestamp
        in: query
        description: 'Legacy: ISO 8601 start. Use time_frame instead.'
        required: false
        schema:
          type: string
      - name: end_timestamp
        in: query
        description: 'Legacy: ISO 8601 end. Use time_frame instead.'
        required: false
        schema:
          type: string
      - name: aggregation_window
        in: query
        description: 'Legacy: aggregation window. Use time_frame instead.'
        required: false
        schema:
          type: string
      - name: all_time
        in: query
        description: 'Legacy: fetch full history. Use time_frame=''all'' instead.'
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: Strategy metrics retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiStrategyMetricUniversal'
        '400':
          description: Invalid time range
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Fund not found or no data available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearer_auth: []
  /strategy/metrics/current-data:
    get:
      tags:
      - Strategies
      summary: 'Returns current aggregate metrics (TVL, deposits, fees, yield, per-protocol breakdowns)

        for all or a single strategy belonging to the authenticated organization.'
      description: 'All monetary values are returned in USD. Fee amounts are converted from raw token units

        using per-fund decimals and current asset prices.'
      operationId: get_strategy_current_data_for_metric
      parameters:
      - name: all
        in: query
        description: To get combied current data for all the strategy that belongs to an org
        required: true
        schema:
          type: boolean
      - name: strategy_id
        in: query
        description: Strategy id for getting current data of an individual strategy
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Strategy current data retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiStrategyMetricCurrentData'
        '404':
          description: Strategy not found or no data available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearer_auth: []
  /strategy/strategy-latest-top-rebalance-history:
    get:
      tags:
      - Strategies
      operationId: get_strategy_latest_rebalance_history
      parameters:
      - name: all
        in: query
        description: To include all organization strategies to get the latest top 5 rebalance hisotry of the highest allocated fund per base asset
        required: true
        schema:
          type: boolean
      - name: strategy_id
        in: query
        description: To inlcude only a particular strategy to get the latest top 5 rebalance hisotry of the highest allocated fund per base asset
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Strategy latest rebalance history retrieved successfully
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    $ref: '#/components/schemas/ApiRebalanceHistory'
                propertyNames:
                  type: string
        '404':
          description: Strategy not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearer_auth: []
  /strategy/update-delegated-withdrawer:
    post:
      tags:
      - Strategies
      operationId: update_withdraw_delegate_authority
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiUpdateStrategyDelegatedWithdrawerRequest'
        required: true
      responses:
        '200':
          description: Delegated withdrawer update jobs submitted successfully
        '400':
          description: Invalid strategy or delegated withdrawer pubkey
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Organization access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Strategy not found or access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearer_auth: []
  /strategy/{strategy_id}:
    get:
      tags:
      - Strategies
      operationId: get_strategy
      parameters:
      - name: strategy_id
        in: path
        description: Strategy identifier
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Strategy with detailed metrics retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StrategyDetailResponse'
        '404':
          description: Strategy not found or access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearer_auth: []
    put:
      tags:
      - Strategies
      operationId: update_strategy
      parameters:
      - name: strategy_id
        in: path
        description: Strategy identifier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiInputForUpdatingStrategyInstance'
        required: true
      responses:
        '200':
          description: Strategy updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StrategyInstance'
        '404':
          description: Strategy not found or access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearer_auth: []
  /strategy/{strategy_id}/metrics-old:
    get:
      tags:
      - Strategies
      operationId: get_strategy_metrics_old
      parameters:
      - name: start_timestamp
        in: query
        description: Start timestamp for metrics range (ISO 8601 format)
        required: true
        schema:
          type: string
      - name: end_timestamp
        in: query
        description: End timestamp for metrics range (ISO 8601 format)
        required: true
        schema:
          type: string
      - name: aggregation_window
        in: query
        description: Optional aggregation window (e.g., '1h', '1d', '5m') - if not provided, database will choose optimal window
        required: false
        schema:
          type: string
      - name: strategy_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Strategy metrics retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiStrategyMetrics'
        '400':
          description: Invalid time range
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Fund not found or no data available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearer_auth: []
  /template/{template_id}:
    get:
      tags:
      - Strategies
      operationId: get_template
      parameters:
      - name: template_id
        in: path
        description: Strategy template identifier
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Strategy template retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiStrategyTemplate'
        '404':
          description: Template not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearer_auth: []
components:
  schemas:
    ApiTargetAllocation:
      type: object
      required:
      - yield_source_pubkey
      - yield_source_type
      - protocol
      - target_amount
      - objective_function_score
      properties:
        objective_function_score:
          type: number
          format: double
        protocol:
          type: string
        target_amount:
          type: integer
          format: int64
          minimum: 0
        yield_source_pubkey:
          type: string
        yield_source_type:
          type: string
    ApiStrategyFee:
      type: object
      required:
      - fee_type
      - percentage
      - recipient
      - frequency_seconds
      properties:
        fee_type:
          type: string
        frequency_seconds:
          type: integer
          format: int64
          minimum: 0
        percentage:
          type: number
          format: double
        recipient:
          type: string
    ApiStrategyMetricUniversal:
      type: object
      required:
      - start
      - end
      - aggregation_window
      - strategy_id
      - data
      - combined_asset_value_over_time
      - per_asset_value_over_time
      - fee_distribution_metrics
      properties:
        aggregation_window:
          type: string
          description: Aggregation window (e.g., "1h", "1d", "5m") representing time between data points
        combined_asset_value_over_time:
          type: array
          items:
            $ref: '#/components/schemas/CombinedAssetValueOverTime'
        data:
          type: array
          items:
            $ref: '#/components/schemas/UniversalStrategyMetrics'
          description: Array of aggregated metric data points
        end:
          type: string
          description: End timestamp of the data range
        fee_distribution_metrics:
          type: array
          items:
            $ref: '#/components/schemas/ApiDailyFeeDistribution'
        per_asset_value_over_time:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/AssetValuePair'
          propertyNames:
            type: string
        start:
          type: string
          description: Start timestamp of the data range
        strategy_id:
          type: array
          items:
            type: string
          description: Strategy ID for the metrics
    ApiDailyFeeDistribution:
      type: object
      required:
      - time
      - total_amount_distributed
      properties:
        time:
          type: string
        total_amount_distributed:
          type: number
          format: double
    ApiInputForInitializingStrategy:
      type: object
      required:
      - name
      - template_id
      - fee_recipient
      - fee_percentage
      - frequency_seconds
      properties:
        delegated_withdrawer:
          type:
          - string
          - 'null'
          description: Optional delegated withdraw authority applied to each fund created for this strategy.
        description:
          type:
          - string
          - 'null'
        fee_percentage:
          type: number
          format: double
        fee_recipient:
          type: string
        frequency_seconds:
          type: integer
          format: int64
          minimum: 0
        name:
          type: string
        squads_usage:
          type: boolean
          description: Optional, if the user uses squads multisig / grid
        template_id:
          type: string
    ApiInputForCreatingStrategy:
      type: object
      required:
      - name
      - visibility_tags
      - assets
      - fees
      properties:
        assets:
          type: array
          items:
            $ref: '#/components/schemas/ApiTemplateAsset'
        description:
          type:
          - string
          - 'null'
        fees:
          type: array
          items:
            $ref: '#/components/schemas/ApiStrategyFee'
        name:
          type: string
        visibility_tags:
          type: array
          items:
            type: string
    ProtocolValues:
      type: object
      required:
      - asset
      - usd_value
      - protocol
      - apy
      properties:
        apy:
          type: number
          format: double
        asset:
          type: string
        protocol:
          type: string
        usd_value:
          type: number
          format: double
    CurrentStrategyData:
      type: object
      required:
      - current_usd_value
      - total_users
      - apy
      - net_yield
      - total_deposits_usd
      - current_earnings_usd
      - risk
      - protocol_values
      - average_strategy_rebalance_cadence
      properties:
        apy:
          type: number
          format: double
        average_strategy_rebalance_cadence:
          type: integer
          format: int64
          minimum: 0
        current_earnings_usd:
          type: number
          format: double
        current_usd_value:
          type: number
          format: double
        net_yield:
          type: number
          format: double
        protocol_values:
          type: array
          items:
            $ref: '#/components/schemas/ProtocolValues'
        risk:
          type: number
          format: double
        total_deposits_usd:
          type: number
          format: double
        total_users:
          type: integer
          format: int64
          minimum: 0
    StrategyMetrics:
      type: object
      required:
      - time
      - usd_value
      - asset_value_pairs
      - total_users
      - apy
      - organization_cumulative_earnings
      - deposits_usd
      - withdrawals_usd
      properties:
        apy:
          type: number
          format: double
          description: Weighted APY of the strategy
        asset_value_pairs:
          type: array
          items:
            $ref: '#/components/schemas/AssetValuePair'
          description: Values of each asset both in usd and in asset
        deposits_usd:
          type: number
          format: double
          description: Total deposits and withdrawals in usd
        organization_cumulative_earnings:
          type: number
          format: double
          description: Entire earnings of the strategy in usd
        time:
          type: string
        total_users:
          type: integer
          format: int64
          description: Amount of unique users in the strategy
          minimum: 0
        usd_value:
          type: number
          format: double
          description: Values of entire strategy
        withdrawals_usd:
          type: number
          format: double
    ApiRebalanceInstruction:
      type: object
      required:
      - yield_source_type
      - protocol
      - position_id
      - amount
      properties:
        amount:
          type: integer
          format: int64
        position_id:
          type: string
        protocol:
          type: string
        yield_source_type:
          type: string
    ApiUpdateStrategyDelegatedWithdrawerRequest:
      type: object
      required:
      - strategy_id
      properties:
        delegated_withdrawer:
          type:
          - string
          - 'null'
          description: Set to `null` to clear the delegated withdrawer on every fund in the strategy.
        strategy_id:
          type: string
    StrategyInstance:
      type: object
      required:
      - id
      - org_id
      - name
      - template_id
      - funds
      - fee_info
      - created_at
      - updated_at
      properties:
        created_at:
          type: integer
          format: int64
          minimum: 0
        description:
          type:
          - string
          - 'null'
        fee_info:
          type: array
          items:
            $ref: '#/components/schemas/FeeInfoForStrategy'
        funds:
          type: array
          items:
            $ref: '#/components/schemas/FundRef'
        id:
          type: string
        name:
          type: string
        org_id:
          type: string
        status:
          $ref: '#/components/schemas/StrategyInstanceStatus'
        template_id:
          type: string
        updated_at:
          type: integer
          format: int64
          minimum: 0
    AssetValuePair:
      type: object
      required:
      - time
      - asset
      - usd_value
      - value_in_base_asset
      properties:
        asset:
          type: string
        fund_id:
          type:
          - string
          - 'null'
        time:
          type: string
        usd_value:
          type: number
          format: double
        value_in_base_asset:
          type: number
          format: double
    ApiRebalanceHistory:
      type: object
      required:
      - audit_id
      - fund_id
      - timestamp
      - rebalance_status
      - fee_amount
      - pre_rebalance_current_value
      - pre_rebalance_unallocated_amount
      - pre_rebalance_current_risk
      - pre_rebalance_allocations
      - target_allocations
      - rebalance_instructions
      properties:
        audit_id:
          type: string
        error_message:
          type:
          - string
          - 'null'
        execution_slot:
          type:
          - integer
          - 'null'
          format: int64
          minimum: 0
        fee_amount:
          type: integer
          format: int64
          minimum: 0
        fund_id:
          type: string
        pre_rebalance_allocations:
          type: array
          items:
            $ref: '#/components/schemas/ApiPreRebalanceAllocation'
        pre_rebalance_current_risk:
          type: integer
          format: int32
          minimum: 0
        pre_rebalance_current_value:
          type: integer
          format: int64
          minimum: 0
        pre_rebalance_unallocated_amount:
          type: integer
          format: int64
          minimum: 0
        rebalance_instructions:
          type: array
          items:
            $ref: '#/components/schemas/ApiRebalanceInstruction'
        rebalance_status:
          type: string
        target_allocations:
          type: array
          items:
            $ref: '#/components/schemas/ApiTargetAllocation'
        timestamp:
          type: integer
          format: int64
          minimum: 0
        transaction_id:
          type:
          - string
          - 'null'
    StrategyInstanceStatus:
      type: string
      enum:
      - active
      - pending
      - failed
      - updating
    CreateStrategyApiResult:
      type: object
      required:
      - task_id_for_creating_all_funds
      - status
      - message
      properties:
        message:
          type: string
        status:
          type: string
        strategy_id:
          type:
          - string
          - 'null'
        task_id_for_creating_all_funds:
          type: string
    ApiStrategyMetricCurrentData:
      type: object
      required:
      - total_deposit
      - total_strategy
      - tvl
      - yield_earnings
      - strategy_user_count
      - total_deposits_in_karmino
      - total_deposits_in_drift_lending
      - total_deposits_in_marginfi
      - total_deposits_in_jup_lend
      - total_earnings_in_fees
      properties:
        strategy_user_count:
          type: integer
          minimum: 0
        total_deposit:
          type: number
          format: double
        total_deposits_in_drift_lending:
          type: number
          format: double
        total_deposits_in_jup_lend:
          type: number
          format: double
        total_deposits_in_karmino:
          type: number
          format: double
        total_deposits_in_marginfi:
          type: number
          format: double
        total_earnings_in_fees:
          type: number
          format: double
        total_strategy:
          type: integer
          format: int32
          minimum: 0
        tvl:
          type: number
          format: double
        yield_earnings:
          type: number
          format: double
    ApiStrategyMetrics:
      type: object
      required:
      - start
      - end
      - aggregation_window
      - strategy_id
      - current_data
      - data
      properties:
        aggregation_window:
          type: string
          description: Aggregation window (e.g., "1h", "1d", "5m") representing time between data points
        current_data:
          $ref: '#/components/schemas/CurrentStrategyData'
          description: Current strategy data
        data:
          type: array
          items:
            $ref: '#/components/schemas/StrategyMetrics'
          description: Array of aggregated metric data points
        end:
          type: string
          description: End timestamp of the data range
        start:
          type: string
          description: Start timestamp of the data range
        strategy_id:
          type: string
          description: Strategy ID for the metrics
    FeeInfoForStrategy:
      type: object
      required:
      - fee_bps
      - fee_recipient
      - frequency_seconds
      - fee_type
      properties:
        fee_bps:
          type: integer
          format: int32
          minimum: 0
        fee_recipient:
          type: string
        fee_type:
          type: string
        frequency_seconds:
          type: integer
          format: int64
          minimum: 0
    ApiCloseStrategyFundsRequest:
      type: object
      required:
      - strategy_id
      properties:
        strategy_id:
          type: string
    CombinedAssetValueOverTime:
      type: object
      required:
      - time
      - assets
      properties:
        assets:
          type: object
          additionalProperties:
            type: number
            format: double
          propertyNames:
            type: string
       

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/breeze/refs/heads/main/openapi/breeze-strategies-api-openapi.yml