eToro · Schema

CreateAgentPortfolioV2Request

Social TradingCopy TradingInvestingMarket DataPortfolio ManagementFintechTradingStocksCryptocurrencyETFs

Properties

Name Type Description
investmentAmountInUsd number The amount in USD deducted from the CALLER's account balance to copy-trade this agent-portfolio. This is NOT the agent-portfolio's own balance — the agent-portfolio receives a separate fixed virtual b
agentPortfolioName string A unique display name for the agent-portfolio (6-10 characters).
agentPortfolioDescription string An optional description of the agent-portfolio's purpose or strategy.
userTokenName string A human-readable name for the user token provisioned with the agent-portfolio.
scopeNames array The set of permission scope names to grant to the provisioned user token. Available scopes: etoro-public:trade.real:read, etoro-public:trade.real:write, etoro-public:trade.demo:read, etoro-public:trad
ipsWhitelist array An optional set of IPv4 addresses allowed to use the provisioned user token.
expiresAt string An optional expiration date and time (UTC) for the provisioned user token.
View JSON Schema on GitHub

JSON Schema

CreateAgentPortfolioV2Request.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/etoro/refs/heads/main/json-schema/CreateAgentPortfolioV2Request.json",
  "title": "CreateAgentPortfolioV2Request",
  "type": "object",
  "properties": {
    "investmentAmountInUsd": {
      "type": "number",
      "description": "The amount in USD deducted from the CALLER's account balance to copy-trade this agent-portfolio. This is NOT the agent-portfolio's own balance \u2014 the agent-portfolio receives a separate fixed virtual balance (returned as agentPortfolioVirtualBalance). Positions are mirrored proportionally: e.g. $2,000 with a $10,000 virtual balance = 20% position sizing.",
      "example": 2000
    },
    "agentPortfolioName": {
      "type": "string",
      "description": "A unique display name for the agent-portfolio (6-10 characters).",
      "example": "MyPort1"
    },
    "agentPortfolioDescription": {
      "type": "string",
      "description": "An optional description of the agent-portfolio's purpose or strategy.",
      "example": "My trading portfolio"
    },
    "userTokenName": {
      "type": "string",
      "description": "A human-readable name for the user token provisioned with the agent-portfolio.",
      "example": "my-trading-token"
    },
    "scopeNames": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The set of permission scope names to grant to the provisioned user token. Available scopes: etoro-public:trade.real:read, etoro-public:trade.real:write, etoro-public:trade.demo:read, etoro-public:trade.demo:write.",
      "example": [
        "etoro-public:trade.real:read",
        "etoro-public:trade.real:write"
      ]
    },
    "ipsWhitelist": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An optional set of IPv4 addresses allowed to use the provisioned user token.",
      "example": [
        "192.168.1.1"
      ]
    },
    "expiresAt": {
      "type": "string",
      "format": "date-time",
      "description": "An optional expiration date and time (UTC) for the provisioned user token.",
      "example": "2026-12-31T23:59:59Z"
    }
  },
  "required": [
    "investmentAmountInUsd",
    "agentPortfolioName",
    "userTokenName",
    "scopeNames"
  ]
}