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

# List portfolios

> 
    Returns enabled public portfolios plus any portfolios the caller can access when authenticated.
    Use the optional fundId query parameter to list portfolios available to a specific fund.
    Authentication is optional; browser sessions may reveal portfolios connected to the caller.
    



## OpenAPI

````yaml https://api.endaoment.org/oas-json get /v1/portfolios
openapi: 3.0.0
info:
  title: Endaoment API
  description: >-
    The official Endaoment API endpoints. Dev (canary) = newest features;
    Staging (stable) = pre-production.
  version: 0.0.0-dev
  contact: {}
servers:
  - url: https://api.endaoment.org
    description: Production
security: []
tags:
  - name: Partner Endpoints
    description: Tech-platform partner server-to-server APIs
  - name: Authentication
    description: OAuth callers, API keys, and session verification
  - name: Funds
    description: Donor-advised fund lifecycle
  - name: Donations
    description: Donation pledges, supported assets, and impact totals
  - name: Portfolios
    description: Investment portfolio catalog
  - name: Nonprofit Organizations
    description: Nonprofit lookup, subprojects, and missing-org intake
  - name: Grant Transfers
    description: Grant and entity transfers
  - name: Collaboration
    description: Collaborator recommendations and fund collaboration
  - name: Activity
    description: Public and scoped activity feeds
paths:
  /v1/portfolios:
    get:
      tags:
        - Portfolios
      summary: List portfolios
      description: |2-

            Returns enabled public portfolios plus any portfolios the caller can access when authenticated.
            Use the optional fundId query parameter to list portfolios available to a specific fund.
            Authentication is optional; browser sessions may reveal portfolios connected to the caller.
            
      operationId: PortfoliosController_getPortfolios_v1
      parameters:
        - name: fundId
          required: false
          in: query
          description: Filter portfolios by fund access.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Portfolios available to the caller
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PortfolioFinancialsDto'
      security:
        - {}
        - NdaoAuthCookie: []
components:
  schemas:
    PortfolioFinancialsDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the portfolio.
          format: uuid
          example: 123e4567-e89b-12d3-a456-426614174000
        contractAddress:
          type: string
          description: On-chain contract address of the portfolio.
          example: '0x0000000000000000000000000000000000000000'
        type:
          type: string
          description: Type of the portfolio.
          enum:
            - AaveUsdc
            - CompoundUsdc
            - YearnUsdc
            - SingleToken
            - AaveUsdcV3
            - CompoundUsdcV3
            - TPlusN
            - PrivateWealth
            - IlliquidSellOverTime
            - IlliquidAsset
            - IlliquidLockedAdvisorManaged
          example: AaveUsdcV3
        name:
          type: string
          description: Name of the portfolio.
          example: Aave USDC V3
        shortName:
          type: object
          description: Short display name of the portfolio.
          example: Aave V3
          nullable: true
        description:
          type: string
          description: Description of the portfolio.
          example: A USDC yield portfolio.
        shortDescription:
          type: object
          description: Short description of the portfolio.
          example: USDC yield strategy
          nullable: true
        logoUrl:
          type: string
          description: Logo URL for the portfolio.
          example: https://example.org/portfolio.png
        cap:
          type: object
          description: >-
            Portfolio cap in USDC micro-units (1000000 = 1 USD), when
            configured.
          example: '1000000000000'
          nullable: true
        redemptionFeeBps:
          type: number
          description: Redemption fee in basis points (100 basis points = 1%).
          example: 0
        depositFeeBps:
          type: number
          description: Deposit fee in basis points (100 basis points = 1%).
          example: 0
        providerFeeBps:
          type: object
          description: >-
            Provider fee in basis points (100 basis points = 1%), when
            configured.
          example: null
          nullable: true
        enabled:
          type: boolean
          description: Whether the portfolio is enabled for listing.
          example: true
        underlyingTokenContractAddress:
          type: object
          description: Target token contract address for single-token portfolios.
          example: null
          nullable: true
        aipPerSecondFeesWad:
          type: object
          description: AIP per-second fee rate in WAD units, when configured.
          example: null
          nullable: true
        errorMarginWad:
          type: object
          description: >-
            Tolerable estimation error as a WAD value for redemption asset
            calculations.
          example: null
          nullable: true
        version:
          type: string
          description: Version of the portfolio implementation.
          enum:
            - V1
            - V2
          example: V2
        chainId:
          type: object
          description: EVM chain ID where the portfolio contract is deployed.
          example: 1
        settlementMinutes:
          type: object
          description: >-
            Minutes the portfolio waits before settling a trade request. Null
            means instantaneous settlement.
          example: null
          nullable: true
        minDeposit:
          type: object
          description: >-
            Minimum USDC deposit in micro-units (1000000 = 1 USD), when
            configured.
          example: null
          nullable: true
        minRedemption:
          type: object
          description: >-
            Minimum USDC redemption in micro-units (1000000 = 1 USD), when
            configured.
          example: null
          nullable: true
        categories:
          description: Categories associated with the portfolio.
          type: array
          items:
            $ref: '#/components/schemas/PortfolioCategoryDto'
        underlyingStockTicker:
          type: object
          description: Ticker of the underlying stock for stock-backed portfolios.
          example: null
          nullable: true
        isExclusive:
          type: boolean
          description: Whether the portfolio is exclusive to entities with explicit access.
          example: false
        completed:
          type: object
          description: Whether the portfolio is completed. Used for illiquid portfolios.
          example: null
          nullable: true
        totalInvestedInPortfolio:
          type: string
          description: >-
            Sum of all investments made to this portfolio in USDC micro-units
            (1000000 = 1 USD).
          example: '1000000'
        positionCount:
          type: number
          description: Number of entity positions opened against the portfolio.
          example: 12
        currentApyBps:
          type: object
          description: Current APY in basis points, when available.
          example: 350
          nullable: true
        quarterlyPerformanceBps:
          type: object
          description: Quarterly performance in basis points, when available.
          example: 125
          nullable: true
        updatedAt:
          type: object
          description: ISO timestamp when the portfolio financials were last updated.
          example: '2026-05-26T20:00:00.000Z'
          nullable: true
      required:
        - id
        - contractAddress
        - type
        - name
        - shortName
        - description
        - shortDescription
        - logoUrl
        - cap
        - redemptionFeeBps
        - depositFeeBps
        - providerFeeBps
        - enabled
        - underlyingTokenContractAddress
        - aipPerSecondFeesWad
        - errorMarginWad
        - version
        - chainId
        - settlementMinutes
        - minDeposit
        - minRedemption
        - categories
        - underlyingStockTicker
        - isExclusive
        - completed
        - totalInvestedInPortfolio
        - positionCount
        - currentApyBps
        - quarterlyPerformanceBps
        - updatedAt
    PortfolioCategoryDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the portfolio category.
          format: uuid
          example: 123e4567-e89b-12d3-a456-426614174000
        name:
          type: string
          description: Name of the portfolio category.
          example: Cash Management
        description:
          type: string
          description: Description of the portfolio category.
          example: Portfolios focused on cash and cash-equivalent strategies.
        colorRgb:
          type: string
          description: Hex color code used to display the portfolio category.
          example: '#627EEA'
        logoUrl:
          type: string
          description: Logo URL for the portfolio category.
          example: https://example.org/logo.png
      required:
        - id
        - name
        - description
        - colorRgb
        - logoUrl
  securitySchemes:
    NdaoAuthCookie:
      type: apiKey
      in: cookie
      name: NdaoAuth

````