Skip to content

Tool reference

Every tool of the OHLCX MCP server (version 1.1.0), grouped by area: 147 tools. Each tool has one line here and its arguments below. Tool names, argument names, types and argument descriptions are the server's own.

For what the server can and cannot do, start with the overview. The same list in the server's own order is the generated tool list; the machine-readable index is index.json.

How to read this page

Kind is the hint the server sends with the tool, which MCP clients use to decide when to ask the user:

Kind Meaning
Read Marked read-only. It changes nothing.
Write Changes something. Marked not destructive.
Write, destructive Changes or deletes something, or changes what a strategy does. Marked destructive: clients should ask the user first.
Write, no hint Changes something and carries no hint. Treat it as a write and ask the user first.

Availability says who is offered the tool. A tool you are not offered is not in the tool list at all.

Availability Tools Listed when
Everyone 4 Always, also without a signed-in user.
Signed in 119 The request has a signed-in user.
Signed in, OHLCX Pro 2 Signed in, on OHLCX Pro, where orders are routed for the signed-in user.
Signed in, server backtests on 5 Signed in, and the app has server backtests switched on.
Signed in, support desk connected 4 Signed in, and the app is connected to the support desk.
Admin 13 The signed-in user is an admin.

Areas

Area Tools
Health and assistants 3
Knowledge base 5
Accounts 8
Orders (read-only) 2
Strategies: reading 13
Strategies: changing 8
Strategies: order routing and running 6
Conditions 5
Signals 5
Trades 3
Backtests 9
Workspaces 2
Watchlists 6
Markets and price data 9
Screeners 3
News 4
Analysis and AI usage 2
Activities 3
Credits and billing 3
Support 7
Profile and settings 11
Trading rooms and messages 20
Administration 10

Health and assistants

ping checks the connection. The two assistant tools run the same assistants as the OHLCX app and return plain text, not JSON. They call a language model, so they are slower than the data tools and their answers vary. For data you intend to process, call the data tools directly.

Tool What it does Kind Availability
ping Health check. Returns the text pong. Read Everyone
run-support-agent Ask the support assistant, which answers from the knowledge base only. Returns plain text. Read Everyone
run-trading-agent Ask the trading assistant, which reads the signed-in user's strategies, accounts and the knowledge base. Returns plain text. Write, no hint Signed in

ping

Health check. Returns the text pong.

Read. Everyone.

No arguments.

run-support-agent

Ask the support assistant, which answers from the knowledge base only. Returns plain text.

Read. Everyone.

Argument Type Required Description
message string yes User message / question for the support agent.

run-trading-agent

Ask the trading assistant, which reads the signed-in user's strategies, accounts and the knowledge base. Returns plain text.

Write, no hint. Signed in.

Argument Type Required Description
message string yes User message for the trading assistant.

Knowledge base

Reading the knowledge base needs no sign-in. Writing it is for admins.

Tool What it does Kind Availability
search-knowledge-base Search or list knowledge base articles, optionally by area or by text. Read Everyone
get-knowledge-base-article Fetch one article by its slug. Read Everyone
create-knowledge-base-article Create an article. Write, no hint Admin
update-knowledge-base-article Update an article by id. Write, no hint Admin
delete-knowledge-base-article Delete an article by id. Write, destructive Admin

search-knowledge-base

Search or list knowledge base articles, optionally by area or by text.

Read. Everyone.

Argument Type Required Description
area string no Optional. Filter by area (e.g. dashboard, orders, overview).
q string no Optional. Search in title and content.
limit integer no Most articles to return, 1 to 200 (default 50).
offset integer no Rows to skip first, 0 to 100000 (default 0): give next_offset from the previous answer to read on.

get-knowledge-base-article

Fetch one article by its slug.

Read. Everyone.

Argument Type Required Description
slug string yes The article slug (e.g. overview, dashboard, orders).

create-knowledge-base-article

Create an article.

Write, no hint. Admin.

Argument Type Required Description
payload object no Article attributes (title, slug, area, content, etc.).

update-knowledge-base-article

Update an article by id.

Write, no hint. Admin.

Argument Type Required Description
id string yes The article ID to update.
payload object no Article attributes to update.

delete-knowledge-base-article

Delete an article by id.

Write, destructive. Admin.

Argument Type Required Description
id string yes The article ID to delete.

Accounts

Every tool here names an account by its account id and shows its number only as a masked label. Output shapes, the forms account_id accepts and the refusal for an account that is not yours are on Accounts and identifiers.

Tool What it does Kind Availability
list-accounts The user's linked brokerage accounts: each account's id, masked label, type, flags and balances. Read Signed in
get-accounts-balances Daily balance history of every linked account in one call. The last 30 days unless days says otherwise. Read Signed in
get-account-balance Daily balance history of one account. Read Signed in
get-account-growth Growth data for one account. Read Signed in
get-account-pnl Profit and loss data for one account. Read Signed in
get-account-pnl-history Realized profit and loss over time for one account, for a period or between two dates. Needs the user's consent to P&L sync, given in the app. Read Signed in
get-account-pnl-symbols Realized profit and loss by symbol for one account, for a period or between two dates. Needs the user's consent to P&L sync, given in the app. Read Signed in
list-account-cash-transfers Deposits and withdrawals of one account, for a period or between two dates. Read Signed in

list-accounts

The user's linked brokerage accounts: each account's id, masked label, type, flags and balances.

Read. Signed in.

Argument Type Required Description
limit integer no Most accounts to return, 1 to 100 (default 100).

get-accounts-balances

Daily balance history of every linked account in one call. The last 30 days unless days says otherwise.

Read. Signed in.

Argument Type Required Description
days integer no How many of the most recent days to return per account, 1 to 365 (default 30).
limit integer no Most accounts to return, 1 to 200 (default 50).
offset integer no Rows to skip first, 0 to 100000 (default 0): give next_offset from the previous answer to read on.

get-account-balance

Daily balance history of one account.

Read. Signed in.

Argument Type Required Description
account_id string or integer yes The brokerage account: the id list-accounts gives.
limit integer no Most days to return, 1 to 360 (default 360).

get-account-growth

Growth data for one account.

Read. Signed in.

Argument Type Required Description
account_id string or integer yes The brokerage account: the id list-accounts gives.
limit integer no Most days to return, 1 to 120 (default 120).

get-account-pnl

Profit and loss data for one account.

Read. Signed in.

Argument Type Required Description
account_id string or integer yes The brokerage account: the id list-accounts gives.
limit integer no Most days to return, 1 to 120 (default 120).

get-account-pnl-history

Realized profit and loss over time for one account, for a period or between two dates. Needs the user's consent to P&L sync, given in the app.

Read. Signed in.

Argument Type Required Description
account_id string or integer yes The brokerage account: the id list-accounts gives.
period string no Period to report on (default month). Allowed: week, month, quarter, year, this_week, this_month, this_quarter, ytd, last_year.
from string no Start date, YYYY-MM-DD. With to, replaces period.
to string no End date, YYYY-MM-DD.
limit integer no Most days to return, 1 to 1000 (default 366).

get-account-pnl-symbols

