{"note":"OpenAPI conversion -- returning structured metadata","name":"tradematic-com","description":"Tradematic API","version":"1.0.6","base_url":"https://api.tradematic.com","endpoints":90,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Tradematic API\n@base https://api.tradematic.com\n@version 1.0.6\n@auth ApiKey X-API-Key in header\n@endpoints 90\n@hint download_for_search\n@toc ping(1), time(1), client(10), autofollow(17), taskmanager(17), builder(2), marketdata(10), cloud(27), marketplace(5)\n\n@group ping\n@endpoint GET /ping\n@desc Ping\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endgroup\n\n@group time\n@endpoint GET /time\n@desc Get current server time\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endgroup\n\n@group client\n@endpoint GET /client/users\n@desc Get users list\n@optional {username: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /client/users/{userid}\n@desc Get user by ID\n@required {userid: any}\n@returns(200) Successful operation\n@errors {404: Not found, 500: Error}\n\n@endpoint POST /client/users/login\n@desc Logs user into the system\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint POST /client/users/register\n@desc Register a new user\n@required {body: map}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /client/users/roles\n@desc Get user roles list\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint PUT /client/users/{userid}/role\n@desc Get user roles list\n@required {userid: any, body: map}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint POST /client/users/check\n@desc Checks for a user\n@required {body: map}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /client/apikeys\n@desc Get API keys\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint POST /client/apikeys\n@desc Create new API key\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint DELETE /client/apikeys/{keyid}\n@desc Delete API key\n@required {keyid: any}\n@returns(200) Successful operation\n@errors {404: Not found, 500: Error}\n\n@endgroup\n\n@group autofollow\n@endpoint GET /autofollow/strategies\n@desc Get autofollow strategies list\n@optional {filter: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint POST /autofollow/strategies\n@desc Create new autofollow strategy\n@required {body: map}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /autofollow/strategies/{strategyid}\n@desc Get autofollow strategy by ID\n@required {strategyid: any}\n@returns(200) Successful operation\n@errors {404: Not found, 500: Error}\n\n@endpoint PUT /autofollow/strategies/{strategyid}\n@desc Update autofollow strategy\n@required {strategyid: any, body: map}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint PUT /autofollow/strategies/{strategyid}/content\n@desc Update rules for strategy that was created with strategy builder, or just content field\n@required {strategyid: any, body: map}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint PUT /autofollow/strategies/{strategyid}/state\n@desc Update autofollow strategy state\n@required {strategyid: any, body: map}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint PUT /autofollow/strategies/{strategyid}/status\n@desc Update autofollow strategy status\n@required {strategyid: any, body: map}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /autofollow/strategies/{strategyid}/positions\n@desc Get positions for strategy\n@required {strategyid: any}\n@returns(200) Successful operation\n@errors {404: Not found, 500: Error}\n\n@endpoint POST /autofollow/strategies/{strategyid}/positions\n@desc Send a new position for autofollow strategy\n@required {strategyid: any, body: map}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint PUT /autofollow/strategies/{strategyid}/positions\n@desc Update an existing position for autofollow strategy\n@required {strategyid: any, body: map}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint DELETE /autofollow/strategies/{strategyid}/positions\n@desc Delete an existing position for autofollow strategy\n@required {strategyid: any, body: map}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /autofollow/strategies/{strategyid}/signals\n@desc Get trading signals for strategy\n@required {strategyid: any}\n@optional {count: any}\n@returns(200) Successful operation\n@errors {404: Not found, 500: Error}\n\n@endpoint POST /autofollow/strategies/{strategyid}/signals\n@desc Send a new signal for autofollow strategy\n@required {strategyid: any, body: map}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /autofollow/strategies/risklevels\n@desc Get risk levels\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /autofollow/strategies/rates\n@desc Get strategies rates\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /autofollow/strategies/statuses\n@desc Get strategies statuses\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /autofollow/authors\n@desc Get authors\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endgroup\n\n@group taskmanager\n@endpoint GET /taskmanager/tasks\n@desc Get tasks list\n@optional {count: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint POST /taskmanager/tasks\n@desc Create a new task\n@required {body: map}\n@returns(202) Successful operation\n@errors {500: Error}\n\n@endpoint GET /taskmanager/tasks/{taskid}\n@desc Get task by ID\n@required {taskid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /taskmanager/tasks/{taskid}/status\n@desc Get task status\n@required {taskid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /taskmanager/tasks/{taskid}/folder\n@desc Get task result folder name\n@required {taskid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /taskmanager/tasks/{taskid}/result\n@desc Get task result\n@required {taskid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /taskmanager/tasks/{taskid}/result2\n@desc Get task result (version 2)\n@required {taskid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /taskmanager/tasks/{taskid}/equity\n@desc Get data for equity chart\n@required {taskid: any}\n@optional {count: any, from: any, to: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /taskmanager/tasks/{taskid}/equitypct\n@desc Get data for equity chart (%)\n@required {taskid: any}\n@optional {count: any, from: any, to: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /taskmanager/tasks/{taskid}/equitypctsm\n@desc Get spared data for equity chart (%)\n@required {taskid: any}\n@optional {count: any, from: any, to: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /taskmanager/tasks/{taskid}/drawdown\n@desc Get data for drawdown chart\n@required {taskid: any}\n@optional {count: any, from: any, to: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /taskmanager/tasks/{taskid}/performance\n@desc Get backtest statistics\n@required {taskid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /taskmanager/tasks/{taskid}/trades\n@desc Get backtest trades list\n@required {taskid: any}\n@optional {count: any, from: any, to: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /taskmanager/tasks/{taskid}/contribution\n@desc Get backtest symbol contribution data\n@required {taskid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /taskmanager/tasks/{taskid}/bymonths\n@desc Get backtest data for equity chart, grouped by months\n@required {taskid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /taskmanager/tasks/{taskid}/byquarters\n@desc Get backtest data for equity chart, grouped by quarters\n@required {taskid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /taskmanager/tasks/{taskid}/byyears\n@desc Get backtest data for equity chart, grouped by years\n@required {taskid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endgroup\n\n@group builder\n@endpoint GET /builder/rules\n@desc Get strategy builder rules list\n@optional {filter: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /builder/rules/{ruleid}\n@desc Get strategy builder rules by ID\n@required {ruleid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endgroup\n\n@group marketdata\n@endpoint GET /marketdata/markets\n@desc Get markets list\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /marketdata/markets/{name}\n@desc Get market by name\n@required {name: any}\n@returns(200) Successful operation\n@errors {404: Not found, 500: Error}\n\n@endpoint GET /marketdata/indicators\n@desc Get technical indicators list\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /marketdata/indicators/{name}\n@desc Get technical indicator by name\n@required {name: any}\n@returns(200) Successful operation\n@errors {404: Not found, 500: Error}\n\n@endpoint GET /marketdata/indicators/{name}/histdata\n@desc Get technical indicator historical data by name\n@required {name: any, symbol: any, tf: any}\n@optional {from: any, to: any, count: any, params: any}\n@returns(200) Successful operation\n@errors {404: Not found, 500: Error}\n\n@endpoint GET /marketdata/symbols\n@desc Get symbols list\n@optional {market: any, name: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /marketdata/symbols/{name}\n@desc Get symbol by name\n@required {name: any}\n@returns(200) Successful operation\n@errors {404: Not found, 500: Error}\n\n@endpoint GET /marketdata/symbols/{name}/histdata\n@desc Get historical data for instrument\n@required {name: any, tf: any}\n@optional {from: any, to: any, count: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /marketdata/symbols/{name}/snapshot\n@desc Get snapshot for a symbol by name\n@required {name: any}\n@optional {dt: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /marketdata/symbols/snapshots\n@desc Get snapshots for symbols\n@required {body: [str]}\n@optional {dt: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endgroup\n\n@group cloud\n@endpoint GET /cloud/accounts\n@desc Get trading accounts list\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /cloud/accounts/{accountid}\n@desc Get trading account by ID\n@required {accountid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /cloud/accounts/{accountid}/orders\n@desc Get orders list by account\n@required {accountid: any}\n@optional {from: any, to: any, count: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint POST /cloud/accounts/{accountid}/orders\n@desc Place a new order\n@required {accountid: any, body: map}\n@returns(202) Successful operation\n@errors {500: Error}\n\n@endpoint DELETE /cloud/accounts/{accountid}/orders/{orderid}\n@desc Cancel an order by ID\n@required {accountid: any, orderid: any}\n@returns(202) Successful operation\n@errors {500: Error}\n\n@endpoint GET /cloud/accounts/{accountid}/trades\n@desc Get trades list by account\n@required {accountid: any}\n@optional {from: any, to: any, count: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /cloud/accounts/{accountid}/snapshots\n@desc Get account equity and cash snapshots\n@required {accountid: any}\n@optional {from: any, to: any, count: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint POST /cloud/accounts/{accountid}/closeall\n@desc Close all positions by account\n@required {accountid: any}\n@returns(202) Successful operation\n@errors {500: Error}\n\n@endpoint POST /cloud/accounts/{accountid}/close\n@desc Close symbol position by account\n@required {accountid: any, body: map}\n@returns(202) Successful operation\n@errors {500: Error}\n\n@endpoint POST /cloud/accounts/{accountid}/sync\n@desc Syhchronize an account with account active strategies\n@required {accountid: any}\n@returns(202) Successful operation\n@errors {500: Error}\n\n@endpoint GET /cloud/accounts/{accountid}/sync\n@desc Get synchronization status of account with account active strategies\n@required {accountid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /cloud/accounts/{accountid}/commands\n@desc Get commands list by account\n@required {accountid: any}\n@optional {from: any, to: any, count: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /cloud/commands\n@desc Get commands list\n@optional {count: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /cloud/commands/{commandid}\n@desc Get command by ID\n@required {commandid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /cloud/sessions\n@desc Get sessions list\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /cloud/sessions/{sessionid}\n@desc Get session by ID\n@required {sessionid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /cloud/strategies\n@desc Get list of active (executing) strategies\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /cloud/strategies/{strategyid}\n@desc Get active (executing) strategy by ID\n@required {strategyid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint POST /cloud/strategies/start\n@desc Start a strategy execution for account\n@required {body: map}\n@returns(202) Successful operation\n@errors {500: Error}\n\n@endpoint POST /cloud/strategies/{strategyid}/stop\n@desc Stop a strategy execution by ID\n@required {strategyid: any}\n@returns(202) Successful operation\n@errors {500: Error}\n\n@endpoint GET /cloud/connectors\n@desc Get available connectors list\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /cloud/connectors/{connectorid}\n@desc Get connector by ID\n@required {connectorid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /cloud/connections\n@desc Get connections list\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint POST /cloud/connections\n@desc Create a new connection\n@required {body: map}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /cloud/connections/{connectionid}\n@desc Get connection by ID\n@required {connectionid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint PUT /cloud/connections/{connectionid}\n@desc Update existing connection\n@required {connectionid: any, body: map}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint DELETE /cloud/connections/{connectionid}\n@desc Delete connection by ID\n@required {connectionid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endgroup\n\n@group marketplace\n@endpoint GET /marketplace/balance\n@desc Get user balance\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /marketplace/products\n@desc Get products list\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /marketplace/products/{productid}\n@desc Get product by ID\n@required {productid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /marketplace/products/{productid}/rates\n@desc Get product rates by product ID\n@required {productid: any}\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endpoint GET /marketplace/groups\n@desc Get product groups list\n@returns(200) Successful operation\n@errors {500: Error}\n\n@endgroup\n\n@end\n"}