v1

latestOpenAPI 3.0.12026-07-26171200932.8 KB
Agent Portfolios

Create User Token

Rate limit: 60 requests per 60 seconds. This is the default shared quota — it is shared with every other endpoint that has no dedicated limit, so requests across those endpoints all draw from the same budget.


[DEPRECATED — use POST /api/v2/agent-portfolios/{agentPortfolioId}/user-tokens (scope names) instead] Creates a new user token for the specified agent-portfolio.

post/api/v1/agent-portfolios/{agentPortfolioId}/user-tokens

Path parameters

agentPortfolioIdstring uuid required

The unique identifier of the agent-portfolio.

Headers

x-request-idstring uuid required
Example:9a7ffb4e-4989-455b-a00e-2c13a1dd5432

A unique request identifier.

x-api-keystring password required
Example:lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663

API key for authentication.

x-user-keystring password required
Example:eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_

User-specific authentication key.

Request body

userTokenNamestring required

A human-readable name to identify the user token.

scopeIdsinteger[]

[DEPRECATED — use scopeNames instead] The set of permission scope identifiers to grant to this token. Available scopes: 200 = etoro-public:real:read, 201 = etoro-public:demo:read, 202 = etoro-public:real:write, 203 = etoro-public:demo:write.

scopeNamesstring[]

The set of permission scope names (preferred; replaces the deprecated scopeIds). Provide either scopeNames or scopeIds. Available scopes: etoro-public:real:read, etoro-public:demo:read, etoro-public:real:write, etoro-public:demo:write.

ipsWhiteliststring[]

An optional set of IPv4 addresses allowed to use this token.

expiresAtstring date-time

An optional expiration date and time for the token in UTC.

Example request

{
  "userTokenName": "my-trading-token",
  "scopeIds": [
    211,
    212
  ],
  "scopeNames": [
    "etoro-public:trade.real:read",
    "etoro-public:trade.real:write"
  ],
  "ipsWhitelist": [
    "192.168.1.1"
  ],
  "expiresAt": "2026-12-31T23:59:59Z"
}

Response

User token created successfully

userTokenIdstring uuid

The unique identifier of the newly created user token.

userTokenstring

The generated user token secret. Only available at creation time.

userTokenNamestring

The display name of the user token.

clientIdstring uuid

The client identifier of the application the token is associated with.

ipsWhiteliststring[]

The IPv4 addresses from which the token is allowed to be used. Null or empty when unrestricted.

scopeNamesstring[]

The authorized scope names granted to the token.

expiresAtstring date-time nullable

The UTC expiration date of the token. Null when the token does not expire.

createdAtstring date-time

The UTC timestamp at which the token was created.

Example response

{
  "userTokenId": "f9e8d7c6-b5a4-3210-fedc-ba9876543210",
  "userToken": "sk_live_a1b2c3d4e5f6...",
  "userTokenName": "my-trading-token",
  "clientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "ipsWhitelist": [
    "192.168.1.1"
  ],
  "scopeNames": [
    "etoro-public:trade.real:read"
  ],
  "expiresAt": "2026-12-31T23:59:59Z",
  "createdAt": "2026-03-06T12:00:00Z"
}