Properties
| Name | Type | Description |
|---|---|---|
| account_id | string | One of your connected accounts: connected with its master password, not this copier's master, not a master anywhere and not already copying this master. |
| is_active | boolean | Start paused with `false`. |
| lot_mode | string | How each copy is sized. `multiplier`: the master's lots times `lot_value`. `fixed`: `lot_value` lots on every copy. `balance_ratio` / `equity_ratio`: the master's lots scaled by this account's balance |
| lot_value | number | The multiplier, the lot size or the risk percentage, by `lot_mode`. Above 0 and up to 1000; up to 100 for `risk_percent`. Up to four decimal places. |
| adjust_contract_size | boolean | Even out different contract sizes between the brokers (gold can be 100 oz a lot at one broker and 10 oz at another). Applies to `multiplier` and the ratio modes. |
| below_minimum | string | When a copy comes out below the broker's minimum lot: trade the minimum, or skip it. |
| max_lot | numbernull | The most lots one copy may have; null for no limit. |
| reverse | boolean | Sell when the master buys and the other way round; stop loss and take profit swap. |
| copy_stops | boolean | Copy stop loss and take profit, including later changes. |
| max_slippage_pips | numbernull | The slippage allowed per order; null uses the broker's default. |
| max_delay_seconds | integer | How late a master trade may still be copied, for example after a reconnect; older ones are skipped. |
| copy_existing | boolean | Also copy the positions and pending orders the master already has when the follower is attached. Nothing the master opens or places during a pause is ever copied. |
| copy_pending | boolean | Place the master's pending orders on the follower as pending orders, and follow their changes, rather than copying them once they fill. Needs both terminals on the current version. |
| symbol_filter | string | `all` copies every symbol, `include` only those in `symbols`, `exclude` all but them. |
| symbols | array | The master's symbol names for `symbol_filter`, which needs at least one unless it is `all`. `XAUUSD` also covers decorated names such as `XAUUSD.m`. |
| sessions | array | When new trades are copied; empty means any time. Closes and changes to copies already open are always copied. |
| timezone | string | The clock `sessions` are read on: `broker` (the master broker's server time, as its MetaTrader charts show it) or a time zone name such as `Europe/London`. |
| symbol_map | object | Master symbol to follower symbol, for names that don't match by themselves. Matching tries this map, then the same name, the name without the broker's decorations (`EURUSD.m`, `US30.cash`), then known |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/algotradertools/json-schema/algotradertools-add-follower-schema.json",
"title": "AddFollower",
"x-generated": "2026-11-08",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/algotradertools-openapi.json#/components/schemas/AddFollower",
"type": "object",
"properties": {
"account_id": {
"type": "string",
"description": "One of your connected accounts: connected with its master password, not this copier's master, not a master anywhere and not already copying this master.",
"format": "uuid"
},
"is_active": {
"type": "boolean",
"description": "Start paused with `false`.",
"default": true
},
"lot_mode": {
"type": "string",
"enum": [
"multiplier",
"fixed",
"balance_ratio",
"equity_ratio",
"risk_percent"
],
"description": "How each copy is sized. `multiplier`: the master's lots times `lot_value`. `fixed`: `lot_value` lots on every copy. `balance_ratio` / `equity_ratio`: the master's lots scaled by this account's balance or equity against the master's, times `lot_value`. `risk_percent`: sized so the master's stop loss risks `lot_value` percent of this account's equity; trades without a stop loss are skipped.",
"default": "multiplier"
},
"lot_value": {
"type": "number",
"description": "The multiplier, the lot size or the risk percentage, by `lot_mode`. Above 0 and up to 1000; up to 100 for `risk_percent`. Up to four decimal places.",
"exclusiveMinimum": 0,
"maximum": 1000,
"default": 1
},
"adjust_contract_size": {
"type": "boolean",
"description": "Even out different contract sizes between the brokers (gold can be 100 oz a lot at one broker and 10 oz at another). Applies to `multiplier` and the ratio modes.",
"default": true
},
"below_minimum": {
"type": "string",
"enum": [
"minimum",
"skip"
],
"description": "When a copy comes out below the broker's minimum lot: trade the minimum, or skip it.",
"default": "minimum"
},
"max_lot": {
"type": [
"number",
"null"
],
"description": "The most lots one copy may have; null for no limit.",
"exclusiveMinimum": 0,
"default": null
},
"reverse": {
"type": "boolean",
"description": "Sell when the master buys and the other way round; stop loss and take profit swap.",
"default": false
},
"copy_stops": {
"type": "boolean",
"description": "Copy stop loss and take profit, including later changes.",
"default": true
},
"max_slippage_pips": {
"type": [
"number",
"null"
],
"description": "The slippage allowed per order; null uses the broker's default.",
"minimum": 0
},
"max_delay_seconds": {
"type": "integer",
"description": "How late a master trade may still be copied, for example after a reconnect; older ones are skipped.",
"minimum": 0,
"maximum": 3600,
"default": 60
},
"copy_existing": {
"type": "boolean",
"description": "Also copy the positions and pending orders the master already has when the follower is attached. Nothing the master opens or places during a pause is ever copied.",
"default": false
},
"copy_pending": {
"type": "boolean",
"description": "Place the master's pending orders on the follower as pending orders, and follow their changes, rather than copying them once they fill. Needs both terminals on the current version.",
"default": false
},
"symbol_filter": {
"type": "string",
"enum": [
"all",
"include",
"exclude"
],
"description": "`all` copies every symbol, `include` only those in `symbols`, `exclude` all but them.",
"default": "all"
},
"symbols": {
"type": "array",
"items": {
"type": "string",
"maxLength": 32
},
"maxItems": 200,
"default": [],
"description": "The master's symbol names for `symbol_filter`, which needs at least one unless it is `all`. `XAUUSD` also covers decorated names such as `XAUUSD.m`."
},
"sessions": {
"type": "array",
"items": {
"$ref": "#/$defs/Session"
},
"maxItems": 14,
"default": [],
"description": "When new trades are copied; empty means any time. Closes and changes to copies already open are always copied."
},
"timezone": {
"type": "string",
"description": "The clock `sessions` are read on: `broker` (the master broker's server time, as its MetaTrader charts show it) or a time zone name such as `Europe/London`.",
"default": "broker"
},
"symbol_map": {
"type": "object",
"additionalProperties": {
"type": "string",
"maxLength": 32
},
"maxProperties": 200,
"default": {},
"description": "Master symbol to follower symbol, for names that don't match by themselves. Matching tries this map, then the same name, the name without the broker's decorations (`EURUSD.m`, `US30.cash`), then known aliases (`XAUUSD` and `GOLD`); anything still ambiguous is skipped, never guessed."
}
},
"required": [
"account_id"
],
"$defs": {
"Session": {
"type": "object",
"properties": {
"days": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 6
},
"minItems": 1,
"description": "0 is Monday, 6 Sunday."
},
"start": {
"type": "string",
"description": "`HH:MM`, 24-hour.",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
},
"end": {
"type": "string",
"description": "`HH:MM`. An end before its start runs past midnight.",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
}
},
"description": "A window in which new trades are copied.",
"required": [
"days",
"start",
"end"
]
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/algotradertools-add-follower"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.