Realized profit and loss by symbol for one account, for a period or between two dates. Needs the user's consent to P&L sync, given in the app.

Read. Signed in.

Argument Type Required Description
account_id string or integer yes The brokerage account: the id list-accounts gives.
period string no Period to report on (default ytd). Allowed: week, month, quarter, year, this_week, this_month, this_quarter, ytd, last_year.
from string no Start date, YYYY-MM-DD. With to, replaces period.
to string no End date, YYYY-MM-DD.
symbol string no Only these symbols, comma separated.
underlying string no Only these underlying symbols (for options), comma separated.
limit integer no Most symbols to return, 1 to 200 (default 50).
offset integer no Rows to skip first, 0 to 100000 (default 0): give next_offset from the previous answer to read on.
round_trips_limit integer no Most round trips to return, the most recent first, 1 to 200 (default 50).

list-account-cash-transfers

Deposits and withdrawals of one account, for a period or between two dates.

Read. Signed in.

Argument Type Required Description
account_id string or integer yes The brokerage account: the id list-accounts gives.
period string no Period to list (default ytd). Allowed: week, month, quarter, year, this_week, this_month, this_quarter, ytd, last_year.
from string no Start date, YYYY-MM-DD. With to, replaces period.
to string no End date, YYYY-MM-DD.
direction string no Only deposits or only withdrawals. Allowed: deposit, withdrawal.
q string no Only transfers whose description contains this text.
page integer no Page number, 1 to 100000 (default 1).
per_page integer no Rows per page, 1 to 50 (default 25).

Orders (read-only)

These two tools read broker orders. No tool places, changes or cancels an order. See Accounts and identifiers.

Tool What it does Kind Availability
list-orders Broker orders placed between two dates, across the linked accounts or for one. Read Signed in
get-order One broker order by its id, with its legs, fills and status. Read Signed in

list-orders

Broker orders placed between two dates, across the linked accounts or for one.

Read. Signed in.

Argument Type Required Description
start_date string yes First day, YYYY-MM-DD.
end_date string yes Last day, YYYY-MM-DD.
account_id string or integer no Only this account's orders. The brokerage account: the id list-accounts gives.
status string no Only orders in this broker status, e.g. FILLED, WORKING, CANCELED.
max_results integer no Most orders to return, 1 to 500 (default 100).

get-order

One broker order by its id, with its legs, fills and status.

Read. Signed in.

Argument Type Required Description
account_id string or integer yes The brokerage account: the id list-accounts gives.
order_id string yes The broker's order ID.

Strategies: reading

A strategy can be read only by the user who owns it. Paging and period filters are on Limits and paging.

Tool What it does Kind Availability
list-strategies The user's strategies. Up to 50 without arguments; page or per_page asks for the paged list. Read Signed in
get-strategy One strategy by id, with its order accounts under routing. Read Signed in
search-strategies Search the user's strategies by symbol. Read Signed in
get-strategy-activities Activities of one strategy. Read Signed in
get-strategy-conditions Conditions of one strategy. Read Signed in
get-strategy-statistics One strategy's trade statistics (counts, win rate, profit and loss) for a period. Read Signed in
get-strategies-statistics Trade statistics across all of the user's strategies for a period. Read Signed in
get-strategy-performance One strategy's performance over time (the profit and loss series) for a period. Read Signed in
get-strategies-performance Performance over time across all of the user's strategies for a period. Read Signed in
get-strategy-timeline What a strategy did, day by day, over the last days (7 by default). Read Signed in
list-strategy-signals The signals a strategy has raised, 100 per page. Read Signed in
list-strategy-trades The trades a strategy has taken, 100 per page. Read Signed in
get-strategy-flags The flags a strategy's conditions have raised, 100 per page. Read Signed in

list-strategies

The user's strategies. Up to 50 without arguments; page or per_page asks for the paged list.

Read. Signed in.

Argument Type Required Description
page integer no Page number, 1 to 100000 (default 1). Giving page or per_page asks for the paged list.
per_page integer no Strategies per page, 1 to 50 (default 50).

get-strategy

One strategy by id, with its order accounts under routing.

Read. Signed in.

Argument Type Required Description
id string yes The strategy ID.

search-strategies

Search the user's strategies by symbol.

Read. Signed in.

Argument Type Required Description
symbol string yes The symbol to search strategies for.
page integer no Page number, 1 to 100000 (default 1).
offset integer no Rows of the page to skip first, 0 to 29 (default 0): give next_offset from the previous answer to read the rows the size budget left out of this page.

get-strategy-activities

Activities of one strategy.

Read. Signed in.

Argument Type Required Description
strategy_id string yes The strategy ID.
limit integer no Most activities to return, 1 to 10 (default 10).

get-strategy-conditions

Conditions of one strategy.

Read. Signed in.

Argument Type Required Description
strategy_id string yes The strategy ID.
page integer no Page number, 1 to 100000 (default 1).
offset integer no Rows of the page to skip first, 0 to 99 (default 0): give next_offset from the previous answer to read the rows the size budget left out of this page.

get-strategy-statistics

One strategy's trade statistics (counts, win rate, profit and loss) for a period.

Read. Signed in.

Argument Type Required Description
strategy_id integer yes The strategy ID.
period string no Period to report on (default THISMONTH). Allowed: TODAY, YESTERDAY, THISWEEK, LASTWEEK, THISMONTH, LASTMONTH, THISYEAR, LASTYEAR.
status string no Trades to count: ALL, OPEN or CLOSED (default ALL). Allowed: ALL, OPEN, CLOSED.
direction string no Side to count: BOTH, LONG or SHORT (default BOTH). Allowed: BOTH, LONG, SHORT.

get-strategies-statistics

Trade statistics across all of the user's strategies for a period.

Read. Signed in.

Argument Type Required Description
period string no Period to report on (default THISMONTH). Allowed: TODAY, YESTERDAY, THISWEEK, LASTWEEK, THISMONTH, LASTMONTH, THISYEAR, LASTYEAR.
status string no Trades to count: ALL, OPEN or CLOSED (default ALL). Allowed: ALL, OPEN, CLOSED.
direction string no Side to count: BOTH, LONG or SHORT (default BOTH). Allowed: BOTH, LONG, SHORT.

get-strategy-performance

One strategy's performance over time (the profit and loss series) for a period.

Read. Signed in.

Argument Type Required Description
strategy_id integer yes The strategy ID.
period string no Period to report on (default THISMONTH). Allowed: TODAY, YESTERDAY, THISWEEK, LASTWEEK, THISMONTH, LASTMONTH, THISYEAR, LASTYEAR.
status string no Trades to count: ALL, OPEN or CLOSED (default ALL). Allowed: ALL, OPEN, CLOSED.
direction string no Side to count: BOTH, LONG or SHORT (default BOTH). Allowed: BOTH, LONG, SHORT.

get-strategies-performance

Performance over time across all of the user's strategies for a period.

Read. Signed in.

