---
title: "Get all master accounts with their slaves in a single call"
method: GET
path: "/rest/api/v1/accounts/masters"
tags: ["Account API"]
---

# Get all master accounts with their slaves in a single call

`GET /rest/api/v1/accounts/masters`

Returns every account that currently has at least one slave copying from it, either through a direct account-to-account copier or through a strategy of that account. This is the bulk alternative to calling GET /accounts/{accountId}/slaves per account: each entry contains the master account, its slave accounts (same payload as the per-account endpoint) and the slave count. Only direct slaves are listed, there is no transitive expansion: in a chain A -> B -> C you get one entry for A with slave B and one entry for B with slave C, so an intermediate account appears both as a master and as a slave. Deleted master and slave accounts are excluded, so an empty result means no account is acting as a master.

## Response `200`

OK

- MasterAccountSummaryDTO[]
  - `master` AccountDTO — The created account (only present when status is COMPLETED)
    - `accountInformation` AccountInformationDTO — Is synced every minute
      - `accountDuplicationInProjectDetected` boolean — Indicates whether an account duplication has been detected in this project
      - `accountMode` 'NETTING' | 'HEDGING' | 'EXCHANGE' — Account margin mode: HEDGING, NETTING, or EXCHANGE
      - `avgDrawdown` number — Average drawdown percentage during trading period (%)
      - `balance` number
      - `brokeTimeOffsetToUtc` integer
      - `configuredProxy` ProxyDTO — The configured proxy for this account. May differ from the currently used proxy if it's not working
        - `id` integer
        - `ipAddress` string
        - `region` ProxyRegionDTO
          - `id` integer, required
          - `name` string
        - `usedByAccounts` string[]
      - `connected` boolean
      - `credit` number — Only for MT4/MT5
      - `currency` string
      - `drawdown` number — The drawdown percentage of the account
      - `environment` 'LIVE' | 'DEMO' — Indicates the account environment: LIVE or DEMO. Testnet/sim/paper environments are reported as DEMO. Null if detection is not supported for this broker type
      - `equity` number
      - `expertAdvisorResources` ExpertAdvisorResourceDTO[] — Resource usage of the hosted expert advisor terminals of this account, one entry per running expert, keyed by feature id. Null when the account hosts none
        - `cpuPercent` number — CPU used by the hosted terminal as a share of one core in percent. The sample covers the whole terminal, not the expert alone. Zero unless the state is RUNNING
        - `featureId` string, uuid — The expert advisory feature this terminal belongs to
        - `lastError` string — Namespaced error code of the last failure, null while the expert runs
        - `memoryBytes` integer — Working set of the hosted terminal in bytes. Zero unless the state is RUNNING
        - `restartCount` integer — Restarts the node performed since it took over the terminal, a high value means the expert is flapping
        - `state` 'STOPPED' | 'STARTING' | 'RUNNING' | 'ERROR' — Lifecycle state of the hosted terminal as the node last observed it
      - `fallbackMode` boolean — The fallback mode is active (This means something is not working properly, and the system switches to the fallback mode)
      - `freeMargin` number
      - `historyDeactivated` boolean — Indicates if history fetching has been deactivated for this account
      - `isHyperactive` boolean — Indicates if the account is performing excessive trading activity. When true, history fetching may be disabled to reduce broker load
      - `isInvestorPassword` boolean
      - `isNative` boolean — Indicates if the account is using native mode
      - `latencyInMs` integer — Latency to the broker's access server
      - `leverage` integer
      - `maxDrawdown` number — Maximum drawdown percentage - worst peak-to-trough decline (%)
      - `missingSymbolMappings` MissingSymbolMappingDTO[] — List of missing symbol mappings for this account
        - `copierId` string, uuid
        - `fromAccount` string
        - `fromAccountId` string, uuid
        - `lastTimestampDetected` integer
        - `symbol` string
      - `openPositions` boolean — True if there is an open position (buy or sell)
      - `openPositionsCount` integer — Number of open positions (buy or sell)
      - `pendingApprovals` ApprovalDTO[]
        - `accountFromId` string, uuid, required — The account UUID
        - `ticket` integer, required — The ticket number of the position
        - `volume` number — You can override the volume (lots). If not specified, it will use the lot size specified by the copier
      - `pendingOrders` boolean — True if there is a pending order (buy limit, sell limit, etc
      - `pendingOrdersCount` integer — Number of pending orders (buy limit, sell limit, etc)
      - `positionMismatch` boolean — Indicates that the open positions between the master and slave accounts are not synchronized due to failed open or close operations
      - `profitTargetsStatus` ProfitTargetStatusDTO[]
        - `balanceLastUpdate` string, date-time
        - `profitTargetFeatureId` string, uuid
        - `profitTargetIsHit` boolean
        - `referenceBalance` number
      - `profitThisMonth` number
      - `profitThisWeek` number
      - `profitToday` number
      - `proxy` ProxyDTO — The configured proxy for this account. May differ from the currently used proxy if it's not working
        - `id` integer
        - `ipAddress` string
        - `region` ProxyRegionDTO
          - `id` integer, required
          - `name` string
        - `usedByAccounts` string[]
      - `riskLimitsStatus` RiskLimitStatusDTO[]
        - `balanceLastUpdate` string, date-time
        - `copierId` string, uuid — Set only when the scope is 'COPIER'. Id of the copier the limit belongs to.
        - `limitIsHit` boolean
        - `referenceBalance` number
        - `riskLimitId` string, uuid
        - `scope` 'ACCOUNT' | 'COPIER' — 'ACCOUNT' for a limit defined on the account, 'COPIER' for a limit defined on a copier.
      - `status` string
      - `unrealizedProfit` number
      - `usedMargin` number
      - `walletBalances` WalletDTO[]
        - `asset` string
        - `balance` number
      - `wrongCredentials` boolean
    - `alias` string
    - `callbackUrl` string — Optional callback URL for async processing, supported on create (POST) and update (PUT). When provided, the API returns 202 Accepted immediately and POSTs the result (AccountDTO or error) to this URL once processing completes. Only 1 request per project is processed at a time; additional requests are queued.
    - `closeUnmanagedPositions` boolean — When enabled, any open positions on the account that were originally opened by MetaCopier but are no longer managed, due to technical issues, will be automatically closed. However, this mechanism can occasionally result in false positives. If disabled, such unmanaged positions will remain open, and a notification will be sent to the notification center or to Telegram (if configured). In this case, manual intervention is required. We recommend keeping this option disabled to avoid accidental closures.
    - `created` string, date-time — ISO 8601
    - `ctraderClientId` string
    - `ctraderClientSecret` string
    - `dedicatedIp` FeatureDedicatedIpDTO — DTO for assigning a dedicated IP feature (account) (PRO)
      - `dedicatedProxyServerId` integer, required — Enter an dedicated proxy server id (see "FeatureDedicatedIpPoolDTO")
    - `deleted` string, date-time — ISO 8601
    - `failIfAccountExistsInProject` boolean — If true, the create-account call fails when the account already exists in the project
    - `hasActiveCopiers` boolean — Indicates whether this account has any active copiers. Returns true if at least one copier has active=true, false otherwise.
    - `hasDisabledCopiers` boolean — Indicates whether this account has any disabled only copiers. Returns true if at least one copier has active=false, false otherwise.
    - `hasMonitorOnlyCopiers` boolean — Indicates whether this account has any monitor-only copiers. Returns true if at least one copier is in monitor only mode (monitoring without copying trades), false otherwise.
    - `id` string, uuid
    - `labels` string[] — Set labels for your account. If null, this field will not add, update, or delete anything. To delete all labels, set this field to an empty list.
    - `loginAccountNumber` string — For Binance, Bybit, Bitget, BloFin, OKX, Tradovate and Alpaca leave it empty
    - `loginAccountPassword` string, required — For cTrader 'token|refreshToken'. For TradeStation 'token|refreshToken'. For Binance and Bybit 'apiKey|secretKey'. For Bitget, BloFin and OKX 'apiKey|secretKey|passphrase'. For Tradovate and Alpaca 'apiKey|secretKey'. Only fill this field if you want to update the password or at account creation. When updating the account, you can leave this field empty "" - you don't have to send the password every time.
    - `loginServer` string, required — Enter the server address, for example, ICMarketsSC-MT5-4 for MetaTrader, or the URL such as dxtrade.instantfunding.io for DXtrade or mtr-demo-prod.match-trader.com MatchTrader. For CTrader, live.ctraderapi.com:5035 or demo.ctraderapi.com:5035. For TradeLocker, live.tradelocker.com or demo.tradelocker.com. For Binance, Bybit, Bitget, BloFin and OKX 'live', 'testnet' or 'demo'. For TradeStation 'sim' or 'live'. For Tradovate 'demo' or 'live'. For Alpaca 'paper' or 'live'.
    - `myHomeIp` FeatureMyHomeIpDTO — DTO for defining a my home ip feature (project) (PRO)
      - `host` string, required — Your IP address or DNS hostname.
      - `httpPort` integer — The port number for HTTP proxy.
      - `password` string, required — The password for SOCKS/HTTP authentication.
      - `socksPort` integer — The port number for SOCKS proxy.
      - `username` string, required — The username for SOCKS/HTTP authentication.
    - `nativeMode` boolean — Indicates whether the integration runs in native mode (applies only to MetaTrader 4/5 connectors). If true, the solution operates via the official MetaTrader terminal (native). If false, it connects directly to the server without using the terminal (non-native). Non-native mode can achieve lower latency for high-frequency trading (HFT) strategies, but for 99% of typical use cases native mode is sufficiently fast. If the non-native mode fails or becomes unavailable, the system will automatically fall back to native mode. For all other connectors, the integration is always native.
    - `propFirm` boolean — Indicates whether this is a prop firm account.
    - `region` RegionDTO, required — You have only to set the id e.g 1 for new york. Example: {id:1}
      - `id` integer, required
      - `name` string
    - `skipCredentialCheck` boolean — Only used on create (POST). When set to true, skips credential validation during account creation. Use with caution, the account will be created without verifying login credentials.
    - `status` AccountStatusDTO — Read only
      - `id` integer, required
      - `name` string
    - `statusMessage` string
    - `tradingDisabled` boolean — When enabled, puts the account in read-only mode, preventing any new trades from being opened or existing trades from being modified or closed. Use this when you want to use the account as a read-only master.
    - `type` AccountTypeDTO, required — You have only to set the id e.g 1 for MT5, 2 for MT4, 3 for DXtrade, 4 for cTrader, 5 for TradeLocker, 6 for MatchTrader, 7 for Binance, 8 for Bybit, 9 for Bitget, 10 for BloFin, 11 for OKX, 12 for TradeStation, 13 for Tradovate and 14 for Alpaca. Example: {id:1}
      - `id` integer, required
      - `name` string
    - `validateCredentialsOnChange` boolean — Only used on update (PUT). When set to true and a new loginAccountPassword is supplied, the new credentials are verified against the broker before they are stored. The request fails with [WRONG_CREDENTIALS] if they are invalid, so no polling of accountInformation is needed. Adds several seconds to the request.
  - `slaveCount` integer
  - `slaves` AccountDTO[]
    - `accountInformation` AccountInformationDTO — Is synced every minute
      - `accountDuplicationInProjectDetected` boolean — Indicates whether an account duplication has been detected in this project
      - `accountMode` 'NETTING' | 'HEDGING' | 'EXCHANGE' — Account margin mode: HEDGING, NETTING, or EXCHANGE
      - `avgDrawdown` number — Average drawdown percentage during trading period (%)
      - `balance` number
      - `brokeTimeOffsetToUtc` integer
      - `configuredProxy` ProxyDTO — The configured proxy for this account. May differ from the currently used proxy if it's not working
        - `id` integer
        - `ipAddress` string
        - `region` ProxyRegionDTO
          - `id` integer, required
          - `name` string
        - `usedByAccounts` string[]
      - `connected` boolean
      - `credit` number — Only for MT4/MT5
      - `currency` string
      - `drawdown` number — The drawdown percentage of the account
      - `environment` 'LIVE' | 'DEMO' — Indicates the account environment: LIVE or DEMO. Testnet/sim/paper environments are reported as DEMO. Null if detection is not supported for this broker type
      - `equity` number
      - `expertAdvisorResources` ExpertAdvisorResourceDTO[] — Resource usage of the hosted expert advisor terminals of this account, one entry per running expert, keyed by feature id. Null when the account hosts none
        - `cpuPercent` number — CPU used by the hosted terminal as a share of one core in percent. The sample covers the whole terminal, not the expert alone. Zero unless the state is RUNNING
        - `featureId` string, uuid — The expert advisory feature this terminal belongs to
        - `lastError` string — Namespaced error code of the last failure, null while the expert runs
        - `memoryBytes` integer — Working set of the hosted terminal in bytes. Zero unless the state is RUNNING
        - `restartCount` integer — Restarts the node performed since it took over the terminal, a high value means the expert is flapping
        - `state` 'STOPPED' | 'STARTING' | 'RUNNING' | 'ERROR' — Lifecycle state of the hosted terminal as the node last observed it
      - `fallbackMode` boolean — The fallback mode is active (This means something is not working properly, and the system switches to the fallback mode)
      - `freeMargin` number
      - `historyDeactivated` boolean — Indicates if history fetching has been deactivated for this account
      - `isHyperactive` boolean — Indicates if the account is performing excessive trading activity. When true, history fetching may be disabled to reduce broker load
      - `isInvestorPassword` boolean
      - `isNative` boolean — Indicates if the account is using native mode
      - `latencyInMs` integer — Latency to the broker's access server
      - `leverage` integer
      - `maxDrawdown` number — Maximum drawdown percentage - worst peak-to-trough decline (%)
      - `missingSymbolMappings` MissingSymbolMappingDTO[] — List of missing symbol mappings for this account
        - `copierId` string, uuid
        - `fromAccount` string
        - `fromAccountId` string, uuid
        - `lastTimestampDetected` integer
        - `symbol` string
      - `openPositions` boolean — True if there is an open position (buy or sell)
      - `openPositionsCount` integer — Number of open positions (buy or sell)
      - `pendingApprovals` ApprovalDTO[]
        - `accountFromId` string, uuid, required — The account UUID
        - `ticket` integer, required — The ticket number of the position
        - `volume` number — You can override the volume (lots). If not specified, it will use the lot size specified by the copier
      - `pendingOrders` boolean — True if there is a pending order (buy limit, sell limit, etc
      - `pendingOrdersCount` integer — Number of pending orders (buy limit, sell limit, etc)
      - `positionMismatch` boolean — Indicates that the open positions between the master and slave accounts are not synchronized due to failed open or close operations
      - `profitTargetsStatus` ProfitTargetStatusDTO[]
        - `balanceLastUpdate` string, date-time
        - `profitTargetFeatureId` string, uuid
        - `profitTargetIsHit` boolean
        - `referenceBalance` number
      - `profitThisMonth` number
      - `profitThisWeek` number
      - `profitToday` number
      - `proxy` ProxyDTO — The configured proxy for this account. May differ from the currently used proxy if it's not working
        - `id` integer
        - `ipAddress` string
        - `region` ProxyRegionDTO
          - `id` integer, required
          - `name` string
        - `usedByAccounts` string[]
      - `riskLimitsStatus` RiskLimitStatusDTO[]
        - `balanceLastUpdate` string, date-time
        - `copierId` string, uuid — Set only when the scope is 'COPIER'. Id of the copier the limit belongs to.
        - `limitIsHit` boolean
        - `referenceBalance` number
        - `riskLimitId` string, uuid
        - `scope` 'ACCOUNT' | 'COPIER' — 'ACCOUNT' for a limit defined on the account, 'COPIER' for a limit defined on a copier.
      - `status` string
      - `unrealizedProfit` number
      - `usedMargin` number
      - `walletBalances` WalletDTO[]
        - `asset` string
        - `balance` number
      - `wrongCredentials` boolean
    - `alias` string
    - `callbackUrl` string — Optional callback URL for async processing, supported on create (POST) and update (PUT). When provided, the API returns 202 Accepted immediately and POSTs the result (AccountDTO or error) to this URL once processing completes. Only 1 request per project is processed at a time; additional requests are queued.
    - `closeUnmanagedPositions` boolean — When enabled, any open positions on the account that were originally opened by MetaCopier but are no longer managed, due to technical issues, will be automatically closed. However, this mechanism can occasionally result in false positives. If disabled, such unmanaged positions will remain open, and a notification will be sent to the notification center or to Telegram (if configured). In this case, manual intervention is required. We recommend keeping this option disabled to avoid accidental closures.
    - `created` string, date-time — ISO 8601
    - `ctraderClientId` string
    - `ctraderClientSecret` string
    - `dedicatedIp` FeatureDedicatedIpDTO — DTO for assigning a dedicated IP feature (account) (PRO)
      - `dedicatedProxyServerId` integer, required — Enter an dedicated proxy server id (see "FeatureDedicatedIpPoolDTO")
    - `deleted` string, date-time — ISO 8601
    - `failIfAccountExistsInProject` boolean — If true, the create-account call fails when the account already exists in the project
    - `hasActiveCopiers` boolean — Indicates whether this account has any active copiers. Returns true if at least one copier has active=true, false otherwise.
    - `hasDisabledCopiers` boolean — Indicates whether this account has any disabled only copiers. Returns true if at least one copier has active=false, false otherwise.
    - `hasMonitorOnlyCopiers` boolean — Indicates whether this account has any monitor-only copiers. Returns true if at least one copier is in monitor only mode (monitoring without copying trades), false otherwise.
    - `id` string, uuid
    - `labels` string[] — Set labels for your account. If null, this field will not add, update, or delete anything. To delete all labels, set this field to an empty list.
    - `loginAccountNumber` string — For Binance, Bybit, Bitget, BloFin, OKX, Tradovate and Alpaca leave it empty
    - `loginAccountPassword` string, required — For cTrader 'token|refreshToken'. For TradeStation 'token|refreshToken'. For Binance and Bybit 'apiKey|secretKey'. For Bitget, BloFin and OKX 'apiKey|secretKey|passphrase'. For Tradovate and Alpaca 'apiKey|secretKey'. Only fill this field if you want to update the password or at account creation. When updating the account, you can leave this field empty "" - you don't have to send the password every time.
    - `loginServer` string, required — Enter the server address, for example, ICMarketsSC-MT5-4 for MetaTrader, or the URL such as dxtrade.instantfunding.io for DXtrade or mtr-demo-prod.match-trader.com MatchTrader. For CTrader, live.ctraderapi.com:5035 or demo.ctraderapi.com:5035. For TradeLocker, live.tradelocker.com or demo.tradelocker.com. For Binance, Bybit, Bitget, BloFin and OKX 'live', 'testnet' or 'demo'. For TradeStation 'sim' or 'live'. For Tradovate 'demo' or 'live'. For Alpaca 'paper' or 'live'.
    - `myHomeIp` FeatureMyHomeIpDTO — DTO for defining a my home ip feature (project) (PRO)
      - `host` string, required — Your IP address or DNS hostname.
      - `httpPort` integer — The port number for HTTP proxy.
      - `password` string, required — The password for SOCKS/HTTP authentication.
      - `socksPort` integer — The port number for SOCKS proxy.
      - `username` string, required — The username for SOCKS/HTTP authentication.
    - `nativeMode` boolean — Indicates whether the integration runs in native mode (applies only to MetaTrader 4/5 connectors). If true, the solution operates via the official MetaTrader terminal (native). If false, it connects directly to the server without using the terminal (non-native). Non-native mode can achieve lower latency for high-frequency trading (HFT) strategies, but for 99% of typical use cases native mode is sufficiently fast. If the non-native mode fails or becomes unavailable, the system will automatically fall back to native mode. For all other connectors, the integration is always native.
    - `propFirm` boolean — Indicates whether this is a prop firm account.
    - `region` RegionDTO, required — You have only to set the id e.g 1 for new york. Example: {id:1}
      - `id` integer, required
      - `name` string
    - `skipCredentialCheck` boolean — Only used on create (POST). When set to true, skips credential validation during account creation. Use with caution, the account will be created without verifying login credentials.
    - `status` AccountStatusDTO — Read only
      - `id` integer, required
      - `name` string
    - `statusMessage` string
    - `tradingDisabled` boolean — When enabled, puts the account in read-only mode, preventing any new trades from being opened or existing trades from being modified or closed. Use this when you want to use the account as a read-only master.
    - `type` AccountTypeDTO, required — You have only to set the id e.g 1 for MT5, 2 for MT4, 3 for DXtrade, 4 for cTrader, 5 for TradeLocker, 6 for MatchTrader, 7 for Binance, 8 for Bybit, 9 for Bitget, 10 for BloFin, 11 for OKX, 12 for TradeStation, 13 for Tradovate and 14 for Alpaca. Example: {id:1}
      - `id` integer, required
      - `name` string
    - `validateCredentialsOnChange` boolean — Only used on update (PUT). When set to true and a new loginAccountPassword is supplied, the new credentials are verified against the broker before they are stored. The request fails with [WRONG_CREDENTIALS] if they are invalid, so no polling of accountInformation is needed. Adds several seconds to the request.

## Changes

- **2026-09-27** `71cbb8caf61e` — 2 info
  - added the optional property `items/master/accountInformation/expertAdvisorResources` to the response with the `200` status
  - added the optional property `items/slaves/items/accountInformation/expertAdvisorResources` to the response with the `200` status
- **2026-09-21** `959284ad3d51` — 6 info
  - added the optional property `items/master/accountInformation/riskLimitsStatus/items/copierId` to the response with the `200` status
  - added the optional property `items/master/accountInformation/riskLimitsStatus/items/scope` to the response with the `200` status
  - added the optional property `items/master/validateCredentialsOnChange` to the response with the `200` status
  - added the optional property `items/slaves/items/accountInformation/riskLimitsStatus/items/copierId` to the response with the `200` status
  - …2 more

[Change history](https://skmtc.dev/metacopier/apis/metacopier-api/changes/rest/api/v1/accounts/masters/get.md)

---

[API](https://skmtc.dev/metacopier/apis/metacopier-api.md) · [All operations](https://skmtc.dev/metacopier/apis/metacopier-api/llms.txt) · [OpenAPI document](https://skmtc.dev/metacopier/apis/metacopier-api/revisions/71cbb8caf61e?raw)
