Algo Trader Tools · Schema
Account
A MetaTrader 4 or 5 account, connected through its own hosted terminal.
TradingCloudMetaTraderCopy TradingFinance
Properties
| Name | Type | Description |
|---|---|---|
| id | string | The account's ID. |
| object | string | What this object is. |
| name | string | Its nickname, or the platform and login. |
| nickname | string | Empty when none was given. |
| platform | string | |
| server | string | The broker's server. |
| login | integer | The MetaTrader account number. |
| credential_kind | string | Which password it was connected with: `master` can trade, `investor` only reads. |
| can_trade | boolean | Whether it can place trades, so it can be a follower. Any account can be a master. |
| status | string | `connecting` while its terminal starts and logs in (two to three minutes), `connected` once it's ready, `error` when the login failed (see `error`), `disconnected` when its terminal lost the broker or |
| error | stringnull | Why it's in `error` or `disconnected`, if known. |
| released | boolean | Its terminal was released after the subscription lapsed. The account and its history are kept: reconnect it to resume. |
| proxy_type | stringnull | The proxy's protocol; null without one. |
| proxy_address | stringnull | The proxy its terminal reaches the broker through, as `host:port`; null for a direct connection. |
| role | stringnull | Whether a copier uses it, and how. An account is never both. |
| figures | object | |
| created_at | string |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/algotradertools/json-schema/algotradertools-account-schema.json",
"title": "Account",
"description": "A MetaTrader 4 or 5 account, connected through its own hosted terminal.",
"x-generated": "2026-11-08",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/algotradertools-openapi.json#/components/schemas/Account",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The account's ID.",
"format": "uuid"
},
"object": {
"type": "string",
"enum": [
"account"
],
"description": "What this object is."
},
"name": {
"type": "string",
"description": "Its nickname, or the platform and login."
},
"nickname": {
"type": "string",
"description": "Empty when none was given."
},
"platform": {
"type": "string",
"enum": [
"mt4",
"mt5"
]
},
"server": {
"type": "string",
"description": "The broker's server."
},
"login": {
"type": "integer",
"description": "The MetaTrader account number."
},
"credential_kind": {
"type": "string",
"enum": [
"investor",
"master"
],
"description": "Which password it was connected with: `master` can trade, `investor` only reads."
},
"can_trade": {
"type": "boolean",
"description": "Whether it can place trades, so it can be a follower. Any account can be a master."
},
"status": {
"type": "string",
"enum": [
"connecting",
"connected",
"error",
"disconnected"
],
"description": "`connecting` while its terminal starts and logs in (two to three minutes), `connected` once it's ready, `error` when the login failed (see `error`), `disconnected` when its terminal lost the broker or was released."
},
"error": {
"type": [
"string",
"null"
],
"description": "Why it's in `error` or `disconnected`, if known."
},
"released": {
"type": "boolean",
"description": "Its terminal was released after the subscription lapsed. The account and its history are kept: reconnect it to resume."
},
"proxy_type": {
"type": [
"string",
"null"
],
"enum": [
"socks5",
"socks4",
"http",
null
],
"description": "The proxy's protocol; null without one."
},
"proxy_address": {
"type": [
"string",
"null"
],
"description": "The proxy its terminal reaches the broker through, as `host:port`; null for a direct connection."
},
"role": {
"type": [
"string",
"null"
],
"enum": [
"master",
"follower",
null
],
"description": "Whether a copier uses it, and how. An account is never both."
},
"figures": {
"anyOf": [
{
"$ref": "#/$defs/AccountFigures"
},
{
"type": "null"
}
]
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"object",
"name",
"nickname",
"platform",
"server",
"login",
"credential_kind",
"can_trade",
"status",
"error",
"released",
"proxy_type",
"proxy_address",
"role",
"figures",
"created_at"
],
"$defs": {
"AccountFigures": {
"type": "object",
"properties": {
"balance": {
"type": "number"
},
"equity": {
"type": "number"
},
"profit": {
"type": "number",
"description": "Floating profit or loss of the open positions."
},
"margin": {
"type": "number"
},
"free_margin": {
"type": "number"
},
"margin_level": {
"type": [
"number",
"null"
],
"description": "In percent; null while no margin is used."
},
"currency": {
"type": "string",
"description": "As the broker reports it: usually ISO 4217, but also codes such as `USC` (US cents) or `USDT`."
},
"open_positions": {
"type": "integer"
},
"as_of": {
"type": "string",
"description": "When the terminal reported these figures.",
"format": "date-time"
},
"source": {
"type": "string",
"enum": [
"live",
"snapshot"
],
"description": "`live`: streamed by the copier engine, at most 30 seconds old. `snapshot`: the last stored snapshot, taken every few minutes."
}
},
"description": "The account's freshest figures.",
"required": [
"balance",
"equity",
"profit",
"margin",
"free_margin",
"margin_level",
"currency",
"open_positions",
"as_of",
"source"
]
}
}
}
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-account"
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.