Argument Type Required Description
period string no Period to report on (default THISMONTH). Allowed: TODAY, YESTERDAY, THISWEEK, LASTWEEK, THISMONTH, LASTMONTH, THISYEAR, LASTYEAR.
status string no Trades to count: ALL, OPEN or CLOSED (default ALL). Allowed: ALL, OPEN, CLOSED.
direction string no Side to count: BOTH, LONG or SHORT (default BOTH). Allowed: BOTH, LONG, SHORT.

get-strategy-timeline

What a strategy did, day by day, over the last days (7 by default).

Read. Signed in.

Argument Type Required Description
strategy_id integer yes The strategy ID.
days integer no How many days back from today, 1 to 365 (default 3). About three whole days fit one answer unless logged_only is set.
logged_only boolean no Leave out the minutes in which nothing was logged, so that many more days fit one answer (default false).

list-strategy-signals

The signals a strategy has raised, 100 per page.

Read. Signed in.

Argument Type Required Description
strategy_id integer yes The strategy ID.
page integer no Page number, 1 to 100000 (default 1).
offset integer no Rows of the page to skip first, 0 to 99 (default 0): give next_offset from the previous answer to read the rows the size budget left out of this page.

list-strategy-trades

The trades a strategy has taken, 100 per page.

Read. Signed in.

Argument Type Required Description
strategy_id integer yes The strategy ID.
page integer no Page number, 1 to 100000 (default 1).
offset integer no Rows of the page to skip first, 0 to 99 (default 0): give next_offset from the previous answer to read the rows the size budget left out of this page.

get-strategy-flags

The flags a strategy's conditions have raised, 100 per page.

Read. Signed in.

Argument Type Required Description
strategy_id integer yes The strategy ID.
page integer no Page number, 1 to 100000 (default 1).
offset integer no Rows of the page to skip first, 0 to 99 (default 0): give next_offset from the previous answer to read the rows the size budget left out of this page.

Strategies: changing

Read the ohlcx://strategy-settings resource before you create a strategy or change its settings. A deployed strategy refuses the changes marked below with "Retain the strategy before changing it.": retain it first. See Strategies and order routing.

Tool What it does Kind Availability
create-strategy Create a strategy. payload needs the fields listed in the ohlcx://strategy-settings resource. Write, no hint Signed in
update-strategy Update a strategy's definition by id. Refused while the strategy is deployed. Write, destructive Signed in
delete-strategy Delete a strategy by id. Refused while the strategy is deployed. Write, destructive Signed in
duplicate-strategy Duplicate a strategy. Write, no hint Signed in
update-strategy-settings Update one section of a strategy's settings; each section is validated on its own. Refused while the strategy is deployed. Write, destructive Signed in
set-strategy-schedule Set the days and hours a strategy is allowed to run. Times are New York time. Refused while the strategy is deployed. Write Signed in
clear-strategy-conditions-readings Clear the reading of every condition of a strategy. Refused while the strategy is deployed. Write, destructive Signed in
clear-strategy-data Delete all of a strategy's signals, trades or flags. Cannot be undone. Flags: refused while deployed. Signals: refused only while deployed, real and with orders on. Trades: never refused. Write, destructive Signed in

create-strategy

Create a strategy. payload needs the fields listed in the ohlcx://strategy-settings resource.

Write, no hint. Signed in.

Argument Type Required Description
payload object yes Strategy attributes: name, symbol, direction (buy, sell, both), timeframe, status, deployed, is_demo, signals_on, trades_on, orders_on, notify_signals, notify_trades, notify_orders.

update-strategy

Update a strategy's definition by id. Refused while the strategy is deployed.

Write, destructive. Signed in.

Argument Type Required Description
id string yes The strategy ID to update.
payload object no Strategy attributes to update.

delete-strategy

Delete a strategy by id. Refused while the strategy is deployed.

Write, destructive. Signed in.

Argument Type Required Description
id string yes The strategy ID to delete.

duplicate-strategy

Duplicate a strategy.

Write, no hint. Signed in.

Argument Type Required Description
strategy_id string yes The strategy ID to duplicate.

update-strategy-settings

Update one section of a strategy's settings; each section is validated on its own. Refused while the strategy is deployed.

Write, destructive. Signed in.

Argument Type Required Description
strategy_id integer yes The strategy ID.
section string yes The section to update. Allowed: risk-management, allocation, sizing-ordering, order-flow, order-cancelation, name, symbol, direction, timeframe.
settings object yes The section's fields and their new values.

set-strategy-schedule

Set the days and hours a strategy is allowed to run. Times are New York time. Refused while the strategy is deployed.

Write. Signed in.

Argument Type Required Description
strategy_id integer yes The strategy ID.
schedule_enabled boolean yes Whether the schedule is in force.
schedule_days array yes Days of the week it may run, as numbers 1 to 7.
schedule_start_time string yes Start time, HH:MM (24-hour).
schedule_end_time string yes End time, HH:MM (24-hour).

clear-strategy-conditions-readings

Clear the reading of every condition of a strategy. Refused while the strategy is deployed.

Write, destructive. Signed in.

Argument Type Required Description
strategy_id string yes The strategy ID.

clear-strategy-data

Delete all of a strategy's signals, trades or flags. Cannot be undone. Flags: refused while deployed. Signals: refused only while deployed, real and with orders on. Trades: never refused.

Write, destructive. Signed in.

Argument Type Required Description
strategy_id integer yes The strategy ID.
target string yes What to clear: signals, trades or flags. Allowed: signals, trades, flags.

Strategies: order routing and running

These tools decide whether a strategy runs, whether it sends orders, and to which accounts. They are walked through in order on Strategies and order routing. Confirm each of them with the user first.

Tool What it does Kind Availability
list-strategy-accounts The linked accounts as a strategy's orders can be routed to them: account id, masked label, whether the account can receive orders now and, if not, the reason. Read Signed in, OHLCX Pro
set-strategy-accounts Choose the order accounts of a strategy: mode selected with account ids, or mode all. Never switches orders on or off. Refused while the strategy is deployed. Write, destructive Signed in, OHLCX Pro
set-strategy-flag Switch signals, trades or orders (or their notifications) on or off, or toggle them. On and toggle are refused while the strategy is deployed; off always works. Write, destructive Signed in
set-strategy-status Switch a strategy on or off. On is refused while the strategy is deployed; off always works. Write, destructive Signed in
deploy-strategy Deploy a strategy, so that the engine evaluates it. Write, destructive Signed in
retain-strategy Retain a strategy: take it out of evaluation, so that it can be changed again. With stop true it also switches orders, trades and signals off. Write, destructive Signed in

list-strategy-accounts

The linked accounts as a strategy's orders can be routed to them: account id, masked label, whether the account can receive orders now and, if not, the reason.

Read. Signed in, OHLCX Pro.

No arguments.

set-strategy-accounts

Choose the order accounts of a strategy: mode selected with account ids, or mode all. Never switches orders on or off. Refused while the strategy is deployed.

Write, destructive. Signed in, OHLCX Pro.

Argument Type Required Description
strategy_id integer yes The strategy ID.
mode string yes "selected": only the accounts in account_ids. "all": every linked account that can receive orders when an order is sent, including accounts linked later. Allowed: selected, all.
account_ids array of integer no Account ids from list-strategy-accounts (whole numbers, at most 50, each once). Required with mode "selected", where an empty list removes every account; not used with "all".

