Skip to main content
POST
Create Agent Portfolio (v2)

Authorizations

x-api-key
string
header
default:lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663
required

API key of the application. Only valid together with the x-user-key header — the pair is an alternative to OAuth bearer authentication, never sent alongside it. The pair is granted the same permissions the operation's OAuth scopes describe.

Demo credential for trying the API from these docs: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663

x-user-key
string
header
default:eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_
required

User-specific authentication key. Only valid together with the x-api-key header — the pair is an alternative to OAuth bearer authentication, never sent alongside it.

Demo credential for trying the API from these docs: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_

Headers

x-request-id
string<uuid>
required

A unique request identifier.

Example:

"f98931cb-9572-4955-992c-c5eb900d6059"

Body

application/json
investmentAmountInUsd
number
required

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 balance (returned as agentPortfolioVirtualBalance). Positions are mirrored proportionally: e.g. $2,000 with a $10,000 virtual balance = 20% position sizing.

Example:

2000

agentPortfolioName
string
required

A unique display name for the agent-portfolio (6-10 characters).

Example:

"MyPort1"

userTokenName
string
required

A human-readable name for the user token provisioned with the agent-portfolio.

Example:

"my-trading-token"

scopeNames
string[]
required

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:
agentPortfolioDescription
string

An optional description of the agent-portfolio's purpose or strategy.

Example:

"My trading portfolio"

ipsWhitelist
string[]

An optional set of IPv4 addresses allowed to use the provisioned user token.

Example:
expiresAt
string<date-time>

An optional expiration date and time (UTC) for the provisioned user token.

Example:

"2026-12-31T23:59:59Z"

Response

Agent-portfolio and user token created successfully

agentPortfolioId
string<uuid>

The unique identifier of the newly created agent-portfolio.

Example:

"a1b2c3d4-e5f6-7890-abcd-ef1234567890"

agentPortfolioName
string

The display name assigned to the agent-portfolio.

Example:

"MyPort1"

agentPortfolioGcid
integer

The GCID associated with the agent-portfolio.

Example:

12345678

agentPortfolioVirtualBalance
number

The fixed virtual balance (in USD) that the agent-portfolio was funded with. The investmentAmountInUsd used to copy is proportional to this balance.

Example:

10000

mirrorId
integer

The Trading API mirror ID for this agent-portfolio's copy trade.

Example:

12345

userTokens
object[]

The user tokens generated during agent-portfolio creation.