# Itoflow developer docs > Itoflow takes an investment idea from research to live trading, with agents doing the work. Research an idea, have agents watch it and your portfolios around the clock, run it as paper strategies, then trade it live; a person approves every live trade. Each step keeps the context of the last, and Itoflow supplies the market data and compute. Start with one part, such as the factor risk engine with ETF look-through, from Claude, ChatGPT or Codex over MCP, or from your code over HTTP. - [Itoflow developer docs](https://docs.itoflow.ai/index.md): Itoflow takes an investment idea from research to live trading in one place, with agents doing the work: research, agents that watch ideas and portfolios around the clock, paper strategies, then live trading with a person approving every trade. Itoflow supplies the market data and compute. Start wit… - [Itoflow MCP](https://docs.itoflow.ai/mcp/overview.md): Install the Itoflow plugin in Claude, ChatGPT, Codex, Gemini, GitHub Copilot or Cursor for research, portfolios, strategies and chat files. - [Connect your AI assistant](https://docs.itoflow.ai/mcp/install.md): Install the Itoflow plugin in Claude, ChatGPT, Codex, Gemini, GitHub Copilot or Cursor and sign in to Itoflow. - [Use Itoflow from your assistant](https://docs.itoflow.ai/mcp/usage.md): Example requests for research, portfolios and chat files, the local worker, and the MCP tools. - [Read the docs with AI tools](https://docs.itoflow.ai/guides/ai-tools.md): Give your AI assistant public Itoflow documentation as Markdown, a page index, or an OpenAPI contract. - [How Itoflow works](https://docs.itoflow.ai/platform/how-itoflow-works.md): Itoflow's five layers: your request or mandate, an agent harness that plans, codes and checks research, a quant engine, an independent factor risk model, and a person who approves every live trade. What each layer does, why it is there, and how your own code, tools and models plug in. - [The agent harness](https://docs.itoflow.ai/platform/agent-harness.md): How Itoflow's agents do research you can check: a research agent that writes and runs Python in an isolated sandbox, a research contract fixed before work starts, a check that each reported number matches what the code produced, an independent reviewer the agent can't skip, and monitors and strategi… - [Quant engine and risk model](https://docs.itoflow.ai/platform/quant-engine.md): What Itoflow's engine computes: point-in-time data for stocks, ETFs and crypto on 24 exchanges, signal tests, walk-forward and out-of-sample backtests with overfitting checks, portfolio construction, and a factor risk model with ETF look-through that also covers gold, Treasury and cash-like funds, p… - [Design principles](https://docs.itoflow.ai/guides/design-principles.md): The rules Itoflow keeps everywhere: a person approves every live trade, your token decides access, only data that existed at the time, the engine computes and the agent explains, no silent model changes, safe retries, versioned mandates, and credentials that never reach the model. What each means fo… - [Use cases](https://docs.itoflow.ai/use-cases/overview.md): Jobs you can do with Itoflow today, each with a prompt to paste into your AI assistant: test a signal, build and stress-test a strategy, measure a book's factor risk, monitor a portfolio, run a strategy under a mandate, compare tax-loss harvesting rules, and research with your own code and tools. - [Test a signal or dataset](https://docs.itoflow.ai/use-cases/test-a-signal.md): Ask Itoflow whether a signal or your own dataset predicts returns. The research agent tests it on point-in-time data with information coefficients, a chronological out-of-sample split, multiple-testing control and the deflated Sharpe ratio, and says so plainly when it finds no edge. - [Build and stress-test a strategy idea](https://docs.itoflow.ai/use-cases/stress-test-a-strategy-idea.md): Describe a strategy and its risk targets, and Itoflow's research agent compares designs walk-forward with trading costs, holds back an out-of-sample period, stress-tests them on crashes such as Covid, and drafts the winner as a paused paper strategy for you to review. - [Decide whether a name improves a book](https://docs.itoflow.ai/use-cases/add-a-name-to-a-book.md): Ask Itoflow which of several stocks would do more for a portfolio. The research agent weighs each name's fundamentals beside its effect on the book's return, volatility, drawdown and Sharpe ratio, tested on a holdout period, and names the trade-offs. - [Compare tax-loss harvesting rules](https://docs.itoflow.ai/use-cases/compare-tax-loss-harvesting.md): Ask Itoflow to compare tax-loss harvesting rules on the same lots and inputs, so the gap between them reflects the rule. See each rule's after-tax result beside the tracking error it costs. A research study, not tax advice. - [Measure a book's factor risk](https://docs.itoflow.ai/use-cases/measure-factor-risk.md): Measure a portfolio's factor risk against a benchmark with Itoflow's factor risk model: volatility, tracking error, beta, factor exposures and the names that drive risk, at one date or month by month, looking through ETFs to their holdings and naming every gap. - [Analyze your Interactive Brokers portfolio](https://docs.itoflow.ai/use-cases/interactive-brokers-risk.md): Connect Interactive Brokers' MCP server to Itoflow, then ask Itoflow for risk, factor and concentration analysis of your real positions. - [Monitor a portfolio](https://docs.itoflow.ai/use-cases/portfolio-monitoring.md): Set up a monitor that checks your portfolio against a benchmark, peer funds and your tracking-error, sector and single-name limits, and writes a report on a schedule. - [Run a strategy under a mandate](https://docs.itoflow.ai/use-cases/run-a-strategy.md): Write a mandate and position limits, and an Itoflow agent runs a paper portfolio under them on its own schedule, recording each decision with its weights, reasoning and confidence. A live portfolio trades only after a person approves the exact list of trades. - [Get a daily news brief](https://docs.itoflow.ai/use-cases/daily-news-brief.md): Have a research monitor summarize the news and filings that affect your holdings every weekday morning, and read the rated news feed from code. - [Research with your own code and tools](https://docs.itoflow.ai/use-cases/research-with-your-code.md): Connect your GitHub repositories and your own MCP servers, then ask Itoflow's research agent to run your code on Itoflow's data, change it and open a pull request, or call your own tools in its research. Tokens never reach the model or the sandbox. - [Chat](https://docs.itoflow.ai/features/chat.md): Start research from your AI assistant over MCP and follow it to the end, read conversations and their results, download and share what a chat made, and run chats on your own ChatGPT subscription instead of Itoflow credits. - [Portfolios and trade approvals](https://docs.itoflow.ai/features/portfolios.md): Read holdings and performance, import a portfolio, measure its risk, link a strategy, and approve trades. Paper portfolios can trade on their own; a live portfolio's trades always wait for your approval. - [Strategies](https://docs.itoflow.ai/features/strategies.md): Write a mandate and position limits, and an Itoflow agent runs a paper or live portfolio under them on a schedule. Version the strategy, run it on demand, and read each decision with its reasoning and trades. A person approves every live trade. - [Monitors](https://docs.itoflow.ai/features/monitors.md): Create research and fund-oversight monitors, schedule and run reports, and read the news feed. - [Market data and risk](https://docs.itoflow.ai/features/market-data.md): Read quotes and prices, per-symbol analytics against a benchmark, FX rates and a factor-risk covariance matrix, and search stored news and SEC filings by meaning or by company, including news that never names the company. - [Broker connections](https://docs.itoflow.ai/features/brokers.md): Connect a Trading 212 account, check its status and holdings, and disconnect it. - [Connect GitHub and MCP servers](https://docs.itoflow.ai/features/integrations.md): Let Itoflow's research agent read and change your GitHub repositories, open draft pull requests, and call tools on your own MCP servers. Tokens never reach the model or the sandbox. - [Sharing](https://docs.itoflow.ai/features/sharing.md): Publish a read-only snapshot of a dashboard or a whole chat, and read shared content. - [Notifications](https://docs.itoflow.ai/features/notifications.md): Choose which emails Itoflow sends you, and check what was sent. - [Billing and credits](https://docs.itoflow.ai/features/billing.md): Choose a plan and the model your agents use, see what each run cost in credits, set a spending cap, and manage invoices and your subscription. Itoflow never switches your model silently. - [Make your first API request](https://docs.itoflow.ai/quickstart/http.md): Get an access token, then list supported exchanges with cURL, JavaScript or Python. - [Authentication](https://docs.itoflow.ai/authentication.md): Sign in with device authorization to get an access token, send it as a bearer token, and refresh it. - [API conventions](https://docs.itoflow.ai/guides/api-conventions.md): Access checks, pagination, retries, asynchronous work, status codes and units. - [HTTP API overview](https://docs.itoflow.ai/api-reference/overview.md): Base URL, the OpenAPI file, and which endpoints you can try in the browser. - [Risk runs](https://docs.itoflow.ai/api-reference/risk-runs.md): Run Itoflow's risk engine on a saved portfolio or a what-if book: current factor risk, attribution, risk change and scenarios against a benchmark and up to 10 peer funds, with every gap named. Start, read and stop a run. - [Risk measure](https://docs.itoflow.ai/api-reference/risk-measure.md): Measure volatility, tracking error, beta, factor exposures and the names that drive risk for up to ten books, at one date or over up to 60 dates, and split a change in risk into what trades did and what the market did. - [API coverage](https://docs.itoflow.ai/api-reference/coverage.md): Find every documented product operation by feature. - [Find and resolve symbols](https://docs.itoflow.ai/guides/symbols.md): List exchanges, search by ticker or company, and resolve broker symbols, ISINs and MICs to Itoflow symbols. - [SDKs and client libraries](https://docs.itoflow.ai/sdk/overview.md): Itoflow has no official SDK. Use any HTTP client, or generate one from the OpenAPI file. - [MCP troubleshooting](https://docs.itoflow.ai/mcp/troubleshooting.md): Fix connection, sign-in, missing-tool, plugin, research and file problems. - [API troubleshooting](https://docs.itoflow.ai/troubleshooting.md): Fix authentication, permission, input, rate-limit and browser errors from the HTTP API. - [Get billing costs](https://docs.itoflow.ai/api-reference/endpoints/get__account_billing_costs.md): Agent usage and credits for the current billing period. - [Update account display currency](https://docs.itoflow.ai/api-reference/endpoints/patch__account_display_currency.md): Operation ID: patch__account_display_currency. - [Get account display preferences](https://docs.itoflow.ai/api-reference/endpoints/get__account_preferences.md): Operation ID: get__account_preferences. - [Get public sign-in configuration](https://docs.itoflow.ai/api-reference/endpoints/getauthclientconfig.md): Operation ID: getAuthClientConfig. - [Get authenticated user](https://docs.itoflow.ai/api-reference/endpoints/getauthuser.md): Operation ID: getAuthUser. - [Get the current user Codex subscription connection](https://docs.itoflow.ai/api-reference/endpoints/get__codex_subscription.md): Operation ID: get__codex_subscription. - [Disconnect the subscription and revoke it at the provider](https://docs.itoflow.ai/api-reference/endpoints/delete__codex_subscription.md): Operation ID: delete__codex_subscription. - [Check whether the user has approved the device authorization](https://docs.itoflow.ai/api-reference/endpoints/post__codex_subscription_poll.md): Operation ID: post__codex_subscription_poll. - [Start a device authorization the user approves in a browser](https://docs.itoflow.ai/api-reference/endpoints/post__codex_subscription_start.md): Operation ID: post__codex_subscription_start. - [Create or reuse a shareable artifact](https://docs.itoflow.ai/api-reference/endpoints/post__artifacts.md): Creates a public artifact snapshot from a retained dashboard in the authenticated user's chat. A retained dashboard remains shareable if its run later fails. If the same private chat source was already shared, returns the existing published artifact instead. - [Archive a shareable artifact](https://docs.itoflow.ai/api-reference/endpoints/delete__artifacts_slug_.md): Archives an artifact owned by the authenticated user. Archived artifacts disappear from public access immediately. - [Read a public artifact](https://docs.itoflow.ai/api-reference/endpoints/get__artifacts_public_slug_.md): Returns a public shareable dashboard artifact by slug. - [Read a public artifact dataframe snapshot](https://docs.itoflow.ai/api-reference/endpoints/get__artifacts_public_slug_dataframes_dfid_.md): Returns paginated rows for a dataframe snapshot embedded in a public artifact. - [List benchmark index prices to compare performance](https://docs.itoflow.ai/api-reference/endpoints/get__benchmarks.md): Lists prices and returns over time for the market benchmarks Itoflow tracks, such as the S&P 500 and NASDAQ 100, so you can compare a strategy or portfolio against the market. Returns are measured from the first price in the range. - [Compute a point-in-time factor risk covariance matrix](https://docs.itoflow.ai/api-reference/endpoints/post__factor_risk_covariance.md): Returns the asset covariance matrix for the requested symbols as of a historical date, built from the point-in-time factor model snapshot resolved at or before that date. - [Get the exchange rate between two currencies](https://docs.itoflow.ai/api-reference/endpoints/get__fx_rate.md): Returns the current exchange rate between two currencies, for example USD to GBP. Multiply an amount in the from currency by rate to convert it to the to currency. Returns 503 when no rate is available. - [Get current exchange rates for all supported currencies](https://docs.itoflow.ai/api-reference/endpoints/get__fx_rates.md): Returns current exchange rates for every supported currency against the US dollar, for example how many euros or pounds one dollar buys. Use it to convert amounts between currencies. stale is true when the latest refresh failed and older rates are returned. - [Get anonymous strategy leaderboard](https://docs.itoflow.ai/api-reference/endpoints/get__leaderboard.md): Returns anonymized strategy performance rankings and weekly/monthly champions. Only the requesting user can see which rows are theirs. - [Search stored news by query, symbol or monitor](https://docs.itoflow.ai/api-reference/endpoints/get__news.md): Searches the company, market and economic news and SEC filings Itoflow has stored. It selects possible matches by similarity, including items without a vector, then a model judges those candidates by meaning in any language. With `q`, the route returns one row per story, most important first. With `… - [Get latest analytics for a list of symbols](https://docs.itoflow.ai/api-reference/endpoints/get__symbols_analytics.md): Returns analytics for any 1 to 12 symbols: per-symbol returns, risk, signals and fundamentals, plus analytics for the symbols as one list, such as market regime, breadth and sector mix. Nothing is saved. The server caches results for up to 10 minutes, or 1 minute when some symbols or data sources fa… - [Get latest symbol baseline cards](https://docs.itoflow.ai/api-reference/endpoints/get__symbols_baseline.md): Returns the latest symbol cards. The server caches results for up to 10 minutes. - [Get symbol cache status](https://docs.itoflow.ai/api-reference/endpoints/get__symbols_cache_status.md): Operation ID: get__symbols_cache_status. - [List symbol exchanges](https://docs.itoflow.ai/api-reference/endpoints/getsymbolsexchanges.md): Operation ID: getSymbolsExchanges. - [Get cached live quotes for symbols](https://docs.itoflow.ai/api-reference/endpoints/post__symbols_quotes.md): Returns cached quotes only; symbols without a cached quote are omitted. - [Resolve canonical instrument identifiers](https://docs.itoflow.ai/api-reference/endpoints/getsymbolsresolve.md): Resolve an instrument identifier for portfolio import. This canonical symbol lookup accepts Itoflow symbol, ticker, broker symbol, ISIN, Itoflow exchange code, ISO 10383 MIC, and currency evidence. Conflicting, incomplete or unsupported evidence is rejected rather than guessed. - [Resolve canonical instrument identifiers in bulk](https://docs.itoflow.ai/api-reference/endpoints/post__symbols_resolve_batch.md): Resolve up to 3,000 instruments in one call, for example every name in a holdings file before pricing it. Each item takes the evidence `GET /symbols/resolve` takes, and each row answers as that route would, in request order with `index`. A row that cannot be resolved fails alone; the call still answ… - [Search or resolve symbols](https://docs.itoflow.ai/api-reference/endpoints/getsymbolssearch.md): Search symbols by ticker/company with fuzzy matching, or resolve one fully qualified SYMBOL.EXCHANGE with mode=exact. - [Disconnect broker](https://docs.itoflow.ai/api-reference/endpoints/delete__brokers_connectionid_.md): Operation ID: delete__brokers_connectionId_. - [Get broker holdings](https://docs.itoflow.ai/api-reference/endpoints/get__brokers_connectionid_holdings.md): Operation ID: get__brokers_connectionId_holdings. - [Get broker margins](https://docs.itoflow.ai/api-reference/endpoints/get__brokers_connectionid_margins.md): Operation ID: get__brokers_connectionId_margins. - [Reconnect broker connection](https://docs.itoflow.ai/api-reference/endpoints/post__brokers_connectionid_reconnect.md): Operation ID: post__brokers_connectionId_reconnect. - [Get broker connection status](https://docs.itoflow.ai/api-reference/endpoints/get__brokers_connectionid_status.md): Operation ID: get__brokers_connectionId_status. - [Reconnect Trading 212 with supplied credentials](https://docs.itoflow.ai/api-reference/endpoints/post__brokers_connectionid_trading212_reconnect.md): Operation ID: post__brokers_connectionId_trading212_reconnect. - [Reconnect Trading 212 with stored credentials](https://docs.itoflow.ai/api-reference/endpoints/post__brokers_connectionid_trading212_reconnect_stored.md): Operation ID: post__brokers_connectionId_trading212_reconnect_stored. - [Start broker connection](https://docs.itoflow.ai/api-reference/endpoints/post__brokers_connect.md): Operation ID: post__brokers_connect. - [List broker connections](https://docs.itoflow.ai/api-reference/endpoints/get__brokers_connections.md): Operation ID: get__brokers_connections. - [Connect Trading 212 manually](https://docs.itoflow.ai/api-reference/endpoints/post__brokers_trading212_connect_manual.md): Operation ID: post__brokers_trading212_connect_manual. - [Permanently delete a chat](https://docs.itoflow.ai/api-reference/endpoints/chat_delete.md): Permanently delete one of your chats and the files in its workspace. Account integrations stay connected. If the response is lost, retry the same delete for the same chat ID. - [Download a file a chat saved in its workspace](https://docs.itoflow.ai/api-reference/endpoints/downloadchatworkspacefile.md): Downloads one file a chat saved in its workspace, such as a report, chart or CSV file. List the chat's workspace first to find the file's path. - [List files a chat saved in its workspace](https://docs.itoflow.ai/api-reference/endpoints/listchatworkspacedirectory.md): Lists the files and folders a chat saved in its workspace, such as reports, charts and data files. Pass path to list a folder below the workspace root. List your chats to find an earlier chat, then download a file from it. - [Create or reuse a public chat share](https://docs.itoflow.ai/api-reference/endpoints/post__chat_shares.md): Creates a read-only public snapshot of a private chat transcript. If the same chat and message boundary were already shared, returns the existing published share. - [Read a public chat share](https://docs.itoflow.ai/api-reference/endpoints/get__chat_shares_public_slug_.md): Returns a read-only public chat transcript snapshot by slug. - [Read a public chat share dataframe snapshot](https://docs.itoflow.ai/api-reference/endpoints/get__chat_shares_public_slug_dataframes_dfid_.md): Returns paginated rows for a dataframe snapshot embedded in a public chat share. - [Read a public chat share plot snapshot](https://docs.itoflow.ai/api-reference/endpoints/get__chat_shares_public_slug_plots_plotid_.md): Returns immutable Plotly JSON for a plot snapshot embedded in a public chat share. - [Refresh a public chat share viewing token](https://docs.itoflow.ai/api-reference/endpoints/get__chat_shares_public_slug_runtime_token.md): Returns a short-lived read-only token for viewing a public chat share. - [Get chat](https://docs.itoflow.ai/api-reference/endpoints/get__chat_id_.md): Read one of your chats and its saved messages. Saved history can trail a turn that is still running; use MCP agent.getTurn for live turn state. - [Get chat events](https://docs.itoflow.ai/api-reference/endpoints/get__chat_id_events.md): Returns the same saved chat history as GET /chat/{id}. This is not a live event stream. - [Sync chat state](https://docs.itoflow.ai/api-reference/endpoints/get__chat_id_sync.md): Read the saved task count, status and event sequence for one of your chats. This does not resume a live stream. - [List chats](https://docs.itoflow.ai/api-reference/endpoints/get__chats.md): Lists your own chats, most recently active first, with the id and title of each chat. Use it to find an earlier chat, then read that chat or its files. Set runtime=cloudflare for current chats or runtime=api for older archived chats; omit runtime to list both. - [Get dataframe data](https://docs.itoflow.ai/api-reference/endpoints/get__dataframes_chatid_dfname_.md): Operation ID: get__dataframes_chatId_dfName_. - [Availability](https://docs.itoflow.ai/api-reference/endpoints/githubavailability.md): Operation ID: githubAvailability. - [Connect](https://docs.itoflow.ai/api-reference/endpoints/github_connect.md): Acts on the signed-in user’s own GitHub connection. Available only when GitHub integration is enabled; check GET /integrations/github/availability. Request bodies are limited to 128 KiB. Objects passed through from GitHub, such as branches, commits and pull requests, can include more fields than lis… - [Disconnect](https://docs.itoflow.ai/api-reference/endpoints/github_disconnect.md): Acts on the signed-in user’s own GitHub connection. Available only when GitHub integration is enabled; check GET /integrations/github/availability. Request bodies are limited to 128 KiB. Objects passed through from GitHub, such as branches, commits and pull requests, can include more fields than lis… - [Get Connection](https://docs.itoflow.ai/api-reference/endpoints/github_getconnection.md): Acts on the signed-in user’s own GitHub connection. Available only when GitHub integration is enabled; check GET /integrations/github/availability. Request bodies are limited to 128 KiB. Objects passed through from GitHub, such as branches, commits and pull requests, can include more fields than lis… - [List Repositories](https://docs.itoflow.ai/api-reference/endpoints/github_listrepositories.md): Acts on the signed-in user’s own GitHub connection. Available only when GitHub integration is enabled; check GET /integrations/github/availability. Request bodies are limited to 128 KiB. Objects passed through from GitHub, such as branches, commits and pull requests, can include more fields than lis… - [Add](https://docs.itoflow.ai/api-reference/endpoints/remotemcp_add.md): Manage your remote MCP connections, which all your Itoflow chats share. Send the latest connection version. If a connect response is lost, check status before retrying. - [Availability](https://docs.itoflow.ai/api-reference/endpoints/remotemcpavailability.md): Operation ID: remoteMcpAvailability. - [Connect](https://docs.itoflow.ai/api-reference/endpoints/remotemcp_connect.md): Manage your remote MCP connections, which all your Itoflow chats share. Send the latest connection version. If a connect response is lost, check status before retrying. - [Disconnect](https://docs.itoflow.ai/api-reference/endpoints/remotemcp_disconnect.md): Manage your remote MCP connections, which all your Itoflow chats share. Send the latest connection version. If a connect response is lost, check status before retrying. - [Get Status](https://docs.itoflow.ai/api-reference/endpoints/remotemcp_getstatus.md): Manage your remote MCP connections, which all your Itoflow chats share. Send the latest connection version. If a connect response is lost, check status before retrying. - [List](https://docs.itoflow.ai/api-reference/endpoints/remotemcp_list.md): Manage your remote MCP connections, which all your Itoflow chats share. Send the latest connection version. If a connect response is lost, check status before retrying. - [List Tools](https://docs.itoflow.ai/api-reference/endpoints/remotemcp_listtools.md): Manage your remote MCP connections, which all your Itoflow chats share. Send the latest connection version. If a connect response is lost, check status before retrying. - [Remove](https://docs.itoflow.ai/api-reference/endpoints/remotemcp_remove.md): Manage your remote MCP connections, which all your Itoflow chats share. Send the latest connection version. If a connect response is lost, check status before retrying. - [Rename](https://docs.itoflow.ai/api-reference/endpoints/remotemcp_rename.md): Manage your remote MCP connections, which all your Itoflow chats share. Send the latest connection version. If a connect response is lost, check status before retrying. - [List notification logs](https://docs.itoflow.ai/api-reference/endpoints/get__notifications_logs.md): Operation ID: get__notifications_logs. - [Get notification preferences](https://docs.itoflow.ai/api-reference/endpoints/get__notifications_preferences.md): Operation ID: get__notifications_preferences. - [Update notification preferences](https://docs.itoflow.ai/api-reference/endpoints/put__notifications_preferences.md): Operation ID: put__notifications_preferences. - [Unsubscribe notification recipient](https://docs.itoflow.ai/api-reference/endpoints/post__notifications_unsubscribe.md): Operation ID: post__notifications_unsubscribe. - [Get strategy approvals history](https://docs.itoflow.ai/api-reference/endpoints/get__paper_trading_strategyid_approvals.md): Returns historical live approval proposals for a strategy. - [Get strategy decision history](https://docs.itoflow.ai/api-reference/endpoints/get__paper_trading_strategyid_decisions.md): Returns decision history with pagination for a specific strategy. - [Get strategy pending trades](https://docs.itoflow.ai/api-reference/endpoints/get__paper_trading_strategyid_pending_trades.md): Operation ID: get__paper_trading_strategyId_pending_trades. - [Get strategy performance snapshot](https://docs.itoflow.ai/api-reference/endpoints/get__paper_trading_strategyid_status.md): Returns the latest strategy performance, holdings, scorecard, and performance history. - [Get strategy trade history](https://docs.itoflow.ai/api-reference/endpoints/get__paper_trading_strategyid_trades.md): Returns executed trade history for a specific strategy. - [Get paper trading portfolio summaries](https://docs.itoflow.ai/api-reference/endpoints/get__paper_trading_summaries.md): Returns strategy summaries without trade or decision history. - [Assign strategy to portfolio](https://docs.itoflow.ai/api-reference/endpoints/put__portfolios_id_link.md): Assigns a strategy to a portfolio. Supported live broker portfolios become the strategy primary portfolio. - [Remove strategy from portfolio](https://docs.itoflow.ai/api-reference/endpoints/delete__portfolios_id_link.md): Removes a removable strategy relationship and cancels any pending trades from the previous strategy. - [List strategies visible to user](https://docs.itoflow.ai/api-reference/endpoints/get__strategies.md): Returns Itoflow-created strategies plus user-owned strategies. Supports filtering by active status, Itoflow-only, or user-only. - [Create a paper strategy](https://docs.itoflow.ai/api-reference/endpoints/post__strategies.md): Creates a paper strategy, optionally linked to an existing managed paper portfolio. Provide constraints.min_position_pct, max_position_pct, and max_positions; select at least one market, asset class, sector, or included symbol through allocationGuidance or universe. Omitted optional controls receive… - [Get strategy detail](https://docs.itoflow.ai/api-reference/endpoints/get__strategies_id_.md): Returns a single strategy with full detail. User must own the strategy or it must be an Itoflow-created strategy. - [Update a strategy](https://docs.itoflow.ai/api-reference/endpoints/put__strategies_id_.md): Updates an existing user-owned strategy. - [Get the strategy run in progress](https://docs.itoflow.ai/api-reference/endpoints/get__strategies_id_active_execution.md): Returns the strategy run that is in progress right now, if any, with its execution_id and status. Returns 204 when no run is in progress. Use the execution_id to stream or read the events of that run. - [Control strategy execution](https://docs.itoflow.ai/api-reference/endpoints/post__strategies_id_control.md): Resume, pause, or deactivate a strategy. Users can only control their own strategies. - [Get strategy decision events](https://docs.itoflow.ai/api-reference/endpoints/get__strategies_id_decisions_decisionid_events.md): Operation ID: get__strategies_id_decisions_decisionId_events. - [Queue a manual strategy execution](https://docs.itoflow.ai/api-reference/endpoints/post__strategies_id_execute.md): Queues a one-off manual strategy rebalance and returns an execution id for tracking. - [List strategy executions](https://docs.itoflow.ai/api-reference/endpoints/get__strategies_id_executions.md): Operation ID: get__strategies_id_executions. - [Get strategy execution events](https://docs.itoflow.ai/api-reference/endpoints/get__strategies_id_executions_executionid_events.md): Operation ID: get__strategies_id_executions_executionId_events. - [Stream strategy execution events](https://docs.itoflow.ai/api-reference/endpoints/get__strategies_id_stream_executionid_.md): Operation ID: get__strategies_id_stream_executionId_. - [List strategies that can go live at a broker](https://docs.itoflow.ai/api-reference/endpoints/get__strategies_eligible.md): Lists the strategies you can see that are ready to go live and trade with real money at a broker, such as Trading 212 or Robinhood. Pass broker_connection_id for brokers that check each symbol, such as Trading 212. A strategy is listed when the broker supports every symbol in its latest target alloc… - [Create a live-linked strategy](https://docs.itoflow.ai/api-reference/endpoints/post__strategies_live.md): Creates a strategy attached to an existing live portfolio mirror. Provide constraints.min_position_pct, max_position_pct, and max_positions; select at least one market, asset class, sector, or included symbol through allocationGuidance or universe. Omitted optional controls receive server defaults r… - [List public strategy showcase](https://docs.itoflow.ai/api-reference/endpoints/get__strategies_public.md): Operation ID: get__strategies_public. - [List user portfolios](https://docs.itoflow.ai/api-reference/endpoints/get__portfolios.md): Returns all active portfolios for the authenticated user with holdings value, cumulative return, and strategy linking info. - [Create portfolio](https://docs.itoflow.ai/api-reference/endpoints/post__portfolios.md): Operation ID: post__portfolios. - [Get portfolio detail](https://docs.itoflow.ai/api-reference/endpoints/get__portfolios_id_.md): Returns portfolio with full holdings, P&L, linked strategy details, performance metrics, and agent scorecard. - [Delete portfolio](https://docs.itoflow.ai/api-reference/endpoints/delete__portfolios_id_.md): Operation ID: delete__portfolios_id_. - [Update portfolio auto-execute](https://docs.itoflow.ai/api-reference/endpoints/patch__portfolios_id_auto_execute.md): Operation ID: patch__portfolios_id_auto_execute. - [Set portfolio benchmark comparison basis](https://docs.itoflow.ai/api-reference/endpoints/put__portfolios_id_benchmark.md): Declares what this portfolio is measured against for benchmark-relative factor risk: another portfolio on the platform, a provider index, or both. Both body keys are required; null clears that side of the comparison. - [Get broker validation status](https://docs.itoflow.ai/api-reference/endpoints/get__portfolios_id_broker_status.md): Returns live broker connection and portfolio validation status for a live portfolio mirror. - [Get AI trading decisions](https://docs.itoflow.ai/api-reference/endpoints/get__portfolios_id_decisions.md): Returns AI trading decisions for the portfolio's linked strategy. Empty array if not linked. - [Convert portfolio to paper mode](https://docs.itoflow.ai/api-reference/endpoints/post__portfolios_id_go_paper.md): Operation ID: post__portfolios_id_go_paper. - [Get historical holdings snapshot](https://docs.itoflow.ai/api-reference/endpoints/get__portfolios_id_holdings_history.md): Returns holdings at a point in time. Requires the "at" query parameter (ISO 8601 timestamp). - [Liquidate portfolio](https://docs.itoflow.ai/api-reference/endpoints/post__portfolios_id_liquidate.md): Operation ID: post__portfolios_id_liquidate. - [List pending trades](https://docs.itoflow.ai/api-reference/endpoints/get__portfolios_id_pending_trades.md): Returns pending trades awaiting approval for a portfolio, with current prices, net change, and auto-execute status. - [Cancel pending trades](https://docs.itoflow.ai/api-reference/endpoints/delete__portfolios_id_pending_trades.md): Operation ID: delete__portfolios_id_pending_trades. - [Approve pending trades](https://docs.itoflow.ai/api-reference/endpoints/post__portfolios_id_pending_trades_approve.md): Approves trades with status "awaiting_approval" and changes their status to "pending" so they can execute. - [Get portfolio performance history](https://docs.itoflow.ai/api-reference/endpoints/get__portfolios_id_performance.md): Returns performance history with timestamps, total value, daily/cumulative returns, and strategy attribution periods. - [Reconcile live portfolio](https://docs.itoflow.ai/api-reference/endpoints/post__portfolios_id_reconcile.md): Operation ID: post__portfolios_id_reconcile. - [Sync live portfolio state](https://docs.itoflow.ai/api-reference/endpoints/post__portfolios_id_sync_live_state.md): Checks a live portfolio against its broker and takes the next recovery step: report that a reconnect is required, prepare approvals, reconcile, or do nothing. - [Get trade history](https://docs.itoflow.ai/api-reference/endpoints/get__portfolios_id_trades.md): Returns paginated trade history for a portfolio. Supports paper and live (broker) trades with optional pending trade inclusion. - [Get trade execution attempts](https://docs.itoflow.ai/api-reference/endpoints/get__portfolios_id_trades_tradeid_attempts.md): Operation ID: get__portfolios_id_trades_tradeId_attempts. - [List pending approval summaries](https://docs.itoflow.ai/api-reference/endpoints/get__portfolios_approvals_pending.md): Returns one aggregate pending-approval summary across owned portfolios without fetching full per-portfolio trade detail. - [Commit an approved paper portfolio import](https://docs.itoflow.ai/api-reference/endpoints/post__portfolios_import.md): Commit the normalized draft returned by preflight only after explicit user approval. Set draft.approved_at, use the reviewed output id with an :approved suffix, and pass the current approval token. If pricing or any material input changed, revalidate and review again. - [Validate uploaded paper portfolio import](https://docs.itoflow.ai/api-reference/endpoints/post__portfolios_import_validate.md): Validate holdings and cash for a managed paper-portfolio import. This preflight returns the complete review result and an approval token but does not create a portfolio. - [Get portfolio transition status](https://docs.itoflow.ai/api-reference/endpoints/get__transition_taskid_.md): Operation ID: get__transition_taskId_. - [Create billing portal session](https://docs.itoflow.ai/api-reference/endpoints/post__pricing_billing_portal.md): Operation ID: post__pricing_billing_portal. - [Get billing summary](https://docs.itoflow.ai/api-reference/endpoints/get__pricing_billing_summary.md): Operation ID: get__pricing_billing_summary. - [Get current public plan prices, usage allowances and model access](https://docs.itoflow.ai/api-reference/endpoints/get__pricing_catalog.md): Operation ID: get__pricing_catalog. - [Get pricing configuration](https://docs.itoflow.ai/api-reference/endpoints/get__pricing_config.md): Operation ID: get__pricing_config. - [Confirm payment](https://docs.itoflow.ai/api-reference/endpoints/post__pricing_confirm_payment.md): Operation ID: post__pricing_confirm_payment. - [List credit tiers](https://docs.itoflow.ai/api-reference/endpoints/get__pricing_credit_tiers.md): Operation ID: get__pricing_credit_tiers. - [Get customer balance](https://docs.itoflow.ai/api-reference/endpoints/get__pricing_customer_balance.md): Operation ID: get__pricing_customer_balance. - [Get pricing plans](https://docs.itoflow.ai/api-reference/endpoints/post__pricing_get_plans.md): Operation ID: post__pricing_get_plans. - [Get subscription](https://docs.itoflow.ai/api-reference/endpoints/post__pricing_get_subscription.md): Operation ID: post__pricing_get_subscription. - [List invoices](https://docs.itoflow.ai/api-reference/endpoints/get__pricing_invoices.md): Operation ID: get__pricing_invoices. - [Get configured agent models and current model access](https://docs.itoflow.ai/api-reference/endpoints/get__pricing_model_access.md): Operation ID: get__pricing_model_access. - [List payment methods](https://docs.itoflow.ai/api-reference/endpoints/get__pricing_payment_methods.md): Operation ID: get__pricing_payment_methods. - [Delete payment method](https://docs.itoflow.ai/api-reference/endpoints/delete__pricing_payment_methods_paymentmethodid_.md): Operation ID: delete__pricing_payment_methods_paymentMethodId_. - [Set default payment method](https://docs.itoflow.ai/api-reference/endpoints/post__pricing_payment_methods_default.md): Operation ID: post__pricing_payment_methods_default. - [Create payment method setup intent](https://docs.itoflow.ai/api-reference/endpoints/post__pricing_payment_methods_setup_intent.md): Operation ID: post__pricing_payment_methods_setup_intent. - [Preview subscription upgrade](https://docs.itoflow.ai/api-reference/endpoints/post__pricing_preview_upgrade.md): Operation ID: post__pricing_preview_upgrade. - [Refund customer balance](https://docs.itoflow.ai/api-reference/endpoints/post__pricing_refund_balance.md): Operation ID: post__pricing_refund_balance. - [Set spending cap](https://docs.itoflow.ai/api-reference/endpoints/post__pricing_spending_cap.md): Operation ID: post__pricing_spending_cap. - [Update subscription](https://docs.itoflow.ai/api-reference/endpoints/post__pricing_update_subscription.md): Operation ID: post__pricing_update_subscription. - [Measure](https://docs.itoflow.ai/api-reference/endpoints/startriskmeasure.md): Start measuring factor risk for 1 to 10 books over 1 to 60 dates of the factor model, on one model version: the one named, or the one live at the start. A book is a saved portfolio or a list of weights. model.as_of measures one date; model.range measures the last day of each month in it and its end… - [Read a risk measure](https://docs.itoflow.ai/api-reference/endpoints/getriskmeasure.md): Read a measure until its status is not running. running gives progress: dates_done of dates_total. ok gives the answer: model (the version, its publications and base currency), units, factors (every factor any date has; each per-factor array follows this order, null where a date's publication lacks… - [Stop a risk measure](https://docs.itoflow.ai/api-reference/endpoints/cancelriskmeasure.md): Stop a measure by its measure_id. cancelled is false when it had already ended. - [Runs](https://docs.itoflow.ai/api-reference/endpoints/startriskrun.md): Measure a saved portfolio or a what-if book against a benchmark and peer funds. Keep the request_key: retrying the same request joins its run for 24 hours after it ends. Another request with that key returns 409. At most three runs may run at once; none runs past 60 minutes. A run whose books hold n… - [Read a risk run](https://docs.itoflow.ai/api-reference/endpoints/getriskrun.md): Read the run until it ends. A running run may carry progress: waiting_for_coverage while the factor model scores names_asked names (waited_seconds so far, expected_seconds the likely total, at_most_seconds the longest wait before the run measures what it has), then measuring. Finished results stay f… - [Read the full risk run output](https://docs.itoflow.ai/api-reference/endpoints/getriskrunartifact.md): Read the complete schema-version-2 analytics document for a finished run. Default application/json gives raw bytes. Accept application/gzip selects stored bytes; Range requests of at most 4 MiB return 206 with Content-Range. Both representations expose exact Content-Length and SHA-256 ETag. Before r… - [Stop a risk run](https://docs.itoflow.ai/api-reference/endpoints/cancelriskrun.md): Stop a run by its run_id. cancelled is false when no run is going. Requires itoflow-engine-results. - [List monitors](https://docs.itoflow.ai/api-reference/endpoints/get__watchlists.md): Operation ID: get__watchlists. - [Create monitor](https://docs.itoflow.ai/api-reference/endpoints/post__watchlists.md): Operation ID: post__watchlists. - [Get monitor](https://docs.itoflow.ai/api-reference/endpoints/get__watchlists_id_.md): Operation ID: get__watchlists_id_. - [Update monitor](https://docs.itoflow.ai/api-reference/endpoints/put__watchlists_id_.md): Operation ID: put__watchlists_id_. - [Delete monitor](https://docs.itoflow.ai/api-reference/endpoints/delete__watchlists_id_.md): Operation ID: delete__watchlists_id_. - [Get the Monitor run in progress](https://docs.itoflow.ai/api-reference/endpoints/get__watchlists_id_active_execution.md): Returns the Monitor run that is queued or in progress right now, if any, with its execution_id and status. Returns 204 when no run is in progress. - [Get latest monitor analytics snapshot](https://docs.itoflow.ai/api-reference/endpoints/get__watchlists_id_analytics_latest.md): Operation ID: get__watchlists_id_analytics_latest. - [Control monitor agent](https://docs.itoflow.ai/api-reference/endpoints/post__watchlists_id_control.md): Operation ID: post__watchlists_id_control. - [Get the results a Monitor run has shown so far](https://docs.itoflow.ai/api-reference/endpoints/get__watchlists_id_executions_executionid_results.md): Returns the engine results (symbol cards, symbol analytics, risk engine panels) that a Monitor run has shown so far, oldest first, so a page can show them while the run is in progress. Runs on the legacy runtime record none and return an empty list. - [Fork a readable monitor](https://docs.itoflow.ai/api-reference/endpoints/post__watchlists_id_fork.md): The fork does not copy row overrides (thresholds.metrics): a new monitor has no report to key them by, so set them after its first report. - [Read news for a monitor](https://docs.itoflow.ai/api-reference/endpoints/getmonitornews.md): Returns news from the last 24 hours that reaches one monitor's holdings or matches its mandate, and the state of the news reader. Without `since`, items come ranked by materiality and holding size, the top first; with `since`, items with a match judged after that time come newest first. `feed.covera… - [Fetch news for a monitor](https://docs.itoflow.ai/api-reference/endpoints/fetchmonitornews.md): Asks Itoflow to judge the last 24 hours of news for a monitor's subjects that are behind: the companies it holds and its mandate. It returns at once; judging runs in the background, usually within a few minutes. Then call `getMonitorNews` every few seconds until `feed.coverage.current` equals `feed.… - [Get cached live quotes for a monitor](https://docs.itoflow.ai/api-reference/endpoints/get__watchlists_id_quotes.md): Operation ID: get__watchlists_id_quotes. - [List monitor reports](https://docs.itoflow.ai/api-reference/endpoints/get__watchlists_id_reports.md): Operation ID: get__watchlists_id_reports. - [Get monitor report](https://docs.itoflow.ai/api-reference/endpoints/get__watchlists_id_reports_reportid_.md): Operation ID: get__watchlists_id_reports_reportId_. - [Get the latest completed Monitor report](https://docs.itoflow.ai/api-reference/endpoints/get__watchlists_id_reports_latest.md): Returns the most recent completed Monitor report, including its report and dashboard. Returns 204 when the Monitor has no completed report yet. - [Manually regenerate the current monitor report](https://docs.itoflow.ai/api-reference/endpoints/post__watchlists_id_reports_run.md): Operation ID: post__watchlists_id_reports_run. ## OpenAPI Specs - [itoflow-public.openapi](/openapi/itoflow-public.openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.