set-strategy-flag

Switch signals, trades or orders (or their notifications) on or off, or toggle them. On and toggle are refused while the strategy is deployed; off always works.

Write, destructive. Signed in.

Argument Type Required Description
strategy_id integer yes The strategy ID.
flag string yes Which flag: signals, trades or orders. Allowed: signals, trades, orders.
state string yes on, off or toggle. Use off to stop: toggle is refused while the strategy is deployed, off always works. Allowed: on, off, toggle.
notifications boolean no True to switch the notifications for that flag instead of the flag itself (default false).

set-strategy-status

Switch a strategy on or off. On is refused while the strategy is deployed; off always works.

Write, destructive. Signed in.

Argument Type Required Description
strategy_id integer yes The strategy ID.
status string yes on or off. Allowed: on, off.

deploy-strategy

Deploy a strategy, so that the engine evaluates it.

Write, destructive. Signed in.

Argument Type Required Description
strategy_id string yes The strategy ID to deploy.

retain-strategy

Retain a strategy: take it out of evaluation, so that it can be changed again. With stop true it also switches orders, trades and signals off.

Write, destructive. Signed in.

Argument Type Required Description
strategy_id integer yes The strategy ID to retain.
stop boolean no True to also switch orders, trades and signals off (default false: the switches stay as they were).

Conditions

Conditions belong to a strategy. Writing one is refused while its strategy is deployed.

Tool What it does Kind Availability
list-conditions All of the user's conditions. Read Signed in
get-condition One condition by id. Read Signed in
create-condition Create a condition. Refused while its strategy is deployed. Write, no hint Signed in
update-condition Update a condition by id. Refused while its strategy is deployed. Write, no hint Signed in
delete-condition Delete a condition by id. Refused while its strategy is deployed. Write, destructive Signed in

list-conditions

All of the user's conditions.

Read. Signed in.

Argument Type Required Description
page integer no Page number, 1 to 100000 (default 1).
offset integer no Rows of the page to skip first, 0 to 99 (default 0): give next_offset from the previous answer to read the rows the size budget left out of this page.

get-condition

One condition by id.

Read. Signed in.

Argument Type Required Description
id string yes The condition ID.

create-condition

Create a condition. Refused while its strategy is deployed.

Write, no hint. Signed in.

Argument Type Required Description
payload object no Condition attributes (structure depends on condition type).

update-condition

Update a condition by id. Refused while its strategy is deployed.

Write, no hint. Signed in.

Argument Type Required Description
id string yes The condition ID to update.
payload object no Condition attributes to update.

delete-condition

Delete a condition by id. Refused while its strategy is deployed.

Write, destructive. Signed in.

Argument Type Required Description
id string yes The condition ID to delete.

Signals

Tool What it does Kind Availability
list-signals The user's signals. Read Signed in
get-signal One signal by id, with its strategy and trades. Read Signed in
delete-signal Delete a signal. Cannot be undone. Refused only while its strategy is deployed, real and has orders on. Write, destructive Signed in
set-signal-action Mark a signal for the user: like, unlike, ignore, unignore, watch or unwatch. Write Signed in
get-signal-actions How the user has marked a signal: liked, ignored, watched. Read Signed in

list-signals

The user's signals.

Read. Signed in.

Argument Type Required Description
page integer no Page number, 1 to 100000 (default 1).
offset integer no Rows of the page to skip first, 0 to 99 (default 0): give next_offset from the previous answer to read the rows the size budget left out of this page.

get-signal

One signal by id, with its strategy and trades.

Read. Signed in.

Argument Type Required Description
signal_id integer yes The signal ID.

delete-signal

Delete a signal. Cannot be undone. Refused only while its strategy is deployed, real and has orders on.

Write, destructive. Signed in.

Argument Type Required Description
signal_id integer yes The signal ID.

set-signal-action

Mark a signal for the user: like, unlike, ignore, unignore, watch or unwatch.

Write. Signed in.

Argument Type Required Description
signal_id integer yes The signal ID.
action string yes What to do. Allowed: like, unlike, ignore, unignore, watch, unwatch.

get-signal-actions

How the user has marked a signal: liked, ignored, watched.

Read. Signed in.

Argument Type Required Description
signal_id integer yes The signal ID.

Trades

A trade here is OHLCX's record of what a strategy did. It is not a broker order.

Tool What it does Kind Availability
list-trades The trades taken by the user's strategies, 100 per page. Read Signed in
get-trade One strategy trade by id. Read Signed in
delete-trade Delete a strategy trade from OHLCX's records. Does not close a position or cancel an order at the broker. Cannot be undone. Write, destructive Signed in

list-trades

The trades taken by the user's strategies, 100 per page.

Read. Signed in.

Argument Type Required Description
symbol string no Only trades in this symbol.
period string no Period to report on (default THISMONTH). Allowed: TODAY, YESTERDAY, THISWEEK, LASTWEEK, THISMONTH, LASTMONTH, THISYEAR, LASTYEAR.
status string no Trades to count: ALL, OPEN or CLOSED (default ALL). Allowed: ALL, OPEN, CLOSED.
direction string no Side: ALL, BUY or SELL (default both). Allowed: ALL, BUY, SELL.
page integer no Page number, 1 to 100000 (default 1).
offset integer no Rows of the page to skip first, 0 to 99 (default 0): give next_offset from the previous answer to read the rows the size budget left out of this page.

get-trade

One strategy trade by id.

Read. Signed in.

Argument Type Required Description
trade_id integer yes The trade ID.

delete-trade

Delete a strategy trade from OHLCX's records. Does not close a position or cancel an order at the broker. Cannot be undone.

Write, destructive. Signed in.

Argument Type Required Description
trade_id integer yes The trade ID.

Backtests

The first four tools read and manage saved runs. The last five start and follow server-side runs and are listed only where the app has server backtests switched on. At most three backtests may wait or run at once.

Tool What it does Kind Availability
list-backtests The user's saved backtest runs, newest first, with each run's metrics. Read Signed in
get-backtest One saved run: its period, settings, what-if overrides and metrics. The trade list, equity curve and strategy snapshot come only when named in include. Read Signed in
rename-backtest Rename a saved run. Write Signed in
delete-backtest Delete a saved run. Cannot be undone. Write, destructive Signed in
run-backtest Start a server-side backtest of a strategy as it is now. It runs in the background: poll get-backtest-job. Write Signed in, server backtests on
run-backtest-sweep Start a parameter sweep: the strategy is backtested once for every combination of one or two settings, and the results are ranked. Write Signed in, server backtests on
list-backtest-jobs The user's server-side backtests and sweeps, newest first, with status and progress. Read Signed in, server backtests on
get-backtest-job One server-side job: its status, progress, and when finished the saved run's backtest_id (a run) or the ranked result (a sweep). Read Signed in, server backtests on
cancel-backtest-job Cancel a server-side job that is still waiting or running. Write, destructive Signed in, server backtests on

list-backtests

