refresh_portfolio
Refresh all enabled real (non-simulated) traders' portfolios to get current holdings and balances across every connected exchange.
Instructions
Trigger an immediate refresh of every enabled real (non-simulated) trader's portfolio.
Maps to POST /api/refresh_portfolio -- confirmed against source as a
bare POST with no request body at all (the route never calls
flask.request.get_json()).
Success: OctoBot returns HTTP 200 with the literal JSON string
"Portfolio(s) refreshed", returned unchanged (NFR-8). Failure -- zero
enabled real traders across every connected exchange (confirmed against
source, octobot_services.interfaces.util.portfolio:: async_trigger_portfolios_refresh raises RuntimeError("no real trader to update.") in exactly this case) -- raises
PortfolioRefreshFailedError with OctoBot's own extracted error text
(always, in practice, the literal "No portfolio to refresh"). This is
an entirely expected outcome on any OctoBot instance running only
simulated trading, not a bug.
Not confirm-gated (ADR-0003): triggers a routine, non-destructive
portfolio data refresh, not a trade action. No confirm parameter
exists on this tool at all.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||