{"openapi":"3.1.0","info":{"title":"ETF issuers Adapter API","version":"0.1.0","description":"ETF issuers adapter contract for bluedoor.\n\nIssuer-direct ETF routes for fund catalogs, holdings, profiles, and performance.\n\nETF issuers source API for bluedoor Financial Data.\nIssuer-direct ETF holdings and performance coverage, especially iShares product-data routes.\nCoverage: Fund catalog; ETF holdings; Fund profile; Fund performance.\nGenerated from the live source contract and representative live API responses on 2026-06-07T01:30:59.456Z.","x-bluedoor-adapter":{"slug":"etf-issuers","source_id":"etffin","upstream":"ishares.com, vanguard.com, invesco.com","docs_url":"https://bluedoor.sh/adapters/etf-issuers/docs"}},"servers":[{"url":"https://api.bluedoor.sh/adapters/etf-issuers","description":"bluedoor adapter namespace"},{"url":"https://api.etffin.bluedoor.sh","description":"Current source API host"}],"externalDocs":{"description":"ETF issuers adapter docs","url":"https://bluedoor.sh/adapters/etf-issuers/docs"},"tags":[{"name":"Funds"}],"paths":{"/v1/funds":{"get":{"summary":"List","security":[{},{"ContactEmail":[]},{"BearerAuth":[]},{"EtffinApiKey":[]}],"operationId":"etffin_get_funds","description":"Returns list with source-native fund identifiers, holdings, profile, or performance fields.","tags":["Funds"],"x-source-api":"etffin","x-source-name":"ETF issuers","x-source-upstream":"ishares.com, vanguard.com, invesco.com","parameters":[{"name":"x-etffin-contact","in":"header","required":false,"schema":{"type":"string","format":"email"},"description":"Optional contact email for higher public rate limits and support diagnostics."},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","example":"Bearer <key>"},"description":"Optional API-key authorization for higher-volume access tiers."}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/etffin_get_fundsResponse"},"examples":{"live":{"summary":"Live response","value":{"meta":{"route":"funds","generated_at":"2026-06-07T01:33:25.376Z"},"data":[{"asset_class":"equity","components":{"header":"1467271812594","holdings":"1467271812596","performance":"1467271812595","workbook":"1521942788811"},"country":"US","issuer":"iShares / BlackRock","name":"iShares Core S&P 500 ETF","product_id":"239726","provider":"ishares","slug":"ishares-core-sp-500-etf","ticker":"IVV"},{"asset_class":"equity","country":"US","issuer":"Invesco","locale":"en_US","name":"Invesco QQQ Trust","provider":"invesco","ticker":"QQQ"},{"asset_class":"equity","country":"US","fund_id":"0968","issuer":"Vanguard","name":"Vanguard S&P 500 ETF","provider":"vanguard","ticker":"VOO"}]}}}}}},"400":{"description":"Bad request. A required parameter is missing, malformed, or outside the supported range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 400 error","value":{"ok":false,"error":{"code":"bad_request","message":"Required query parameter is missing or invalid."}}}}}}},"401":{"description":"Unauthorized. API-key authenticated tiers use an Authorization bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 401 error","value":{"ok":false,"error":{"code":"unauthorized","message":"A valid API key is required for this tier."}}}}}}},"404":{"description":"Not found. The requested route, resource, or symbol could not be resolved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 404 error","value":{"ok":false,"error":{"code":"not_found","message":"The requested resource was not found."}}}}}}},"405":{"description":"Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 405 error","value":{"ok":false,"error":{"code":"method_not_allowed","message":"This route does not support the requested HTTP method."}}}}}}},"429":{"description":"Rate limited. Retry after the limit reset or include the documented contact/API-key headers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 429 error","value":{"ok":false,"error":{"code":"rate_limited","message":"Too many requests. Retry after the rate-limit reset."}}}}}}},"502":{"description":"Upstream source error. The source service rejected or failed the upstream request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 502 error","value":{"ok":false,"error":{"code":"upstream_error","message":"The upstream source returned an error."}}}}}}},"503":{"description":"Service unavailable. The source API or an upstream dependency is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 503 error","value":{"ok":false,"error":{"code":"service_unavailable","message":"The service is temporarily unavailable."}}}}}}},"504":{"description":"Upstream timeout. The upstream source did not return within the source API timeout window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 504 error","value":{"ok":false,"error":{"code":"upstream_timeout","message":"The upstream source timed out."}}}}}}}},"x-docs-example-url":"https://api.etffin.bluedoor.sh/v1/funds","x-docs-example-status":200,"x-docs-captured-at":"2026-06-07T01:33:25.385Z"}},"/v1/funds/{ticker}/holdings":{"get":{"summary":"Holdings","security":[{},{"ContactEmail":[]},{"BearerAuth":[]},{"EtffinApiKey":[]}],"operationId":"etffin_get_funds_ticker_holdings","description":"Returns holdings with source-native fund identifiers, holdings, profile, or performance fields.","tags":["Funds"],"x-source-api":"etffin","x-source-name":"ETF issuers","x-source-upstream":"ishares.com, vanguard.com, invesco.com","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string"},"description":"Path parameter `ticker`."},{"name":"x-etffin-contact","in":"header","required":false,"schema":{"type":"string","format":"email"},"description":"Optional contact email for higher public rate limits and support diagnostics."},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","example":"Bearer <key>"},"description":"Optional API-key authorization for higher-volume access tiers."}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/etffin_get_funds_ticker_holdingsResponse"},"examples":{"live":{"summary":"Live response","value":{"meta":{"provider":"ishares","issuer":"iShares / BlackRock","ticker":"IVV","endpoint":"ishares.holdings.csv","family":"holdings","route":"holdings","cache":"miss","generated_at":"2026-06-07T01:03:56.266Z","server_transport_blocked":false,"status":"ok","upstream_status":200,"upstream_elapsed_ms":327,"content_type":"application/json"},"data":{"fund":{"asset_class":"equity","components":{"header":"1467271812594","holdings":"1467271812596","performance":"1467271812595","workbook":"1521942788811"},"country":"US","issuer":"iShares / BlackRock","name":"iShares Core S&P 500 ETF","product_id":"239726","provider":"ishares","slug":"ishares-core-sp-500-etf","ticker":"IVV"},"provider":"ishares","endpoint":"ishares.holdings.csv","as_of":"Jun 04, 2026","holdings":[{"ticker":"NVDA","name":"NVIDIA CORP","sector":"Information Technology","asset_class":"Equity","market_value":69736623957.26,"weight":8.15241,"quantity":318927211,"price":218.66,"location":"United States","exchange":"NASDAQ","currency":"USD","cusip":"67066G104","isin":"US67066G1040","sedol":"2379504"},{"ticker":"AAPL","name":"APPLE INC","sector":"Information Technology","asset_class":"Equity","market_value":59968964134.96,"weight":7.01054,"quantity":192683752,"price":311.23,"location":"United States","exchange":"NASDAQ","currency":"USD","cusip":"037833100","isin":"US0378331005","sedol":"2046251"},{"ticker":"MSFT","name":"MICROSOFT CORP","sector":"Information Technology","asset_class":"Equity","market_value":41716996207.6,"weight":4.87684,"quantity":97458232,"price":428.05,"location":"United States","exchange":"NASDAQ","currency":"USD","cusip":"594918104","isin":"US5949181045","sedol":"2588173"}],"total_holdings":508}}}}}}},"400":{"description":"Bad request. A required parameter is missing, malformed, or outside the supported range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 400 error","value":{"ok":false,"error":{"code":"bad_request","message":"Required query parameter is missing or invalid."}}}}}}},"401":{"description":"Unauthorized. API-key authenticated tiers use an Authorization bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 401 error","value":{"ok":false,"error":{"code":"unauthorized","message":"A valid API key is required for this tier."}}}}}}},"404":{"description":"Not found. The requested route, resource, or symbol could not be resolved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 404 error","value":{"ok":false,"error":{"code":"not_found","message":"The requested resource was not found."}}}}}}},"405":{"description":"Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 405 error","value":{"ok":false,"error":{"code":"method_not_allowed","message":"This route does not support the requested HTTP method."}}}}}}},"429":{"description":"Rate limited. Retry after the limit reset or include the documented contact/API-key headers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 429 error","value":{"ok":false,"error":{"code":"rate_limited","message":"Too many requests. Retry after the rate-limit reset."}}}}}}},"502":{"description":"Upstream source error. The source service rejected or failed the upstream request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 502 error","value":{"ok":false,"error":{"code":"upstream_error","message":"The upstream source returned an error."}}}}}}},"503":{"description":"Service unavailable. The source API or an upstream dependency is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 503 error","value":{"ok":false,"error":{"code":"service_unavailable","message":"The service is temporarily unavailable."}}}}}}},"504":{"description":"Upstream timeout. The upstream source did not return within the source API timeout window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 504 error","value":{"ok":false,"error":{"code":"upstream_timeout","message":"The upstream source timed out."}}}}}}}},"x-docs-example-url":"https://api.etffin.bluedoor.sh/v1/funds/IVV/holdings","x-docs-example-status":200,"x-docs-captured-at":"2026-06-07T01:33:25.719Z"}},"/v1/funds/{ticker}/performance":{"get":{"summary":"Performance","security":[{},{"ContactEmail":[]},{"BearerAuth":[]},{"EtffinApiKey":[]}],"operationId":"etffin_get_funds_ticker_performance","description":"Returns performance with source-native fund identifiers, holdings, profile, or performance fields.","tags":["Funds"],"x-source-api":"etffin","x-source-name":"ETF issuers","x-source-upstream":"ishares.com, vanguard.com, invesco.com","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string"},"description":"Path parameter `ticker`."},{"name":"x-etffin-contact","in":"header","required":false,"schema":{"type":"string","format":"email"},"description":"Optional contact email for higher public rate limits and support diagnostics."},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","example":"Bearer <key>"},"description":"Optional API-key authorization for higher-volume access tiers."}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/etffin_get_funds_ticker_performanceResponse"},"examples":{"live":{"summary":"Live response","value":{"meta":{"provider":"vanguard","issuer":"Vanguard","ticker":"VOO","endpoint":"vanguard.performance","family":"performance","route":"performance","cache":"miss","generated_at":"2026-06-07T01:03:56.719Z","server_transport_blocked":false,"status":"ok","upstream_status":200,"upstream_elapsed_ms":68,"content_type":"application/json; charset=utf-8"},"data":{"fund":{"asset_class":"equity","country":"US","fund_id":"0968","issuer":"Vanguard","name":"Vanguard S&P 500 ETF","provider":"vanguard","ticker":"VOO"},"provider":"vanguard","endpoint":"vanguard.performance","as_of":"2026-06-05T00:00:00-04:00","provider_payload":{"YTD":{"asOfDate":"2026-06-05T00:00:00-04:00","regular":"8.42","marketPrice":"8.46"},"recentInvestmentRtn":{"asOfDate":"2026-05-31T00:00:00-04:00","shortName":"S&P 500 ETF              ","benchmarkShortName":"S&P 500 Index                                     ","fundReturn":{"asOfDate":"2026-05-31T00:00:00-04:00","id":"0968","name":"S&P 500 ETF              ","calendarYTDPct":"11.25","prevMonthPct":"5.26","threeMonthPct":"10.51","oneYrPct":"29.74","threeYrPct":"23.57","fiveYrPct":"14.11","tenYrPct":"15.61","isLastMonthEndPerformanceDataAvailable":false},"marketPriceFundReturn":{"asOfDate":"2026-05-31T00:00:00-04:00","id":"0968","name":"S&P 500 ETF              ","calendarYTDPct":"11.26","prevMonthPct":"5.28","threeMonthPct":"10.57","oneYrPct":"29.92","threeYrPct":"23.57","fiveYrPct":"14.11","tenYrPct":"15.61","isLastMonthEndPerformanceDataAvailable":false},"benchmarkReturn":{"asOfDate":"2026-05-31T00:00:00-04:00","id":"15","name":"S&P 500 Index                                     ","calendarYTDPct":"11.27","prevMonthPct":"5.26","threeMonthPct":"10.52","oneYrPct":"29.78","threeYrPct":"23.61","fiveYrPct":"14.15","tenYrPct":"15.65","sinceInceptionPct":"15.22","isLastMonthEndPerformanceDataAvailable":true}},"monthEndAvgAnnualRtn":{"sinceInceptionAsOfDate":"2010-09-07T00:00:00-04:00","asOfDate":"2026-05-31T00:00:00-04:00","shortName":"S&P 500 ETF              ","benchmarkShortName":"S&P 500 Index                                     ","fundReturn":{"asOfDate":"2026-05-31T00:00:00-04:00","id":"0968","name":"S&P 500 ETF              ","calendarYTDPct":"11.25","prevMonthPct":"5.26","threeMonthPct":"10.51","oneYrPct":"29.74","threeYrPct":"23.57","fiveYrPct":"14.11","tenYrPct":"15.61","sinceInceptionPct":"15.18","isLastMonthEndPerformanceDataAvailable":false},"marketPriceFundReturn":{"asOfDate":"2026-05-31T00:00:00-04:00","id":"0968","name":"S&P 500 ETF              ","calendarYTDPct":"11.26","prevMonthPct":"5.28","threeMonthPct":"10.57","oneYrPct":"29.92","threeYrPct":"23.57","fiveYrPct":"14.11","tenYrPct":"15.61","sinceInceptionPct":"15.18","isLastMonthEndPerformanceDataAvailable":false},"benchmarkReturn":{"asOfDate":"2026-05-31T00:00:00-04:00","id":"15","name":"S&P 500 Index                                     ","calendarYTDPct":"11.27","prevMonthPct":"5.26","threeMonthPct":"10.52","oneYrPct":"29.78","threeYrPct":"23.61","fiveYrPct":"14.15","tenYrPct":"15.65","sinceInceptionPct":"15.22","isLastMonthEndPerformanceDataAvailable":true}},"quarterEndAvgAnnualRtn":{"sinceInceptionAsOfDate":"2010-09-07T00:00:00-04:00","asOfDate":"2026-03-31T00:00:00-04:00","shortName":"S&P 500 ETF              ","benchmarkShortName":"S&P 500 Index                                     ","fundReturn":{"asOfDate":"2026-03-31T00:00:00-04:00","id":"0968","name":"S&P 500 ETF              ","calendarYTDPct":"-4.34","prevMonthPct":"-4.98","threeMonthPct":"-4.34","oneYrPct":"17.77","threeYrPct":"18.28","fiveYrPct":"12.02","tenYrPct":"14.12","sinceInceptionPct":"14.24","isLastMonthEndPerformanceDataAvailable":false},"marketPriceFundReturn":{"asOfDate":"2026-03-31T00:00:00-04:00","id":"0968","name":"S&P 500 ETF              ","calendarYTDPct":"-4.41","prevMonthPct":"-5.00","threeMonthPct":"-4.41","oneYrPct":"17.67","threeYrPct":"18.26","fiveYrPct":"12.00","tenYrPct":"14.11","sinceInceptionPct":"14.24","isLastMonthEndPerformanceDataAvailable":false},"benchmarkReturn":{"asOfDate":"2026-03-31T00:00:00-04:00","id":"15","name":"S&P 500 Index                                     ","calendarYTDPct":"-4.33","prevMonthPct":"-4.98","threeMonthPct":"-4.33","oneYrPct":"17.80","threeYrPct":"18.32","fiveYrPct":"12.06","tenYrPct":"14.16","sinceInceptionPct":"14.28","isLastMonthEndPerformanceDataAvailable":true}},"quarterEndAfterTaxRtn":{"asOfDate":"2026-03-31T00:00:00-04:00","sinceInceptionAsOfDate":"2010-09-07T00:00:00-04:00","name":"S&P 500 ETF              ","benchmarkName":"Average Large Blend Fund","regular":{"beforeTax":{"asOfDate":"2026-03-31T00:00:00-04:00","name":"Returns before taxes","calendarYTDPct":"-4.34","prevMonthPct":"-4.98","threeMonthPct":"-4.34","oneYrPct":"17.77","threeYrPct":"18.28","fiveYrPct":"12.02","tenYrPct":"14.12","sinceInceptionPct":"14.24","isLastMonthEndPerformanceDataAvailable":false},"afterTaxOnDistribution":{"asOfDate":"2026-03-31T00:00:00-04:00","name":"Returns after taxes on distributions","calendarYTDPct":"-4.42","prevMonthPct":"-5.06","threeMonthPct":"-4.42","oneYrPct":"17.43","threeYrPct":"17.90","fiveYrPct":"11.64","tenYrPct":"13.67","sinceInceptionPct":"13.78","isLastMonthEndPerformanceDataAvailable":false},"afterTaxOnDistributionFundShares":{"asOfDate":"2026-03-31T00:00:00-04:00","name":"Returns after taxes on distributions and sale of fund shares","oneYrPct":"10.75","threeYrPct":"14.39","fiveYrPct":"9.52","tenYrPct":"11.76","sinceInceptionPct":"12.29","isLastMonthEndPerformanceDataAvailable":false}},"marketPrice":{"beforeTax":{"asOfDate":"2026-03-31T00:00:00-04:00","name":"Returns before taxes","calendarYTDPct":"-4.41","prevMonthPct":"-5.00","threeMonthPct":"-4.41","oneYrPct":"17.67","threeYrPct":"18.26","fiveYrPct":"12.00","tenYrPct":"14.11","sinceInceptionPct":"14.24","isLastMonthEndPerformanceDataAvailable":false},"afterTaxOnDistribution":{"asOfDate":"2026-03-31T00:00:00-04:00","name":"Returns after taxes on distributions","calendarYTDPct":"-4.48","prevMonthPct":"-5.08","threeMonthPct":"-4.48","oneYrPct":"17.33","threeYrPct":"17.88","fiveYrPct":"11.62","tenYrPct":"13.66","sinceInceptionPct":"13.77","isLastMonthEndPerformanceDataAvailable":false},"afterTaxOnDistributionFundShares":{"asOfDate":"2026-03-31T00:00:00-04:00","name":"Returns after taxes on distributions and sale of fund shares","oneYrPct":"10.69","threeYrPct":"14.37","fiveYrPct":"9.50","tenYrPct":"11.75","sinceInceptionPct":"12.29","isLastMonthEndPerformanceDataAvailable":false}},"benchmark":{"beforeTax":{"name":"Returns before taxes","oneYrPct":"15.66","threeYrPct":"16.19","fiveYrPct":"10.29","tenYrPct":"12.77","isLastMonthEndPerformanceDataAvailable":false},"afterTaxOnDistribution":{"name":"Returns after taxes on distributions","isLastMonthEndPerformanceDataAvailable":false},"afterTaxOnDistributionFundShares":{"name":"Returns after taxes on distributions and sale of fund shares","isLastMonthEndPerformanceDataAvailable":false}}},"cummulativeRtn":{"sinceInceptionAsOfDate":"2010-09-07T00:00:00-04:00","asOfDate":"2026-05-31T00:00:00-04:00","shortName":"S&P 500 ETF              ","benchmarkShortName":"S&P 500 Index                                     ","fundReturn":{"asOfDate":"2026-05-31T00:00:00-04:00","id":"0968","name":"S&P 500 ETF              ","calendarYTDPct":"11.25","prevMonthPct":"5.26","threeMonthPct":"10.51","oneYrPct":"29.74","threeYrPct":"88.69","fiveYrPct":"93.44","tenYrPct":"326.41","sinceInceptionPct":"823.46","isLastMonthEndPerformanceDataAvailable":false},"marketPriceFundReturn":{"asOfDate":"2026-05-31T00:00:00-04:00","id":"0968","name":"S&P 500 ETF              ","calendarYTDPct":"11.26","prevMonthPct":"5.28","threeMonthPct":"10.57","oneYrPct":"29.92","threeYrPct":"88.67","fiveYrPct":"93.47","tenYrPct":"326.53","sinceInceptionPct":"823.54","isLastMonthEndPerformanceDataAvailable":false},"benchmarkReturn":{"asOfDate":"2026-05-31T00:00:00-04:00","id":"15","name":"S&P 500 Index                                     ","calendarYTDPct":"11.27","prevMonthPct":"5.26","threeMonthPct":"10.52","oneYrPct":"29.78","threeYrPct":"88.86","fiveYrPct":"93.80","tenYrPct":"327.88","isLastMonthEndPerformanceDataAvailable":false}},"annualRtn":{"asOfDate":"2025-12-31T00:00:00-05:00","shortName":"S&P 500 ETF              ","benchmarkShortName":"S&P 500 Index                                     ","annualReturns":[{"item":[{"year":"2025","capitalRtn":"16.41","incomeRtn":"1.43","totalRtn":"17.84","marketPriceTotalRtn":"17.82","benchmarkTotalRtn":"17.88"},{"year":"2024","capitalRtn":"23.36","incomeRtn":"1.62","totalRtn":"24.98","marketPriceTotalRtn":"24.94","benchmarkTotalRtn":"25.02"},{"year":"2023","capitalRtn":"24.25","incomeRtn":"2.00","totalRtn":"26.25","marketPriceTotalRtn":"26.33","benchmarkTotalRtn":"26.29"}]}]},"quarterlyRtn":{"asOfDate":"2026-03-31T00:00:00-04:00","shortName":"S&P 500 ETF              ","benchmarkShortName":"S&P 500 Index                                     ","nav":[{"item":[{"year":"2026","firstQtrRtn":"-4.34"},{"year":"2025","firstQtrRtn":"-4.28","secondQtrRtn":"10.94","thirdQtrRtn":"8.11","fourthQtrRtn":"2.65","yearEndRtn":"17.84","benchmarkYearEndRtn":"17.88"},{"year":"2024","firstQtrRtn":"10.55","secondQtrRtn":"4.27","thirdQtrRtn":"5.88","fourthQtrRtn":"2.40","yearEndRtn":"24.98","benchmarkYearEndRtn":"25.02"}]}],"marketPrice":[{"item":[{"year":"2026","firstQtrRtn":"-4.41"},{"year":"2025","firstQtrRtn":"-4.29","secondQtrRtn":"10.87","thirdQtrRtn":"8.12","fourthQtrRtn":"2.70","yearEndRtn":"17.82","benchmarkYearEndRtn":"17.88"},{"year":"2024","firstQtrRtn":"10.45","secondQtrRtn":"4.30","thirdQtrRtn":"5.88","fourthQtrRtn":"2.44","yearEndRtn":"24.94","benchmarkYearEndRtn":"25.02"}]}]},"industryQuarterlyRtn":{"oneYrPct":"15.66","threeYrPct":"16.19","fiveYrPct":"10.29","tenYrPct":"12.77","isLastMonthEndPerformanceDataAvailable":false},"industryMonthlyRtn":{"asOfDate":"2026-05-31T00:00:00-04:00","id":"0968","name":"S&P 500 ETF              ","oneYrPct":"25.78","threeYrPct":"21.04","fiveYrPct":"11.93","tenYrPct":"14.04","isLastMonthEndPerformanceDataAvailable":false}}}}}}}}},"400":{"description":"Bad request. A required parameter is missing, malformed, or outside the supported range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 400 error","value":{"ok":false,"error":{"code":"bad_request","message":"Required query parameter is missing or invalid."}}}}}}},"401":{"description":"Unauthorized. API-key authenticated tiers use an Authorization bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 401 error","value":{"ok":false,"error":{"code":"unauthorized","message":"A valid API key is required for this tier."}}}}}}},"404":{"description":"Not found. The requested route, resource, or symbol could not be resolved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 404 error","value":{"ok":false,"error":{"code":"not_found","message":"The requested resource was not found."}}}}}}},"405":{"description":"Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 405 error","value":{"ok":false,"error":{"code":"method_not_allowed","message":"This route does not support the requested HTTP method."}}}}}}},"429":{"description":"Rate limited. Retry after the limit reset or include the documented contact/API-key headers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 429 error","value":{"ok":false,"error":{"code":"rate_limited","message":"Too many requests. Retry after the rate-limit reset."}}}}}}},"502":{"description":"Upstream source error. The source service rejected or failed the upstream request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 502 error","value":{"ok":false,"error":{"code":"upstream_error","message":"The upstream source returned an error."}}}}}}},"503":{"description":"Service unavailable. The source API or an upstream dependency is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 503 error","value":{"ok":false,"error":{"code":"service_unavailable","message":"The service is temporarily unavailable."}}}}}}},"504":{"description":"Upstream timeout. The upstream source did not return within the source API timeout window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 504 error","value":{"ok":false,"error":{"code":"upstream_timeout","message":"The upstream source timed out."}}}}}}}},"x-docs-example-url":"https://api.etffin.bluedoor.sh/v1/funds/VOO/performance","x-docs-example-status":200,"x-docs-captured-at":"2026-06-07T01:33:25.990Z"}},"/v1/funds/{ticker}/profile":{"get":{"summary":"Profile","security":[{},{"ContactEmail":[]},{"BearerAuth":[]},{"EtffinApiKey":[]}],"operationId":"etffin_get_funds_ticker_profile","description":"Returns profile with source-native fund identifiers, holdings, profile, or performance fields.","tags":["Funds"],"x-source-api":"etffin","x-source-name":"ETF issuers","x-source-upstream":"ishares.com, vanguard.com, invesco.com","parameters":[{"name":"ticker","in":"path","required":true,"schema":{"type":"string"},"description":"Path parameter `ticker`."},{"name":"x-etffin-contact","in":"header","required":false,"schema":{"type":"string","format":"email"},"description":"Optional contact email for higher public rate limits and support diagnostics."},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","example":"Bearer <key>"},"description":"Optional API-key authorization for higher-volume access tiers."}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/etffin_get_funds_ticker_profileResponse"},"examples":{"live":{"summary":"Live response","value":{"meta":{"provider":"vanguard","issuer":"Vanguard","ticker":"VOO","endpoint":"vanguard.profile","family":"profile","route":"profile","cache":"miss","generated_at":"2026-06-07T01:33:26.433Z","server_transport_blocked":false,"status":"ok","upstream_status":200,"upstream_elapsed_ms":147,"content_type":"application/json; charset=utf-8"},"data":{"fund":{"asset_class":"equity","country":"US","fund_id":"0968","issuer":"Vanguard","name":"Vanguard S&P 500 ETF","provider":"vanguard","ticker":"VOO"},"provider":"vanguard","endpoint":"vanguard.profile","as_of":null,"provider_payload":{"fundProfile":{"fundId":"0968","ticker":"VOO","instrumentId":6018245,"shortName":"S&P 500 ETF","longName":"Vanguard S&P 500 ETF","cusip":"922908363","IOVTicker":"VOO.IV","inceptionDate":"2010-09-07T00:00:00-04:00","newspaperAbbreviation":"VangdS&P500ETF      ","style":"Stock Funds","type":"Domestic Stock - General","category":"Large Blend","customizedStyle":"Stock - Large-Cap Blend","equityInvestmentStyleId":"2","equityInvestmentStyleName":"Large-cap blend","secDesignation":"","maximumYearlyInvestment":"","expenseRatio":"0.0300","expenseRatioAsOfDate":"2026-04-28T00:00:00-04:00","isInternalFund":true,"isExternalFund":false,"isMutualFund":false,"isETF":true,"isVLIP":false,"isVVAP":false,"is529":false,"hasAssociatedInvestorFund":true,"hasMoreThan1ShareClass":true,"isPESite":false,"fundFact":{"isActiveFund":true,"isClosed":false,"isClosedToNewInvestors":false,"isFundOfFunds":false,"isMSCIIndexedFund":false,"isIndex":true,"isLoadFund":false,"isMoneyMarket":false,"isBond":false,"isBalanced":false,"isStock":true,"isInternational":false,"isMarketNeutralFund":false,"isInternationalStockFund":false,"isInternationalBalancedFund":false,"isDomesticStockFund":true,"isTaxable":true,"isTaxExempt":false,"isTaxManaged":false,"isTaxableBondFund":false,"isTaxExemptBondFund":false,"isTaxExemptMoneyMarketFund":false,"isTaxSensitiveFund":true,"isSpecialtyStockFund":false,"isHybridFund":false,"isGlobal":false,"isManagedPayoutFund":false,"isGNMAFund":false,"isInvestorShare":false,"isAdmiralShare":false,"isInstitutionalShare":false,"isAdmiralFund":false,"isStableValueFund":false,"isCompanyStockFund":false,"isREITFund":false,"isVariableInsuranceFund":false,"isComingledTrustFund":false,"isConvertibleFund":false,"isAssetAllocationFund":false,"isStateMunicipalBond":false,"isNationalMunicipalBond":false,"isQualifiedOnly":false,"isPreciousMetalsFund":false,"mIsVIPSFund":false,"isSectorSpecific":false,"hasOtherIndex":true,"isTargetRetirementFund":false,"isRetirementSavingsTrustFund":false,"isNon40ActFund":false,"isUnfundedFund":false,"isCreditSuisseFund":false,"isKaiserFund":false,"isFundAccessFund":false,"isFundTransferableToVGI":false,"hasTransactionFee":false,"isNTFFund":false,"hasMoreThan1ShareClass":true,"isOpenToFlagship":false,"isOpenToFlagshipPlus":false,"isCitFund":false,"isAcctType15Fund":false,"isEtfOfEtfs":false,"isStandaloneEtf":false,"isPEandNoteRetail":false},"associatedFundIds":{"investorFundId":"0040","admiralFundId":"0540","etfFundId":"0968"},"fundCategory":{"customizedHighCategoryName":"Stock - Large-Cap Blend","high":{"type":"HIGH","id":1,"name":"Stock Funds"},"mid":{"type":"MID","id":11,"name":"Domestic Stock - General"},"low":{"type":"LOW","id":1102,"name":"Large Blend"}},"signalFundFlag":false,"fundManagementStyle":"Index"},"historicalReturn":{}}}}}}}}},"400":{"description":"Bad request. A required parameter is missing, malformed, or outside the supported range.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 400 error","value":{"ok":false,"error":{"code":"bad_request","message":"Required query parameter is missing or invalid."}}}}}}},"401":{"description":"Unauthorized. API-key authenticated tiers use an Authorization bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 401 error","value":{"ok":false,"error":{"code":"unauthorized","message":"A valid API key is required for this tier."}}}}}}},"404":{"description":"Not found. The requested route, resource, or symbol could not be resolved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 404 error","value":{"ok":false,"error":{"code":"not_found","message":"The requested resource was not found."}}}}}}},"405":{"description":"Method not allowed. Source API routes are documented as HTTP GET unless otherwise specified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 405 error","value":{"ok":false,"error":{"code":"method_not_allowed","message":"This route does not support the requested HTTP method."}}}}}}},"429":{"description":"Rate limited. Retry after the limit reset or include the documented contact/API-key headers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 429 error","value":{"ok":false,"error":{"code":"rate_limited","message":"Too many requests. Retry after the rate-limit reset."}}}}}}},"502":{"description":"Upstream source error. The source service rejected or failed the upstream request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 502 error","value":{"ok":false,"error":{"code":"upstream_error","message":"The upstream source returned an error."}}}}}}},"503":{"description":"Service unavailable. The source API or an upstream dependency is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 503 error","value":{"ok":false,"error":{"code":"service_unavailable","message":"The service is temporarily unavailable."}}}}}}},"504":{"description":"Upstream timeout. The upstream source did not return within the source API timeout window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"},"examples":{"default":{"summary":"HTTP 504 error","value":{"ok":false,"error":{"code":"upstream_timeout","message":"The upstream source timed out."}}}}}}}},"x-docs-example-url":"https://api.etffin.bluedoor.sh/v1/funds/VOO/profile","x-docs-example-status":200,"x-docs-captured-at":"2026-06-07T01:33:26.448Z"}}},"components":{"securitySchemes":{"ContactEmail":{"type":"apiKey","in":"header","name":"X-Etffin-Contact"},"BearerAuth":{"type":"http","scheme":"bearer","description":"API keys are available by emailing sam@bluedoor.sh."},"EtffinApiKey":{"type":"apiKey","in":"header","name":"X-Etffin-Key"}},"schemas":{"ErrorEnvelope":{"type":"object","additionalProperties":true,"properties":{"ok":{"type":"boolean","example":false},"error":{"type":"object","additionalProperties":true,"properties":{"code":{"type":"string"},"message":{"type":"string"}}},"meta":{"type":"object","additionalProperties":true}}},"etffin_get_fundsResponse":{"type":"object","additionalProperties":true,"properties":{"meta":{"type":"object","additionalProperties":true,"properties":{"route":{"type":"string"},"generated_at":{"type":"string"}},"required":["generated_at","route"]},"data":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"asset_class":{"type":"string"},"components":{"type":"object","additionalProperties":true,"properties":{"header":{"type":"string"},"holdings":{"type":"string"},"performance":{"type":"string"},"workbook":{"type":"string"}},"required":["header","holdings","performance","workbook"]},"country":{"type":"string"},"issuer":{"type":"string"},"name":{"type":"string"},"product_id":{"type":"string"},"provider":{"type":"string"},"slug":{"type":"string"},"ticker":{"type":"string"},"locale":{"type":"string"},"fund_id":{"type":"string"}},"required":["asset_class","components","country","fund_id","issuer","locale","name","product_id","provider","slug","ticker"]}}},"required":["data","meta"]},"etffin_get_funds_ticker_holdingsResponse":{"type":"object","additionalProperties":true,"properties":{"meta":{"type":"object","additionalProperties":true,"properties":{"provider":{"type":"string"},"issuer":{"type":"string"},"ticker":{"type":"string"},"endpoint":{"type":"string"},"family":{"type":"string"},"route":{"type":"string"},"cache":{"type":"string"},"generated_at":{"type":"string"},"server_transport_blocked":{"type":"boolean"},"status":{"type":"string"},"upstream_status":{"type":"integer"},"upstream_elapsed_ms":{"type":"integer"},"content_type":{"type":"string"}},"required":["cache","content_type","endpoint","family","generated_at","issuer","provider","route","server_transport_blocked","status","ticker","upstream_elapsed_ms","upstream_status"]},"data":{"type":"object","additionalProperties":true,"properties":{"fund":{"type":"object","additionalProperties":true,"properties":{"asset_class":{"type":"string"},"components":{"type":"object","additionalProperties":true,"properties":{"header":{"type":"string"},"holdings":{"type":"string"},"performance":{"type":"string"},"workbook":{"type":"string"}},"required":["header","holdings","performance","workbook"]},"country":{"type":"string"},"issuer":{"type":"string"},"name":{"type":"string"},"product_id":{"type":"string"},"provider":{"type":"string"},"slug":{"type":"string"},"ticker":{"type":"string"}},"required":["asset_class","components","country","issuer","name","product_id","provider","slug","ticker"]},"provider":{"type":"string"},"endpoint":{"type":"string"},"as_of":{"type":"string"},"holdings":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"ticker":{"type":"string"},"name":{"type":"string"},"sector":{"type":"string"},"asset_class":{"type":"string"},"market_value":{"oneOf":[{"type":"number"},{"type":"integer"}]},"weight":{"type":"number"},"quantity":{"type":"integer"},"price":{"oneOf":[{"type":"number"},{"type":"integer"}]},"location":{"type":"string"},"exchange":{"type":"string"},"currency":{"type":"string"},"cusip":{"oneOf":[{"type":"string"},{"nullable":true}]},"isin":{"type":"string"},"sedol":{"type":"string"}},"required":["asset_class","currency","cusip","exchange","isin","location","market_value","name","price","quantity","sector","sedol","ticker","weight"]}},"total_holdings":{"type":"integer"}},"required":["as_of","endpoint","fund","holdings","provider","total_holdings"]}},"required":["data","meta"]},"etffin_get_funds_ticker_performanceResponse":{"type":"object","additionalProperties":true,"properties":{"meta":{"type":"object","additionalProperties":true,"properties":{"provider":{"type":"string"},"issuer":{"type":"string"},"ticker":{"type":"string"},"endpoint":{"type":"string"},"family":{"type":"string"},"route":{"type":"string"},"cache":{"type":"string"},"generated_at":{"type":"string"},"server_transport_blocked":{"type":"boolean"},"status":{"type":"string"},"upstream_status":{"type":"integer"},"upstream_elapsed_ms":{"type":"integer"},"content_type":{"type":"string"}},"required":["cache","content_type","endpoint","family","generated_at","issuer","provider","route","server_transport_blocked","status","ticker","upstream_elapsed_ms","upstream_status"]},"data":{"type":"object","additionalProperties":true,"properties":{"fund":{"type":"object","additionalProperties":true,"properties":{"asset_class":{"type":"string"},"country":{"type":"string"},"fund_id":{"type":"string"},"issuer":{"type":"string"},"name":{"type":"string"},"provider":{"type":"string"},"ticker":{"type":"string"}},"required":["asset_class","country","fund_id","issuer","name","provider","ticker"]},"provider":{"type":"string"},"endpoint":{"type":"string"},"as_of":{"type":"string"},"provider_payload":{"type":"object","additionalProperties":true,"properties":{"YTD":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"regular":{"type":"string"},"marketPrice":{"type":"string"}},"required":["asOfDate","marketPrice","regular"]},"recentInvestmentRtn":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"shortName":{"type":"string"},"benchmarkShortName":{"type":"string"},"fundReturn":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"calendarYTDPct":{"type":"string"},"prevMonthPct":{"type":"string"},"threeMonthPct":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","calendarYTDPct","fiveYrPct","id","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","prevMonthPct","tenYrPct","threeMonthPct","threeYrPct"]},"marketPriceFundReturn":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"calendarYTDPct":{"type":"string"},"prevMonthPct":{"type":"string"},"threeMonthPct":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","calendarYTDPct","fiveYrPct","id","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","prevMonthPct","tenYrPct","threeMonthPct","threeYrPct"]},"benchmarkReturn":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"calendarYTDPct":{"type":"string"},"prevMonthPct":{"type":"string"},"threeMonthPct":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"sinceInceptionPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","calendarYTDPct","fiveYrPct","id","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","prevMonthPct","sinceInceptionPct","tenYrPct","threeMonthPct","threeYrPct"]}},"required":["asOfDate","benchmarkReturn","benchmarkShortName","fundReturn","marketPriceFundReturn","shortName"]},"monthEndAvgAnnualRtn":{"type":"object","additionalProperties":true,"properties":{"sinceInceptionAsOfDate":{"type":"string"},"asOfDate":{"type":"string"},"shortName":{"type":"string"},"benchmarkShortName":{"type":"string"},"fundReturn":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"calendarYTDPct":{"type":"string"},"prevMonthPct":{"type":"string"},"threeMonthPct":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"sinceInceptionPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","calendarYTDPct","fiveYrPct","id","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","prevMonthPct","sinceInceptionPct","tenYrPct","threeMonthPct","threeYrPct"]},"marketPriceFundReturn":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"calendarYTDPct":{"type":"string"},"prevMonthPct":{"type":"string"},"threeMonthPct":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"sinceInceptionPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","calendarYTDPct","fiveYrPct","id","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","prevMonthPct","sinceInceptionPct","tenYrPct","threeMonthPct","threeYrPct"]},"benchmarkReturn":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"calendarYTDPct":{"type":"string"},"prevMonthPct":{"type":"string"},"threeMonthPct":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"sinceInceptionPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","calendarYTDPct","fiveYrPct","id","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","prevMonthPct","sinceInceptionPct","tenYrPct","threeMonthPct","threeYrPct"]}},"required":["asOfDate","benchmarkReturn","benchmarkShortName","fundReturn","marketPriceFundReturn","shortName","sinceInceptionAsOfDate"]},"quarterEndAvgAnnualRtn":{"type":"object","additionalProperties":true,"properties":{"sinceInceptionAsOfDate":{"type":"string"},"asOfDate":{"type":"string"},"shortName":{"type":"string"},"benchmarkShortName":{"type":"string"},"fundReturn":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"calendarYTDPct":{"type":"string"},"prevMonthPct":{"type":"string"},"threeMonthPct":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"sinceInceptionPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","calendarYTDPct","fiveYrPct","id","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","prevMonthPct","sinceInceptionPct","tenYrPct","threeMonthPct","threeYrPct"]},"marketPriceFundReturn":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"calendarYTDPct":{"type":"string"},"prevMonthPct":{"type":"string"},"threeMonthPct":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"sinceInceptionPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","calendarYTDPct","fiveYrPct","id","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","prevMonthPct","sinceInceptionPct","tenYrPct","threeMonthPct","threeYrPct"]},"benchmarkReturn":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"calendarYTDPct":{"type":"string"},"prevMonthPct":{"type":"string"},"threeMonthPct":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"sinceInceptionPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","calendarYTDPct","fiveYrPct","id","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","prevMonthPct","sinceInceptionPct","tenYrPct","threeMonthPct","threeYrPct"]}},"required":["asOfDate","benchmarkReturn","benchmarkShortName","fundReturn","marketPriceFundReturn","shortName","sinceInceptionAsOfDate"]},"quarterEndAfterTaxRtn":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"sinceInceptionAsOfDate":{"type":"string"},"name":{"type":"string"},"benchmarkName":{"type":"string"},"regular":{"type":"object","additionalProperties":true,"properties":{"beforeTax":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"name":{"type":"string"},"calendarYTDPct":{"type":"string"},"prevMonthPct":{"type":"string"},"threeMonthPct":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"sinceInceptionPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","calendarYTDPct","fiveYrPct","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","prevMonthPct","sinceInceptionPct","tenYrPct","threeMonthPct","threeYrPct"]},"afterTaxOnDistribution":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"name":{"type":"string"},"calendarYTDPct":{"type":"string"},"prevMonthPct":{"type":"string"},"threeMonthPct":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"sinceInceptionPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","calendarYTDPct","fiveYrPct","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","prevMonthPct","sinceInceptionPct","tenYrPct","threeMonthPct","threeYrPct"]},"afterTaxOnDistributionFundShares":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"name":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"sinceInceptionPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","fiveYrPct","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","sinceInceptionPct","tenYrPct","threeYrPct"]}},"required":["afterTaxOnDistribution","afterTaxOnDistributionFundShares","beforeTax"]},"marketPrice":{"type":"object","additionalProperties":true,"properties":{"beforeTax":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"name":{"type":"string"},"calendarYTDPct":{"type":"string"},"prevMonthPct":{"type":"string"},"threeMonthPct":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"sinceInceptionPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","calendarYTDPct","fiveYrPct","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","prevMonthPct","sinceInceptionPct","tenYrPct","threeMonthPct","threeYrPct"]},"afterTaxOnDistribution":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"name":{"type":"string"},"calendarYTDPct":{"type":"string"},"prevMonthPct":{"type":"string"},"threeMonthPct":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"sinceInceptionPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","calendarYTDPct","fiveYrPct","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","prevMonthPct","sinceInceptionPct","tenYrPct","threeMonthPct","threeYrPct"]},"afterTaxOnDistributionFundShares":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"name":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"sinceInceptionPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","fiveYrPct","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","sinceInceptionPct","tenYrPct","threeYrPct"]}},"required":["afterTaxOnDistribution","afterTaxOnDistributionFundShares","beforeTax"]},"benchmark":{"type":"object","additionalProperties":true,"properties":{"beforeTax":{"type":"object","additionalProperties":true,"properties":{"name":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["fiveYrPct","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","tenYrPct","threeYrPct"]},"afterTaxOnDistribution":{"type":"object","additionalProperties":true,"properties":{"name":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["isLastMonthEndPerformanceDataAvailable","name"]},"afterTaxOnDistributionFundShares":{"type":"object","additionalProperties":true,"properties":{"name":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["isLastMonthEndPerformanceDataAvailable","name"]}},"required":["afterTaxOnDistribution","afterTaxOnDistributionFundShares","beforeTax"]}},"required":["asOfDate","benchmark","benchmarkName","marketPrice","name","regular","sinceInceptionAsOfDate"]},"cummulativeRtn":{"type":"object","additionalProperties":true,"properties":{"sinceInceptionAsOfDate":{"type":"string"},"asOfDate":{"type":"string"},"shortName":{"type":"string"},"benchmarkShortName":{"type":"string"},"fundReturn":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"calendarYTDPct":{"type":"string"},"prevMonthPct":{"type":"string"},"threeMonthPct":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"sinceInceptionPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","calendarYTDPct","fiveYrPct","id","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","prevMonthPct","sinceInceptionPct","tenYrPct","threeMonthPct","threeYrPct"]},"marketPriceFundReturn":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"calendarYTDPct":{"type":"string"},"prevMonthPct":{"type":"string"},"threeMonthPct":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"sinceInceptionPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","calendarYTDPct","fiveYrPct","id","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","prevMonthPct","sinceInceptionPct","tenYrPct","threeMonthPct","threeYrPct"]},"benchmarkReturn":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"calendarYTDPct":{"type":"string"},"prevMonthPct":{"type":"string"},"threeMonthPct":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","calendarYTDPct","fiveYrPct","id","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","prevMonthPct","tenYrPct","threeMonthPct","threeYrPct"]}},"required":["asOfDate","benchmarkReturn","benchmarkShortName","fundReturn","marketPriceFundReturn","shortName","sinceInceptionAsOfDate"]},"annualRtn":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"shortName":{"type":"string"},"benchmarkShortName":{"type":"string"},"annualReturns":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"item":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"year":{"type":"string"},"capitalRtn":{"type":"string"},"incomeRtn":{"type":"string"},"totalRtn":{"type":"string"},"marketPriceTotalRtn":{"type":"string"},"benchmarkTotalRtn":{"type":"string"}},"required":["benchmarkTotalRtn","capitalRtn","incomeRtn","marketPriceTotalRtn","totalRtn","year"]}}},"required":["item"]}}},"required":["annualReturns","asOfDate","benchmarkShortName","shortName"]},"quarterlyRtn":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"shortName":{"type":"string"},"benchmarkShortName":{"type":"string"},"nav":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"item":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"year":{"type":"string"},"firstQtrRtn":{"type":"string"},"secondQtrRtn":{"type":"string"},"thirdQtrRtn":{"type":"string"},"fourthQtrRtn":{"type":"string"},"yearEndRtn":{"type":"string"},"benchmarkYearEndRtn":{"type":"string"}},"required":["benchmarkYearEndRtn","firstQtrRtn","fourthQtrRtn","secondQtrRtn","thirdQtrRtn","year","yearEndRtn"]}}},"required":["item"]}},"marketPrice":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"item":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"year":{"type":"string"},"firstQtrRtn":{"type":"string"},"secondQtrRtn":{"type":"string"},"thirdQtrRtn":{"type":"string"},"fourthQtrRtn":{"type":"string"},"yearEndRtn":{"type":"string"},"benchmarkYearEndRtn":{"type":"string"}},"required":["benchmarkYearEndRtn","firstQtrRtn","fourthQtrRtn","secondQtrRtn","thirdQtrRtn","year","yearEndRtn"]}}},"required":["item"]}}},"required":["asOfDate","benchmarkShortName","marketPrice","nav","shortName"]},"industryQuarterlyRtn":{"type":"object","additionalProperties":true,"properties":{"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["fiveYrPct","isLastMonthEndPerformanceDataAvailable","oneYrPct","tenYrPct","threeYrPct"]},"industryMonthlyRtn":{"type":"object","additionalProperties":true,"properties":{"asOfDate":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"oneYrPct":{"type":"string"},"threeYrPct":{"type":"string"},"fiveYrPct":{"type":"string"},"tenYrPct":{"type":"string"},"isLastMonthEndPerformanceDataAvailable":{"type":"boolean"}},"required":["asOfDate","fiveYrPct","id","isLastMonthEndPerformanceDataAvailable","name","oneYrPct","tenYrPct","threeYrPct"]}},"required":["YTD","annualRtn","cummulativeRtn","industryMonthlyRtn","industryQuarterlyRtn","monthEndAvgAnnualRtn","quarterEndAfterTaxRtn","quarterEndAvgAnnualRtn","quarterlyRtn","recentInvestmentRtn"]}},"required":["as_of","endpoint","fund","provider","provider_payload"]}},"required":["data","meta"]},"etffin_get_funds_ticker_profileResponse":{"type":"object","additionalProperties":true,"properties":{"meta":{"type":"object","additionalProperties":true,"properties":{"provider":{"type":"string"},"issuer":{"type":"string"},"ticker":{"type":"string"},"endpoint":{"type":"string"},"family":{"type":"string"},"route":{"type":"string"},"cache":{"type":"string"},"generated_at":{"type":"string"},"server_transport_blocked":{"type":"boolean"},"status":{"type":"string"},"upstream_status":{"type":"integer"},"upstream_elapsed_ms":{"type":"integer"},"content_type":{"type":"string"}},"required":["cache","content_type","endpoint","family","generated_at","issuer","provider","route","server_transport_blocked","status","ticker","upstream_elapsed_ms","upstream_status"]},"data":{"type":"object","additionalProperties":true,"properties":{"fund":{"type":"object","additionalProperties":true,"properties":{"asset_class":{"type":"string"},"country":{"type":"string"},"fund_id":{"type":"string"},"issuer":{"type":"string"},"name":{"type":"string"},"provider":{"type":"string"},"ticker":{"type":"string"}},"required":["asset_class","country","fund_id","issuer","name","provider","ticker"]},"provider":{"type":"string"},"endpoint":{"type":"string"},"as_of":{"nullable":true},"provider_payload":{"type":"object","additionalProperties":true,"properties":{"fundProfile":{"type":"object","additionalProperties":true,"properties":{"fundId":{"type":"string"},"ticker":{"type":"string"},"instrumentId":{"type":"integer"},"shortName":{"type":"string"},"longName":{"type":"string"},"cusip":{"type":"string"},"IOVTicker":{"type":"string"},"inceptionDate":{"type":"string"},"newspaperAbbreviation":{"type":"string"},"style":{"type":"string"},"type":{"type":"string"},"category":{"type":"string"},"customizedStyle":{"type":"string"},"equityInvestmentStyleId":{"type":"string"},"equityInvestmentStyleName":{"type":"string"},"secDesignation":{"type":"string"},"maximumYearlyInvestment":{"type":"string"},"expenseRatio":{"type":"string"},"expenseRatioAsOfDate":{"type":"string"},"isInternalFund":{"type":"boolean"},"isExternalFund":{"type":"boolean"},"isMutualFund":{"type":"boolean"},"isETF":{"type":"boolean"},"isVLIP":{"type":"boolean"},"isVVAP":{"type":"boolean"},"is529":{"type":"boolean"},"hasAssociatedInvestorFund":{"type":"boolean"},"hasMoreThan1ShareClass":{"type":"boolean"},"isPESite":{"type":"boolean"},"fundFact":{"type":"object","additionalProperties":true,"properties":{"isActiveFund":{"type":"boolean"},"isClosed":{"type":"boolean"},"isClosedToNewInvestors":{"type":"boolean"},"isFundOfFunds":{"type":"boolean"},"isMSCIIndexedFund":{"type":"boolean"},"isIndex":{"type":"boolean"},"isLoadFund":{"type":"boolean"},"isMoneyMarket":{"type":"boolean"},"isBond":{"type":"boolean"},"isBalanced":{"type":"boolean"},"isStock":{"type":"boolean"},"isInternational":{"type":"boolean"},"isMarketNeutralFund":{"type":"boolean"},"isInternationalStockFund":{"type":"boolean"},"isInternationalBalancedFund":{"type":"boolean"},"isDomesticStockFund":{"type":"boolean"},"isTaxable":{"type":"boolean"},"isTaxExempt":{"type":"boolean"},"isTaxManaged":{"type":"boolean"},"isTaxableBondFund":{"type":"boolean"},"isTaxExemptBondFund":{"type":"boolean"},"isTaxExemptMoneyMarketFund":{"type":"boolean"},"isTaxSensitiveFund":{"type":"boolean"},"isSpecialtyStockFund":{"type":"boolean"},"isHybridFund":{"type":"boolean"},"isGlobal":{"type":"boolean"},"isManagedPayoutFund":{"type":"boolean"},"isGNMAFund":{"type":"boolean"},"isInvestorShare":{"type":"boolean"},"isAdmiralShare":{"type":"boolean"},"isInstitutionalShare":{"type":"boolean"},"isAdmiralFund":{"type":"boolean"},"isStableValueFund":{"type":"boolean"},"isCompanyStockFund":{"type":"boolean"},"isREITFund":{"type":"boolean"},"isVariableInsuranceFund":{"type":"boolean"},"isComingledTrustFund":{"type":"boolean"},"isConvertibleFund":{"type":"boolean"},"isAssetAllocationFund":{"type":"boolean"},"isStateMunicipalBond":{"type":"boolean"},"isNationalMunicipalBond":{"type":"boolean"},"isQualifiedOnly":{"type":"boolean"},"isPreciousMetalsFund":{"type":"boolean"},"mIsVIPSFund":{"type":"boolean"},"isSectorSpecific":{"type":"boolean"},"hasOtherIndex":{"type":"boolean"},"isTargetRetirementFund":{"type":"boolean"},"isRetirementSavingsTrustFund":{"type":"boolean"},"isNon40ActFund":{"type":"boolean"},"isUnfundedFund":{"type":"boolean"},"isCreditSuisseFund":{"type":"boolean"},"isKaiserFund":{"type":"boolean"},"isFundAccessFund":{"type":"boolean"},"isFundTransferableToVGI":{"type":"boolean"},"hasTransactionFee":{"type":"boolean"},"isNTFFund":{"type":"boolean"},"hasMoreThan1ShareClass":{"type":"boolean"},"isOpenToFlagship":{"type":"boolean"},"isOpenToFlagshipPlus":{"type":"boolean"},"isCitFund":{"type":"boolean"},"isAcctType15Fund":{"type":"boolean"},"isEtfOfEtfs":{"type":"boolean"},"isStandaloneEtf":{"type":"boolean"},"isPEandNoteRetail":{"type":"boolean"}},"required":["hasMoreThan1ShareClass","hasOtherIndex","hasTransactionFee","isAcctType15Fund","isActiveFund","isAdmiralFund","isAdmiralShare","isAssetAllocationFund","isBalanced","isBond","isCitFund","isClosed","isClosedToNewInvestors","isComingledTrustFund","isCompanyStockFund","isConvertibleFund","isCreditSuisseFund","isDomesticStockFund","isEtfOfEtfs","isFundAccessFund","isFundOfFunds","isFundTransferableToVGI","isGNMAFund","isGlobal","isHybridFund","isIndex","isInstitutionalShare","isInternational","isInternationalBalancedFund","isInternationalStockFund","isInvestorShare","isKaiserFund","isLoadFund","isMSCIIndexedFund","isManagedPayoutFund","isMarketNeutralFund","isMoneyMarket","isNTFFund","isNationalMunicipalBond","isNon40ActFund","isOpenToFlagship","isOpenToFlagshipPlus","isPEandNoteRetail","isPreciousMetalsFund","isQualifiedOnly","isREITFund","isRetirementSavingsTrustFund","isSectorSpecific","isSpecialtyStockFund","isStableValueFund","isStandaloneEtf","isStateMunicipalBond","isStock","isTargetRetirementFund","isTaxExempt","isTaxExemptBondFund","isTaxExemptMoneyMarketFund","isTaxManaged","isTaxSensitiveFund","isTaxable","isTaxableBondFund","isUnfundedFund","isVariableInsuranceFund","mIsVIPSFund"]},"associatedFundIds":{"type":"object","additionalProperties":true,"properties":{"investorFundId":{"type":"string"},"admiralFundId":{"type":"string"},"etfFundId":{"type":"string"}},"required":["admiralFundId","etfFundId","investorFundId"]},"fundCategory":{"type":"object","additionalProperties":true,"properties":{"customizedHighCategoryName":{"type":"string"},"high":{"type":"object","additionalProperties":true,"properties":{"type":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name","type"]},"mid":{"type":"object","additionalProperties":true,"properties":{"type":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name","type"]},"low":{"type":"object","additionalProperties":true,"properties":{"type":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name","type"]}},"required":["customizedHighCategoryName","high","low","mid"]},"signalFundFlag":{"type":"boolean"},"fundManagementStyle":{"type":"string"}},"required":["IOVTicker","associatedFundIds","category","cusip","customizedStyle","equityInvestmentStyleId","equityInvestmentStyleName","expenseRatio","expenseRatioAsOfDate","fundCategory","fundFact","fundId","fundManagementStyle","hasAssociatedInvestorFund","hasMoreThan1ShareClass","inceptionDate","instrumentId","is529","isETF","isExternalFund","isInternalFund","isMutualFund","isPESite","isVLIP","isVVAP","longName","maximumYearlyInvestment","newspaperAbbreviation","secDesignation","shortName","signalFundFlag","style","ticker","type"]},"historicalReturn":{"type":"object","additionalProperties":true,"properties":{}}},"required":["fundProfile","historicalReturn"]}},"required":["as_of","endpoint","fund","provider","provider_payload"]}},"required":["data","meta"]}}},"x-generated-at":"2026-06-07T01:30:59.456Z","x-source-api":"etffin","x-source-base-url":"https://api.etffin.bluedoor.sh"}