The user's saved backtest runs, newest first, with each run's metrics.

Read. Signed in.

Argument Type Required Description
strategy_id integer no Only runs of this strategy.
page integer no Page number, 1 to 100000 (default 1).
offset integer no Rows of the page to skip first, 0 to 24 (default 0): give next_offset from the previous answer to read the rows the size budget left out of this page.

get-backtest

One saved run: its period, settings, what-if overrides and metrics. The trade list, equity curve and strategy snapshot come only when named in include.

Read. Signed in.

Argument Type Required Description
strategy_id integer yes The strategy ID.
backtest_id integer yes The saved run's ID.
include array of string no Large parts to return as well: trades, equity, strategy_snapshot. Allowed: trades, equity, strategy_snapshot.

rename-backtest

Rename a saved run.

Write. Signed in.

Argument Type Required Description
strategy_id integer yes The strategy ID.
backtest_id integer yes The saved run's ID.
name string yes The new name (up to 120 characters).

delete-backtest

Delete a saved run. Cannot be undone.

Write, destructive. Signed in.

Argument Type Required Description
strategy_id integer yes The strategy ID.
backtest_id integer yes The saved run's ID.

run-backtest

Start a server-side backtest of a strategy as it is now. It runs in the background: poll get-backtest-job.

Write. Signed in, server backtests on.

Argument Type Required Description
strategy_id integer yes The strategy ID.
from_day string yes First day of the period, YYYY-MM-DD.
to_day string yes Last day of the period, YYYY-MM-DD. The period may cover at most five years.
name string no A name for the run (up to 120 characters).
overrides object no What-if changes applied to the strategy for this run only: {strategy: {setting: value}, disabledConditionIds: [ids]}. The live strategy is not changed.
run_settings object no Further run settings, as the backtest form sends them. from_day and to_day take precedence.

run-backtest-sweep

Start a parameter sweep: the strategy is backtested once for every combination of one or two settings, and the results are ranked.

Write. Signed in, server backtests on.

Argument Type Required Description
strategy_id integer yes The strategy ID.
from_day string yes First day of the period, YYYY-MM-DD.
to_day string yes Last day of the period, YYYY-MM-DD. The period may cover at most five years.
name string no A name for the run (up to 120 characters).
overrides object no What-if changes applied to the strategy for this run only: {strategy: {setting: value}, disabledConditionIds: [ids]}. The live strategy is not changed.
run_settings object no Further run settings, as the backtest form sends them. from_day and to_day take precedence.
axes array yes One or two settings to vary. A numeric setting: {key, from, to, step}. risk_reward: {key: "risk_reward"} tries every ratio. Keys are strategy settings such as distance_sl, distance_tp, min_distance_sl, min_distance_tp, position, capital, risk, trailing_stop_value.
measure string no What to rank by (default netProfit). Allowed: netProfit, profitFactor, sharpe, winRate, expectancy, returnOverDrawdown, maxDrawdownPct.
holdout boolean no Keep the last 30% of the period away from the search and check the best result on it (default false).

list-backtest-jobs

The user's server-side backtests and sweeps, newest first, with status and progress.

Read. Signed in, server backtests on.

Argument Type Required Description
strategy_id integer no Only jobs of this strategy.
page integer no Page number, 1 to 100000 (default 1).
offset integer no Rows of the page to skip first, 0 to 24 (default 0): give next_offset from the previous answer to read the rows the size budget left out of this page.

get-backtest-job

One server-side job: its status, progress, and when finished the saved run's backtest_id (a run) or the ranked result (a sweep).

Read. Signed in, server backtests on.

Argument Type Required Description
job_id integer yes The job ID.

cancel-backtest-job

Cancel a server-side job that is still waiting or running.

Write, destructive. Signed in, server backtests on.

Argument Type Required Description
job_id integer yes The job ID.

Workspaces

Workspaces are the user's saved layouts of charts and widgets. They are saved as one document against a revision.

Tool What it does Kind Availability
get-workspaces The user's Workspaces document, with the revision to send back when saving. Read Signed in
save-workspaces Save the whole Workspaces document against a revision. If it was changed somewhere else, nothing is saved and the current state and revision come back. Write Signed in

get-workspaces

The user's Workspaces document, with the revision to send back when saving.

Read. Signed in.

No arguments.

save-workspaces

Save the whole Workspaces document against a revision. If it was changed somewhere else, nothing is saved and the current state and revision come back.

Write. Signed in.

Argument Type Required Description
revision integer yes The revision the change is based on, as returned by get-workspaces.
state object yes The whole document: {version: 1, dashboards: [{id, name, tiles: [{id, symbol, range, frequency, chartType?, kind?, view?, settings?}], layout: [{i, x, y, w, h}], stackOrder?}]}. Each layout entry's i is a tile id.

Watchlists

These tools change the user's own watchlists. Built-in watchlists are listed but not changed.

Tool What it does Kind Availability
list-watchlists The user's watchlists with their symbols, the built-in watchlists, and which built-in ones the user has hidden. Read Signed in
create-watchlist Create an empty watchlist. Write Signed in
rename-watchlist Rename one of the user's watchlists. Write Signed in
delete-watchlist Delete one of the user's watchlists and the symbols in it. Cannot be undone. Write, destructive Signed in
add-watchlist-symbols Add one or more symbols to a watchlist. Symbols already in it are kept once. Write Signed in
remove-watchlist-symbol Remove one symbol from a watchlist. Write Signed in

list-watchlists

The user's watchlists with their symbols, the built-in watchlists, and which built-in ones the user has hidden.

Read. Signed in.

Argument Type Required Description
limit integer no Most of the user's own watchlists to return, 1 to 200 (default 50).
offset integer no Rows to skip first, 0 to 100000 (default 0): give next_offset from the previous answer to read on.

create-watchlist

Create an empty watchlist.

Write. Signed in.

Argument Type Required Description
name string yes The watchlist's name (up to 30 characters).

rename-watchlist

Rename one of the user's watchlists.

Write. Signed in.

Argument Type Required Description
watchlist_id integer yes The watchlist ID (see list-watchlists).
name string yes The new name (up to 30 characters).

delete-watchlist

Delete one of the user's watchlists and the symbols in it. Cannot be undone.

Write, destructive. Signed in.

Argument Type Required Description
watchlist_id integer yes The watchlist ID (see list-watchlists).

add-watchlist-symbols

Add one or more symbols to a watchlist. Symbols already in it are kept once.

Write. Signed in.

Argument Type Required Description
watchlist_id integer yes The watchlist ID (see list-watchlists).
symbols array yes Ticker symbols to add, e.g. ["SPY", "AAPL"].

remove-watchlist-symbol

Remove one symbol from a watchlist.

Write. Signed in.

Argument Type Required Description
watchlist_id integer yes The watchlist ID (see list-watchlists).
symbol string yes The ticker symbol, e.g. SPY.

Markets and price data

