{"service":"FolioSet","version":"v1.2.18","status":"healthy","documentation":"/docs","endpoints":{"system":[{"path":"/","method":"GET","description":"API information and available endpoints, grouped by tag.","auth_required":false},{"path":"/health","method":"GET","description":"Health check endpoint.","auth_required":false}],"cache":[{"path":"/cache/clear","method":"POST","description":"Clear cache artifacts.","auth_required":true},{"path":"/cache/info","method":"GET","description":"Get cache artifact information.","auth_required":true}],"asset_registry":[{"path":"/asset-registry/asset-classes","method":"GET","description":"Return asset class definitions grouped by asset category.","auth_required":false},{"path":"/asset-registry/groups","method":"GET","description":"Group names usable in `constraints.group_constraints.rules`.","auth_required":false},{"path":"/asset-registry/risk-free-rates","method":"GET","description":"Return available options for the risk-free rate field.","auth_required":false},{"path":"/asset-registry/risk-free-rates/default","method":"GET","description":"Return the current value of the default risk-free rate (^IRX).","auth_required":false},{"path":"/asset-registry/risk-free-rates/{id}","method":"GET","description":"Return the current value of a yield index by its registry id (e.g. tnx, fvx).","auth_required":false},{"path":"/asset-registry/search","method":"GET","description":"Search for tradable tickers by company name, symbol, or ISIN.","auth_required":false},{"path":"/asset-registry/init","method":"POST","description":"Fetch an asset's price history ahead of use.","auth_required":true}],"estimators":[{"path":"/estimators","method":"GET","description":"List the available estimation methods.","auth_required":false}],"optimization":[{"path":"/optimizations","method":"POST","description":"Optimize a portfolio and store the definition as a draft.","auth_required":true},{"path":"/optimizations","method":"GET","description":"List stored optimizations","auth_required":true},{"path":"/optimizations/shared","method":"GET","description":"Run a shared optimization definition","auth_required":true},{"path":"/optimizations/{optimization_id}","method":"GET","description":"Get optimization by ID","auth_required":true},{"path":"/optimizations/{optimization_id}/persist","method":"POST","description":"Persist a draft optimization","auth_required":true},{"path":"/optimizations/{optimization_id}","method":"DELETE","description":"Delete optimization by ID","auth_required":true}],"backtest":[{"path":"/backtests","method":"POST","description":"Run a portfolio backtest","auth_required":true},{"path":"/backtests/shared","method":"GET","description":"Run a shared backtest definition","auth_required":true},{"path":"/backtests","method":"GET","description":"List stored backtests","auth_required":true},{"path":"/backtests/{backtest_id}","method":"GET","description":"Get backtest by ID","auth_required":true},{"path":"/backtests/{backtest_id}/persist","method":"POST","description":"Persist a draft backtest","auth_required":true},{"path":"/backtests/{backtest_id}","method":"DELETE","description":"Delete backtest by ID","auth_required":true}],"analytics":[{"path":"/analytics/return-profile","method":"POST","description":"Asset return profile","auth_required":true}],"projection":[{"path":"/projections","method":"POST","description":"Monte Carlo forward projection","auth_required":true},{"path":"/projections/shared","method":"GET","description":"Run a shared projection definition","auth_required":true},{"path":"/projections","method":"GET","description":"List stored projections","auth_required":true},{"path":"/projections/{projection_id}","method":"GET","description":"Get projection by ID","auth_required":true},{"path":"/projections/{projection_id}/persist","method":"POST","description":"Persist a draft projection","auth_required":true},{"path":"/projections/{projection_id}","method":"DELETE","description":"Delete projection by ID","auth_required":true}],"portfolio":[{"path":"/portfolios","method":"POST","description":"Create portfolio","auth_required":true},{"path":"/portfolios","method":"GET","description":"List portfolios","auth_required":true},{"path":"/portfolios/{portfolio_id}","method":"GET","description":"Get portfolio by ID","auth_required":true},{"path":"/portfolios/{portfolio_id}","method":"DELETE","description":"Delete portfolio by ID","auth_required":true}]}}