Algo Trader Tools · Schema

AddFollower

TradingCloudMetaTraderCopy TradingFinance

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
View JSON Schema on GitHub

JSON Schema

algotradertools-add-follower-schema.json Raw ↑
{
  "$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.
All 92 tools →

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.