Tool What it does Kind Availability
list-markets The available markets, or one market by id. Read Signed in
get-ticker Ticker data for one symbol, or the tickers of one market. Read Signed in
get-ticker-bars A symbol's price bars (open, high, low, close, volume) on a timeframe. The most recent 200 unless told otherwise; follow meta.next_cursor for more. Read Signed in
get-ticker-analysis The published analysis for one symbol, 10 per page. Read Signed in
get-market-calendar The market calendar. Read Signed in
get-market-balance Market balance data, with optional filters. Read Signed in
list-sectors The sectors. Read Signed in
get-sector One sector by id. Read Signed in
get-sector-balance Sector balance chart data, with optional filters. Read Signed in

list-markets

The available markets, or one market by id.

Read. Signed in.

Argument Type Required Description
market_id string no Optional. Filter by market ID.
page integer no Page number, 1 to 100000 (default 1).
offset integer no Rows of the page to skip first, 0 to 9 (default 0): give next_offset from the previous answer to read the rows the size budget left out of this page.

get-ticker

Ticker data for one symbol, or the tickers of one market.

Read. Signed in.

Argument Type Required Description
symbol string no Optional. Ticker symbol (e.g. BTC-USD).
market_id string no Optional. Market ID to list tickers for.
page integer no Page number, 1 to 100000 (default 1).
offset integer no Rows of the page to skip first, 0 to 999 (default 0): give next_offset from the previous answer to read the rows the size budget left out of this page.

get-ticker-bars

A symbol's price bars (open, high, low, close, volume) on a timeframe. The most recent 200 unless told otherwise; follow meta.next_cursor for more.

Read. Signed in.

Argument Type Required Description
symbol string yes The ticker symbol, e.g. SPY.
timeframe string yes Bar timeframe. Allowed: 1Min, 5Min, 15Min, 30Min, 1Hour, 4Hour, 1Day, 1Week.
from string no Earliest bar: a date (YYYY-MM-DD) or date and time, UTC.
to string no Latest bar: a date (YYYY-MM-DD, taken to the end of that day) or date and time, UTC.
order string no desc for newest first (default), asc for oldest first. Allowed: asc, desc.
session string no Only bars of one session; applies to timeframes of 30Min and shorter. Allowed: regular, pre, after.
limit integer no Bars to return, 1 to 1000 (default 200).
cursor string no meta.next_cursor from the previous call, to continue.

get-ticker-analysis

The published analysis for one symbol, 10 per page.

Read. Signed in.

Argument Type Required Description
symbol string yes The ticker symbol, e.g. SPY.
page integer no Page number, 1 to 100000 (default 1).
offset integer no Rows of the page to skip first, 0 to 9 (default 0): give next_offset from the previous answer to read the rows the size budget left out of this page.

get-market-calendar

The market calendar.

Read. Signed in.

No arguments.

get-market-balance

Market balance data, with optional filters.

Read. Signed in.

Argument Type Required Description
filters object no Optional. marketId, filteredPeriod, filteredInterval, filteredSession.

list-sectors

The sectors.

Read. Signed in.

Argument Type Required Description
page integer no Page number, 1 to 100000 (default 1).
per_page integer no Rows per page, 1 to 100 (default 10).

get-sector

One sector by id.

Read. Signed in.

Argument Type Required Description
sector_id string yes The sector's id, in digits (see list-sectors).

get-sector-balance

Sector balance chart data, with optional filters.

Read. Signed in.

Argument Type Required Description
filters object no Optional. sectorId, filteredPeriod, filteredInterval, filteredSession.

Screeners

Tool What it does Kind Availability
screen-market-gaps The symbols of a market that gapped at the open, each with its size, plus the market's gap statistics for the session. Read Signed in
screen-asset-gaps One symbol's history of gaps on a timeframe: each gap, the gap statistics, and the bars they were found in. Read Signed in
screen-technicals A market's symbols by their technical readings on a timeframe: moving averages, pivots and indicator signals, with the market's summary. Read Signed in

screen-market-gaps

The symbols of a market that gapped at the open, each with its size, plus the market's gap statistics for the session.

Read. Signed in.

Argument Type Required Description
market_id integer no The market to screen (see list-markets; default 3).
gap_min_percent number no Smallest gap to report, in percent (default 2).
direction string no Gap direction: up, down or both (default up). Allowed: up, down, both.
limit integer no Most gaps to return, 1 to 200 (default 50).
offset integer no Rows to skip first, 0 to 100000 (default 0): give next_offset from the previous answer to read on.

screen-asset-gaps

One symbol's history of gaps on a timeframe: each gap, the gap statistics, and the bars they were found in.

Read. Signed in.

Argument Type Required Description
symbol string yes The ticker symbol, e.g. SPY.
timeframe string no Bar timeframe (default 1Day). Allowed: 1Min, 5Min, 15Min, 30Min, 1Hour, 4Hour, 1Day, 1Week.
gap_min_percent number no Smallest gap to report, in percent (default 2).
direction string no Gap direction: up, down or both (default up). Allowed: up, down, both.
limit integer no Most gaps to return, 1 to 200 (default 50).
offset integer no Rows to skip first, 0 to 100000 (default 0): give next_offset from the previous answer to read on.

screen-technicals

A market's symbols by their technical readings on a timeframe: moving averages, pivots and indicator signals, with the market's summary.

Read. Signed in.

Argument Type Required Description
market_id integer no The market to screen (see list-markets; default 6).
timeframe string no Bar timeframe (default 1Day). Allowed: 1Min, 5Min, 15Min, 30Min, 1Hour, 4Hour, 1Day, 1Week.
search string no Only symbols whose symbol or name contains this text.
page integer no Page number, 1 to 100000 (default 1).
per_page integer no Rows per page, 1 to 50 (default 20).

News

Tool What it does Kind Availability
list-news News items, paged. Read Signed in
get-news One news item by id. Read Signed in
list-crypto-news Crypto news, paged. Read Signed in
list-popular-news Popular news, paged. Read Signed in

list-news

News items, paged.

Read. Signed in.

Argument Type Required Description
page integer no Page number, 1 to 100000 (default 1).
per_page integer no Rows per page, 1 to 50 (default 10).

get-news

One news item by id.

Read. Signed in.

Argument Type Required Description
id string yes The news item ID.

list-crypto-news

Crypto news, paged.

Read. Signed in.

Argument Type Required Description
page integer no Page number, 1 to 100000 (default 1).
per_page integer no Rows per page, 1 to 50 (default 10).

Popular news, paged.

Read. Signed in.

Argument Type Required Description
page integer no Page number, 1 to 100000 (default 1).
per_page integer no Rows per page, 1 to 50 (default 10).

Analysis and AI usage

Tool What it does Kind Availability
get-analysis The user's AI analysis data (recent messages with attachments). Read Signed in
get-ai-usage The user's AI assistant usage: requests and tokens by agent and by source, for a date range. Read Signed in

get-analysis

The user's AI analysis data (recent messages with attachments).

Read. Signed in.

Argument Type Required Description
page integer no Page number, 1 to 100000 (default 1).
per_page integer no Rows per page, 1 to 50 (default 10).

get-ai-usage

The user's AI assistant usage: requests and tokens by agent and by source, for a date range.

Read. Signed in.

Argument Type Required Description
range string no How far back: a number of days such as 7d, 30d or 90d, or all (default all).
from string no Start date, YYYY-MM-DD. With to, replaces period.
to string no End date, YYYY-MM-DD.

Activities

Tool What it does Kind Availability
list-activities The user's activity feed. An account named in an activity appears only by its masked label. Read Signed in
log-activity Log an activity for the user. Write, no hint Signed in
delete-activity Delete one of the user's activities by id. Write, destructive Signed in

list-activities

The user's activity feed. An account named in an activity appears only by its masked label.

Read. Signed in.

Argument Type Required Description
page integer no Page number, 1 to 100000 (default 1).
per_page integer no Rows per page, 1 to 50 (default 30).

log-activity

Log an activity for the user.

Write, no hint. Signed in.

Argument Type Required Description
payload object no Activity data to log (structure depends on activity type).

delete-activity

Delete one of the user's activities by id.

Write, destructive. Signed in.

Argument Type Required Description
id string yes The activity ID to delete.

Credits and billing

Tool What it does Kind Availability
get-credits The user's credit balance and summary. Read Signed in
get-transaction-history The user's billing and transaction history. Read Signed in
list-credit-holds The user's credit holds, newest first: credits set aside for a staged-exit order, and whether each is still held, was captured or was released. Read Signed in

get-credits

The user's credit balance and summary.

Read. Signed in.

No arguments.

get-transaction-history

The user's billing and transaction history.

Read. Signed in.

Argument Type Required Description
limit integer no Most rows of each list to return, 1 to 100 (default 100).

list-credit-holds

The user's credit holds, newest first: credits set aside for a staged-exit order, and whether each is still held, was captured or was released.

Read. Signed in.

Argument Type Required Description
page integer no Page number, 1 to 100000 (default 1).
per_page integer no Rows per page, 1 to 50 (default 25).

Support

The four ticket tools are listed only where the app is connected to the support desk. Tickets and replies reach the support team: confirm the wording with the user first.

Tool What it does Kind Availability
submit-contact-form Submit the contact form. Write, no hint Signed in
report-issue Report an issue. Write, no hint Signed in
submit-support-request Submit a support request. Write, no hint Signed in
list-support-tickets The user's support tickets with their status. Read Signed in, support desk connected
get-support-ticket One of the user's support tickets with its messages. Read Signed in, support desk connected
create-support-ticket Open a support ticket with the OHLCX support team on behalf of the user. Write Signed in, support desk connected
reply-support-ticket Add a message from the user to one of their support tickets. Write Signed in, support desk connected

submit-contact-form

Submit the contact form.

Write, no hint. Signed in.

Argument Type Required Description
payload object no Contact form fields (e.g. name, email, message).

report-issue

Report an issue.

Write, no hint. Signed in.

Argument Type Required Description
payload object no Issue details (e.g. subject, description).

submit-support-request

Submit a support request.

Write, no hint. Signed in.

Argument Type Required Description
payload object no Support request details.

list-support-tickets

The user's support tickets with their status.

Read. Signed in, support desk connected.

Argument Type Required Description
status string no Only tickets in this status. Allowed: new, open, waiting_on_customer, waiting_on_staff, resolved, closed.
page integer no Page number, 1 to 100000 (default 1).
offset integer no Rows of the page to skip first, 0 to 19 (default 0): give next_offset from the previous answer to read the rows the size budget left out of this page.

get-support-ticket

One of the user's support tickets with its messages.

Read. Signed in, support desk connected.

Argument Type Required Description
ticket_id integer yes The support ticket ID.

create-support-ticket

Open a support ticket with the OHLCX support team on behalf of the user.

Write. Signed in, support desk connected.

Argument Type Required Description
subject string yes A short summary of the problem (up to 255 characters).
body string yes The full description: what happened, what was expected, and any steps to reproduce.
category string no A category for the ticket (up to 100 characters).
priority string no How urgent it is. Allowed: low, medium, high, critical.

reply-support-ticket

Add a message from the user to one of their support tickets.

Write. Signed in, support desk connected.

Argument Type Required Description
ticket_id integer yes The support ticket ID.
body string yes The message.

Profile and settings

Tool What it does Kind Availability
get-user The signed-in user: id, name, email and verification status. An admin may pass user_id to read another user. Read Signed in
get-sessions The user's sessions. Read Signed in
update-profile Update the user's profile details. Write, no hint Signed in
update-password Change the user's password. Write, destructive Signed in
delete-profile-photo Delete the user's profile photo. Write, destructive Signed in
get-onboarding The user's onboarding state. Read Signed in
complete-onboarding Submit or update the user's onboarding data. Write, no hint Signed in
get-preferences The user's preferences. Read Signed in
update-preferences Update the user's preferences. Write, no hint Signed in
get-settings The user's settings. Read Signed in
save-settings Save the user's settings. Write, no hint Signed in

get-user

The signed-in user: id, name, email and verification status. An admin may pass user_id to read another user.

Read. Signed in.

Argument Type Required Description
user_id integer no Optional. User ID to fetch (admin only). Omit for current user.

get-sessions

The user's sessions.

Read. Signed in.

Argument Type Required Description
limit integer no Most sessions to return, 1 to 200 (default 50).
offset integer no Rows to skip first, 0 to 100000 (default 0): give next_offset from the previous answer to read on.

update-profile

Update the user's profile details.

Write, no hint. Signed in.

Argument Type Required Description
payload object no Profile fields to update (e.g. name).

update-password

Change the user's password.

Write, destructive. Signed in.

Argument Type Required Description
current_password string yes Current password.
password string yes New password.
password_confirmation string no New password confirmation.

delete-profile-photo

Delete the user's profile photo.

Write, destructive. Signed in.

No arguments.

get-onboarding

The user's onboarding state.

Read. Signed in.

No arguments.

complete-onboarding

Submit or update the user's onboarding data.

Write, no hint. Signed in.

Argument Type Required Description
payload object no Onboarding data to submit.

get-preferences

The user's preferences.

Read. Signed in.

No arguments.

update-preferences

Update the user's preferences.

Write, no hint. Signed in.

Argument Type Required Description
payload object no Preferences to update.

get-settings

The user's settings.

Read. Signed in.

No arguments.

save-settings

Save the user's settings.

Write, no hint. Signed in.

Argument Type Required Description
payload object no Settings to save.

Trading rooms and messages

Tool What it does Kind Availability
get-group One trading room by id. Read Signed in
create-group Create a trading room. Write, no hint Signed in
update-group Update a trading room by id. Write, no hint Signed in
delete-group Delete a trading room by id. Write, destructive Signed in
invite-to-group Invite a user to a trading room. Write, no hint Signed in
join-group Join a trading room. Write, no hint Signed in
leave-group Leave a trading room. Write, destructive Signed in
get-group-status The status of a trading room. Read Signed in
discover-groups Trading rooms the user could join, optionally by name. Read Signed in
browse-users Other OHLCX users to message or invite to a trading room, optionally by name. Read Signed in
list-invites The user's trading room invites. Read Signed in
send-invite Send a trading room invite. Write, no hint Signed in
accept-invite Accept a trading room invite. Write, no hint Signed in
respond-join-request Answer a request to join a trading room. Write, no hint Signed in
list-pending-join-requests The requests to join the user's own trading rooms that are still waiting for an answer. Read Signed in
send-message Send a message in a trading room. Write, no hint Signed in
get-older-messages Load the messages before a given message. Read Signed in
delete-message Delete a message by id. Write, destructive Signed in
get-sidebar-conversations The user's conversation list. Read Signed in
get-unread-messages The user's unread trading room and direct messages, by conversation. Read Signed in

get-group

One trading room by id.

Read. Signed in.

Argument Type Required Description
group_id string yes The group ID.

create-group

Create a trading room.

Write, no hint. Signed in.

Argument Type Required Description
payload object no Group attributes (e.g. name).

update-group

Update a trading room by id.

Write, no hint. Signed in.

Argument Type Required Description
group_id string yes The group ID to update.
payload object no Group attributes to update.

delete-group

Delete a trading room by id.

Write, destructive. Signed in.

Argument Type Required Description
group_id string yes The group ID to delete.

invite-to-group

Invite a user to a trading room.

Write, no hint. Signed in.

Argument Type Required Description
group_id string yes The group ID.
payload object no Invite payload (e.g. user id or email).

join-group

Join a trading room.

Write, no hint. Signed in.

Argument Type Required Description
group_id string yes The group ID to join.

leave-group

Leave a trading room.

Write, destructive. Signed in.

Argument Type Required Description
group_id string yes The group ID to leave.

get-group-status

The status of a trading room.

Read. Signed in.

Argument Type Required Description
group_id string yes The group ID.

discover-groups

Trading rooms the user could join, optionally by name.

Read. Signed in.

Argument Type Required Description
search string no Only names containing this text.
page integer no Page number, 1 to 100000 (default 1).
offset integer no Rows of the page to skip first, 0 to 9 (default 0): give next_offset from the previous answer to read the rows the size budget left out of this page.

browse-users

Other OHLCX users to message or invite to a trading room, optionally by name.

Read. Signed in.

Argument Type Required Description
search string no Only names containing this text.
page integer no Page number, 1 to 100000 (default 1).
offset integer no Rows of the page to skip first, 0 to 19 (default 0): give next_offset from the previous answer to read the rows the size budget left out of this page.

list-invites

The user's trading room invites.

Read. Signed in.

Argument Type Required Description
page integer no Page number, 1 to 100000 (default 1).
per_page integer no Rows per page, 1 to 50 (default 10).

send-invite

Send a trading room invite.

Write, no hint. Signed in.

Argument Type Required Description
payload object no Invite details (e.g. group_id, user identifier).

accept-invite

Accept a trading room invite.

Write, no hint. Signed in.

Argument Type Required Description
payload object no Accept payload (e.g. invite token or id).

respond-join-request

Answer a request to join a trading room.

Write, no hint. Signed in.

Argument Type Required Description
join_request_id string yes The join request ID.
payload object no Response (e.g. accepted: true/false).

list-pending-join-requests

The requests to join the user's own trading rooms that are still waiting for an answer.

Read. Signed in.

Argument Type Required Description
limit integer no Most requests to return, 1 to 200 (default 50).
offset integer no Rows to skip first, 0 to 100000 (default 0): give next_offset from the previous answer to read on.

send-message

Send a message in a trading room.

Write, no hint. Signed in.

Argument Type Required Description
payload object no Message payload (e.g. group_id, body).

get-older-messages

Load the messages before a given message.

Read. Signed in.

Argument Type Required Description
message_id string yes The message ID to load older messages before.

delete-message

Delete a message by id.

Write, destructive. Signed in.

Argument Type Required Description
message_id string yes The message ID to delete.

get-sidebar-conversations

The user's conversation list.

Read. Signed in.

Argument Type Required Description
limit integer no Most conversations to return, 1 to 200 (default 50).
offset integer no Rows to skip first, 0 to 100000 (default 0): give next_offset from the previous answer to read on.

get-unread-messages

The user's unread trading room and direct messages, by conversation.

Read. Signed in.

Argument Type Required Description
limit integer no Most messages to return, 1 to 50 (default 50).

Administration

These tools are listed only for a signed-in admin. The knowledge base write tools, also for admins, are under Knowledge base.

Tool What it does Kind Availability
list-users List users, with optional search and paging. Read Admin
set-user-admin Make a user an admin, or remove that. Write, destructive Admin
update-user Update a user's name, email, admin flag or email verification. Write, destructive Admin
add-user Create a user. Write, destructive Admin
delete-user Permanently delete a user by id. You cannot delete your own user. Write, destructive Admin
get-user-billing Billing information for a user. An account in it appears only by its masked label. Read Admin
adjust-user-billing Adjust a user's credits or billing. Write, destructive Admin
set-user-billing-package Set a user's billing package. Write, destructive Admin
block-unblock-user Block or unblock a user. Write, destructive Admin
change-user-role Change a user's role. Write, destructive Admin

list-users

List users, with optional search and paging.

Read. Admin.

Argument Type Required Description
search string no Optional. Search by name or email.
per_page integer no Optional. Rows per page, 1 to 100 (default 20).
page integer no Page number, 1 to 100000 (default 1).

set-user-admin

Make a user an admin, or remove that.

Write, destructive. Admin.

Argument Type Required Description
user_id integer yes The user ID to update.
is_admin boolean yes Set to true to make the user an admin, false to remove admin.

update-user

Update a user's name, email, admin flag or email verification.

Write, destructive. Admin.

Argument Type Required Description
user_id integer yes The user ID to update.
name string no Optional. New name.
email string no Optional. New email.
is_admin boolean no Optional. Set admin flag.
email_verified boolean no Optional. true to mark email verified, false to unverify.

add-user

Create a user.

Write, destructive. Admin.

Argument Type Required Description
name string yes Full name (min 2 characters).
email string yes Email address.
password string yes Password (min 8 characters).
password_confirmation string yes Must match password.
is_admin boolean no Optional. Set to true to make admin (default false).
email_verified boolean no Optional. true to mark email as verified.

delete-user

Permanently delete a user by id. You cannot delete your own user.

Write, destructive. Admin.

Argument Type Required Description
user_id integer yes The user ID to delete. Cannot delete your own user.

get-user-billing

Billing information for a user. An account in it appears only by its masked label.

Read. Admin.

Argument Type Required Description
user_id string yes The user ID.

adjust-user-billing

Adjust a user's credits or billing.

Write, destructive. Admin.

Argument Type Required Description
user_id string yes The user ID.
payload object no Adjustment payload.

set-user-billing-package

Set a user's billing package.

Write, destructive. Admin.

Argument Type Required Description
user_id string yes The user ID.
payload object no Package payload.

block-unblock-user

Block or unblock a user.

Write, destructive. Admin.

Argument Type Required Description
user_id string yes The user ID to block or unblock.
payload object no Optional payload (e.g. block: true).

change-user-role

Change a user's role.

Write, destructive. Admin.

Argument Type Required Description
user_id string yes The user ID.
payload object no Role payload.