Help us shape the future of Go! Take the 2026 Go Developer Survey

etoro

package module
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 29, 2026 License: MIT Imports: 11 Imported by: 0

README

go-etoro

Go Reference CI version license imported by

Unofficial Go clients for the eToro public API, generated from the specs eToro publishes.

Import path Package API Generator
github.com/psyb0t/go-etoro (repo root) etoro REST, https://public-api.etoro.com oapi-codegen
github.com/psyb0t/go-etoro/ws etorows WebSocket, wss://ws.etoro.com/ws gen-asyncapi

client.gen.go in the root and everything in ws/ except gen.go and config.yaml is generated. Don't edit it by hand, regenerate it.

Contents

Install

go get github.com/psyb0t/go-etoro

REST

Every endpoint in the spec has a typed method on ClientWithResponses. eToro authenticates with two headers, x-api-key and x-user-key, taken from the API key section of your account settings.

package main

import (
	"context"
	"net/http"
	"os"

	"github.com/google/uuid"
	"github.com/psyb0t/go-etoro"
)

func main() {
	auth := etoro.WithRequestEditorFn(func(_ context.Context, req *http.Request) error {
		req.Header.Set("x-api-key", os.Getenv("ETORO_API_KEY"))
		req.Header.Set("x-user-key", os.Getenv("ETORO_USER_KEY"))

		return nil
	})

	client, err := etoro.NewClientWithResponses("https://public-api.etoro.com", auth)
	if err != nil {
		panic(err)
	}

	res, err := client.GetBalancesWithResponse(
		context.Background(),
		&etoro.GetBalancesParams{XRequestId: uuid.New()},
	)
	if err != nil {
		panic(err)
	}

	_ = res.JSON200
}

The full API, with the spec's descriptions as doc comments, is in the Go reference and in go doc github.com/psyb0t/go-etoro (go doc github.com/psyb0t/go-etoro/ws for the WebSocket package).

WebSocket

etorows is a typed client for the WebSocket API. It sends the authenticate, subscribe and unsubscribe requests, and decodes the instrument rate, candle and market status pushes, the order and position updates, and the operation responses. Every message is checked against eToro's schema both ways.

package main

import (
	"context"
	"crypto/rand"
	"log/slog"
	"os"

	"github.com/psyb0t/gen-asyncapi/asyncapirt/gorillaws"
	"github.com/psyb0t/go-etoro/ws"
)

type handler struct {
	etorows.UnimplementedHandler
}

func (handler) HandleInstrumentRateMessage(
	ctx context.Context,
	envelope etorows.InstrumentRateEnvelope,
) error {
	for _, item := range envelope.Messages {
		rate, err := item.ContentValue()
		if err != nil {
			return err
		}

		slog.InfoContext(ctx, "rate", "topic", item.Topic, "ask", *rate.Ask)
	}

	return nil
}

func main() {
	ctx := context.Background()

	conn, err := gorillaws.Dial(ctx, etorows.ServerEtoroURL)
	if err != nil {
		panic(err)
	}

	client := etorows.NewClient(conn)
	defer client.Close()

	err = client.Authenticate(ctx, etorows.AuthenticateEnvelope{
		ID:        rand.Text(),
		Operation: "Authenticate",
		Data: etorows.AuthenticateData{
			APIKey:  os.Getenv("ETORO_API_KEY"),
			UserKey: os.Getenv("ETORO_USER_KEY"),
		},
	})
	if err != nil {
		panic(err)
	}

	err = client.Subscribe(ctx, etorows.SubscribeEnvelope{
		ID:        rand.Text(),
		Operation: "Subscribe",
		Data:      etorows.SubscribeData{Topics: []string{"instrument:1001"}},
	})
	if err != nil {
		panic(err)
	}

	if err := client.Run(ctx, handler{}); err != nil {
		panic(err)
	}
}

Push frames are envelopes whose items carry a type and a JSON-encoded content string; ContentValue() decodes and checks it. Rate values arrive as strings on the wire ("1.25"), so the InstrumentRate fields are strings too.

Pushes are told apart by their type; both order update types go to HandleOrderUpdateMessage. An envelope with a type the spec doesn't list goes to HandleUnknownMessage; the embedded UnimplementedHandler logs a warning and keeps reading.

Regenerating

eToro's specs are not committed. make generate downloads the current OpenAPI and AsyncAPI documents into the gitignored api/ directory and regenerates both packages:

make generate

Each package's gen.go declares its own steps, so make generate is just go generate ./...:

  • gen.go in the root downloads openapi.json and runs oapi-codegen with config.yaml.
  • ws/gen.go downloads asyncapi.json, runs scripts/match-wire-types.sh, and runs gen-asyncapi with ws/config.yaml. The match step turns the number fields of every schema whose description says its values arrive as JSON strings, such as InstrumentRate, into strings, so real frames decode.

.github/workflows/regen.yml does the same every day in CI. When the new spec changes the client, it runs make lint, make test and make sec. If a check fails, Claude edits the code and the checks run again, up to three times, and a review step reads the result. A passing change is committed with a CHANGELOG entry and tagged as the next release: a patch version for fixes and additions, a minor version for breaking changes.

Agent integrations

The skill teaches a coding agent how to use go-etoro when it writes Go. It works in any agent that reads .agents/skills/, and installs natively in the clients below.

Claude Code
claude plugin marketplace add psyb0t/agents
claude plugin install go-etoro@psyb0t
Codex
codex plugin marketplace add psyb0t/agents
codex plugin add go-etoro@psyb0t

Codex also picks the skill up with no install in any checkout of this repo.

OpenClaw

The skill is published to ClawHub on every release:

openclaw skills install @psyb0t/go-etoro

Development

Every command runs in the Dockerfile.dev image. The host needs only Docker and Make.

make help      # list targets
make dep       # go mod tidy + vendor
make lint      # shellcheck, shfmt, go fix, golangci-lint
make test      # go test -race
make sec       # gitleaks, govulncheck, semgrep
make generate  # download the specs and regenerate

License

MIT. The generated code comes from eToro's published API specifications. The specifications themselves are not redistributed here.

Documentation

Overview

Package etoro provides primitives to interact with the openapi HTTP API.

Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.8.0 DO NOT EDIT.

Package etoro is a Go client for the eToro public REST API, generated with oapi-codegen from the OpenAPI document eToro publishes. The WebSocket client lives in the ws subpackage.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCheckCopyTradingEligibilityDemoRequest

func NewCheckCopyTradingEligibilityDemoRequest(server string, params *CheckCopyTradingEligibilityDemoParams, body CheckCopyTradingEligibilityDemoJSONRequestBody) (*http.Request, error)

NewCheckCopyTradingEligibilityDemoRequest calls the generic CheckCopyTradingEligibilityDemo builder with application/json body

func NewCheckCopyTradingEligibilityDemoRequestWithBody

func NewCheckCopyTradingEligibilityDemoRequestWithBody(server string, params *CheckCopyTradingEligibilityDemoParams, contentType string, body io.Reader) (*http.Request, error)

NewCheckCopyTradingEligibilityDemoRequestWithBody constructs an http.Request for the CheckCopyTradingEligibilityDemo method, with any body, and a specified content type

func NewCheckCopyTradingEligibilityRequest

func NewCheckCopyTradingEligibilityRequest(server string, params *CheckCopyTradingEligibilityParams, body CheckCopyTradingEligibilityJSONRequestBody) (*http.Request, error)

NewCheckCopyTradingEligibilityRequest calls the generic CheckCopyTradingEligibility builder with application/json body

func NewCheckCopyTradingEligibilityRequestWithBody

func NewCheckCopyTradingEligibilityRequestWithBody(server string, params *CheckCopyTradingEligibilityParams, contentType string, body io.Reader) (*http.Request, error)

NewCheckCopyTradingEligibilityRequestWithBody constructs an http.Request for the CheckCopyTradingEligibility method, with any body, and a specified content type

func NewCloseCopyTradingDemoRequest

func NewCloseCopyTradingDemoRequest(server string, params *CloseCopyTradingDemoParams) (*http.Request, error)

NewCloseCopyTradingDemoRequest constructs an http.Request for the CloseCopyTradingDemo method

func NewCloseCopyTradingRequest

func NewCloseCopyTradingRequest(server string, params *CloseCopyTradingParams) (*http.Request, error)

NewCloseCopyTradingRequest constructs an http.Request for the CloseCopyTrading method

func NewCloseCopyTradingViaPostDemoRequest

func NewCloseCopyTradingViaPostDemoRequest(server string, params *CloseCopyTradingViaPostDemoParams, body CloseCopyTradingViaPostDemoJSONRequestBody) (*http.Request, error)

NewCloseCopyTradingViaPostDemoRequest calls the generic CloseCopyTradingViaPostDemo builder with application/json body

func NewCloseCopyTradingViaPostDemoRequestWithBody

func NewCloseCopyTradingViaPostDemoRequestWithBody(server string, params *CloseCopyTradingViaPostDemoParams, contentType string, body io.Reader) (*http.Request, error)

NewCloseCopyTradingViaPostDemoRequestWithBody constructs an http.Request for the CloseCopyTradingViaPostDemo method, with any body, and a specified content type

func NewCloseCopyTradingViaPostRequest

func NewCloseCopyTradingViaPostRequest(server string, params *CloseCopyTradingViaPostParams, body CloseCopyTradingViaPostJSONRequestBody) (*http.Request, error)

NewCloseCopyTradingViaPostRequest calls the generic CloseCopyTradingViaPost builder with application/json body

func NewCloseCopyTradingViaPostRequestWithBody

func NewCloseCopyTradingViaPostRequestWithBody(server string, params *CloseCopyTradingViaPostParams, contentType string, body io.Reader) (*http.Request, error)

NewCloseCopyTradingViaPostRequestWithBody constructs an http.Request for the CloseCopyTradingViaPost method, with any body, and a specified content type

func NewCreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Request

func NewCreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Request(server string, agentPortfolioId openapi_types.UUID, params *CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Params, body CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2JSONRequestBody) (*http.Request, error)

NewCreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Request calls the generic CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2 builder with application/json body

func NewCreateAgentPortfoliosByAgentPortfolioIdUserTokensV2RequestWithBody

func NewCreateAgentPortfoliosByAgentPortfolioIdUserTokensV2RequestWithBody(server string, agentPortfolioId openapi_types.UUID, params *CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Params, contentType string, body io.Reader) (*http.Request, error)

NewCreateAgentPortfoliosByAgentPortfolioIdUserTokensV2RequestWithBody constructs an http.Request for the CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2 method, with any body, and a specified content type

func NewCreateAgentPortfoliosV2Request

func NewCreateAgentPortfoliosV2Request(server string, params *CreateAgentPortfoliosV2Params, body CreateAgentPortfoliosV2JSONRequestBody) (*http.Request, error)

NewCreateAgentPortfoliosV2Request calls the generic CreateAgentPortfoliosV2 builder with application/json body

func NewCreateAgentPortfoliosV2RequestWithBody

func NewCreateAgentPortfoliosV2RequestWithBody(server string, params *CreateAgentPortfoliosV2Params, contentType string, body io.Reader) (*http.Request, error)

NewCreateAgentPortfoliosV2RequestWithBody constructs an http.Request for the CreateAgentPortfoliosV2 method, with any body, and a specified content type

func NewCreateApplicationsRequest

func NewCreateApplicationsRequest(server string, params *CreateApplicationsParams, body CreateApplicationsJSONRequestBody) (*http.Request, error)

NewCreateApplicationsRequest calls the generic CreateApplications builder with application/json body

func NewCreateApplicationsRequestWithBody

func NewCreateApplicationsRequestWithBody(server string, params *CreateApplicationsParams, contentType string, body io.Reader) (*http.Request, error)

NewCreateApplicationsRequestWithBody constructs an http.Request for the CreateApplications method, with any body, and a specified content type

func NewCreateMySubAccountRequest

func NewCreateMySubAccountRequest(server string, params *CreateMySubAccountParams, body CreateMySubAccountJSONRequestBody) (*http.Request, error)

NewCreateMySubAccountRequest calls the generic CreateMySubAccount builder with application/json body

func NewCreateMySubAccountRequestWithBody

func NewCreateMySubAccountRequestWithBody(server string, params *CreateMySubAccountParams, contentType string, body io.Reader) (*http.Request, error)

NewCreateMySubAccountRequestWithBody constructs an http.Request for the CreateMySubAccount method, with any body, and a specified content type

func NewCreateSubAccountMoneyTransferRequest

func NewCreateSubAccountMoneyTransferRequest(server string, params *CreateSubAccountMoneyTransferParams, body CreateSubAccountMoneyTransferJSONRequestBody) (*http.Request, error)

NewCreateSubAccountMoneyTransferRequest calls the generic CreateSubAccountMoneyTransfer builder with application/json body

func NewCreateSubAccountMoneyTransferRequestWithBody

func NewCreateSubAccountMoneyTransferRequestWithBody(server string, params *CreateSubAccountMoneyTransferParams, contentType string, body io.Reader) (*http.Request, error)

NewCreateSubAccountMoneyTransferRequestWithBody constructs an http.Request for the CreateSubAccountMoneyTransfer method, with any body, and a specified content type

func NewCreateSubAccountUserTokenRequest

func NewCreateSubAccountUserTokenRequest(server string, params *CreateSubAccountUserTokenParams, body CreateSubAccountUserTokenJSONRequestBody) (*http.Request, error)

NewCreateSubAccountUserTokenRequest calls the generic CreateSubAccountUserToken builder with application/json body

func NewCreateSubAccountUserTokenRequestWithBody

func NewCreateSubAccountUserTokenRequestWithBody(server string, params *CreateSubAccountUserTokenParams, contentType string, body io.Reader) (*http.Request, error)

NewCreateSubAccountUserTokenRequestWithBody constructs an http.Request for the CreateSubAccountUserToken method, with any body, and a specified content type

func NewCreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdRequest

func NewCreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdRequest(server string, positionId int64, params *CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdParams, body CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdJSONRequestBody) (*http.Request, error)

NewCreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdRequest calls the generic CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId builder with application/json body

func NewCreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdRequestWithBody

func NewCreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdRequestWithBody(server string, positionId int64, params *CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdParams, contentType string, body io.Reader) (*http.Request, error)

NewCreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdRequestWithBody constructs an http.Request for the CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId method, with any body, and a specified content type

func NewCreateTradingExecutionDemoOrdersRequest

func NewCreateTradingExecutionDemoOrdersRequest(server string, params *CreateTradingExecutionDemoOrdersParams, body CreateTradingExecutionDemoOrdersJSONRequestBody) (*http.Request, error)

NewCreateTradingExecutionDemoOrdersRequest calls the generic CreateTradingExecutionDemoOrders builder with application/json body

func NewCreateTradingExecutionDemoOrdersRequestWithBody

func NewCreateTradingExecutionDemoOrdersRequestWithBody(server string, params *CreateTradingExecutionDemoOrdersParams, contentType string, body io.Reader) (*http.Request, error)

NewCreateTradingExecutionDemoOrdersRequestWithBody constructs an http.Request for the CreateTradingExecutionDemoOrders method, with any body, and a specified content type

func NewCreateTradingExecutionDemoOrdersV3Request

func NewCreateTradingExecutionDemoOrdersV3Request(server string, params *CreateTradingExecutionDemoOrdersV3Params, body CreateTradingExecutionDemoOrdersV3JSONRequestBody) (*http.Request, error)

NewCreateTradingExecutionDemoOrdersV3Request calls the generic CreateTradingExecutionDemoOrdersV3 builder with application/json body

func NewCreateTradingExecutionDemoOrdersV3RequestWithBody

func NewCreateTradingExecutionDemoOrdersV3RequestWithBody(server string, params *CreateTradingExecutionDemoOrdersV3Params, contentType string, body io.Reader) (*http.Request, error)

NewCreateTradingExecutionDemoOrdersV3RequestWithBody constructs an http.Request for the CreateTradingExecutionDemoOrdersV3 method, with any body, and a specified content type

func NewCreateTradingExecutionMarketCloseOrdersPositionsByPositionIdRequest

func NewCreateTradingExecutionMarketCloseOrdersPositionsByPositionIdRequest(server string, positionId int64, params *CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdParams, body CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdJSONRequestBody) (*http.Request, error)

NewCreateTradingExecutionMarketCloseOrdersPositionsByPositionIdRequest calls the generic CreateTradingExecutionMarketCloseOrdersPositionsByPositionId builder with application/json body

func NewCreateTradingExecutionMarketCloseOrdersPositionsByPositionIdRequestWithBody

func NewCreateTradingExecutionMarketCloseOrdersPositionsByPositionIdRequestWithBody(server string, positionId int64, params *CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdParams, contentType string, body io.Reader) (*http.Request, error)

NewCreateTradingExecutionMarketCloseOrdersPositionsByPositionIdRequestWithBody constructs an http.Request for the CreateTradingExecutionMarketCloseOrdersPositionsByPositionId method, with any body, and a specified content type

func NewCreateTradingExecutionOrdersRequest

func NewCreateTradingExecutionOrdersRequest(server string, params *CreateTradingExecutionOrdersParams, body CreateTradingExecutionOrdersJSONRequestBody) (*http.Request, error)

NewCreateTradingExecutionOrdersRequest calls the generic CreateTradingExecutionOrders builder with application/json body

func NewCreateTradingExecutionOrdersRequestWithBody

func NewCreateTradingExecutionOrdersRequestWithBody(server string, params *CreateTradingExecutionOrdersParams, contentType string, body io.Reader) (*http.Request, error)

NewCreateTradingExecutionOrdersRequestWithBody constructs an http.Request for the CreateTradingExecutionOrders method, with any body, and a specified content type

func NewCreateTradingExecutionOrdersV3Request

func NewCreateTradingExecutionOrdersV3Request(server string, params *CreateTradingExecutionOrdersV3Params, body CreateTradingExecutionOrdersV3JSONRequestBody) (*http.Request, error)

NewCreateTradingExecutionOrdersV3Request calls the generic CreateTradingExecutionOrdersV3 builder with application/json body

func NewCreateTradingExecutionOrdersV3RequestWithBody

func NewCreateTradingExecutionOrdersV3RequestWithBody(server string, params *CreateTradingExecutionOrdersV3Params, contentType string, body io.Reader) (*http.Request, error)

NewCreateTradingExecutionOrdersV3RequestWithBody constructs an http.Request for the CreateTradingExecutionOrdersV3 method, with any body, and a specified content type

func NewDeleteAgentPortfoliosByAgentPortfolioIdRequest

func NewDeleteAgentPortfoliosByAgentPortfolioIdRequest(server string, agentPortfolioId openapi_types.UUID, params *DeleteAgentPortfoliosByAgentPortfolioIdParams) (*http.Request, error)

NewDeleteAgentPortfoliosByAgentPortfolioIdRequest constructs an http.Request for the DeleteAgentPortfoliosByAgentPortfolioId method

func NewDeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdRequest

func NewDeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdRequest(server string, agentPortfolioId openapi_types.UUID, userTokenId openapi_types.UUID, params *DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdParams) (*http.Request, error)

NewDeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdRequest constructs an http.Request for the DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenId method

func NewDeleteApplicationsByClientIdRequest

func NewDeleteApplicationsByClientIdRequest(server string, clientId openapi_types.UUID, params *DeleteApplicationsByClientIdParams) (*http.Request, error)

NewDeleteApplicationsByClientIdRequest constructs an http.Request for the DeleteApplicationsByClientId method

func NewDeletePriceAlertsByAlertIdRequest

func NewDeletePriceAlertsByAlertIdRequest(server string, alertId openapi_types.UUID, params *DeletePriceAlertsByAlertIdParams) (*http.Request, error)

NewDeletePriceAlertsByAlertIdRequest constructs an http.Request for the DeletePriceAlertsByAlertId method

func NewDeleteSubAccountUserTokenRequest

func NewDeleteSubAccountUserTokenRequest(server string, userTokenId openapi_types.UUID, params *DeleteSubAccountUserTokenParams) (*http.Request, error)

NewDeleteSubAccountUserTokenRequest constructs an http.Request for the DeleteSubAccountUserToken method

func NewDeleteTradingExecutionDemoMarketCloseOrdersByOrderIdRequest

func NewDeleteTradingExecutionDemoMarketCloseOrdersByOrderIdRequest(server string, orderId int64, params *DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdParams) (*http.Request, error)

NewDeleteTradingExecutionDemoMarketCloseOrdersByOrderIdRequest constructs an http.Request for the DeleteTradingExecutionDemoMarketCloseOrdersByOrderId method

func NewDeleteTradingExecutionDemoOrdersByOrderIdRequest

func NewDeleteTradingExecutionDemoOrdersByOrderIdRequest(server string, orderId int64, params *DeleteTradingExecutionDemoOrdersByOrderIdParams) (*http.Request, error)

NewDeleteTradingExecutionDemoOrdersByOrderIdRequest constructs an http.Request for the DeleteTradingExecutionDemoOrdersByOrderId method

func NewDeleteTradingExecutionDemoOrdersByOrderIdV3Request

func NewDeleteTradingExecutionDemoOrdersByOrderIdV3Request(server string, orderId int64, params *DeleteTradingExecutionDemoOrdersByOrderIdV3Params) (*http.Request, error)

NewDeleteTradingExecutionDemoOrdersByOrderIdV3Request constructs an http.Request for the DeleteTradingExecutionDemoOrdersByOrderIdV3 method

func NewDeleteTradingExecutionMarketCloseOrdersByOrderIdRequest

func NewDeleteTradingExecutionMarketCloseOrdersByOrderIdRequest(server string, orderId int64, params *DeleteTradingExecutionMarketCloseOrdersByOrderIdParams) (*http.Request, error)

NewDeleteTradingExecutionMarketCloseOrdersByOrderIdRequest constructs an http.Request for the DeleteTradingExecutionMarketCloseOrdersByOrderId method

func NewDeleteTradingExecutionOrdersByOrderIdRequest

func NewDeleteTradingExecutionOrdersByOrderIdRequest(server string, orderId int64, params *DeleteTradingExecutionOrdersByOrderIdParams) (*http.Request, error)

NewDeleteTradingExecutionOrdersByOrderIdRequest constructs an http.Request for the DeleteTradingExecutionOrdersByOrderId method

func NewDeleteTradingExecutionOrdersByOrderIdV3Request

func NewDeleteTradingExecutionOrdersByOrderIdV3Request(server string, orderId int64, params *DeleteTradingExecutionOrdersByOrderIdV3Params) (*http.Request, error)

NewDeleteTradingExecutionOrdersByOrderIdV3Request constructs an http.Request for the DeleteTradingExecutionOrdersByOrderIdV3 method

func NewDeleteWatchlistsByWatchlistIdItemsRequest

func NewDeleteWatchlistsByWatchlistIdItemsRequest(server string, watchlistId string, params *DeleteWatchlistsByWatchlistIdItemsParams, body DeleteWatchlistsByWatchlistIdItemsJSONRequestBody) (*http.Request, error)

NewDeleteWatchlistsByWatchlistIdItemsRequest calls the generic DeleteWatchlistsByWatchlistIdItems builder with application/json body

func NewDeleteWatchlistsByWatchlistIdItemsRequestWithBody

func NewDeleteWatchlistsByWatchlistIdItemsRequestWithBody(server string, watchlistId string, params *DeleteWatchlistsByWatchlistIdItemsParams, contentType string, body io.Reader) (*http.Request, error)

NewDeleteWatchlistsByWatchlistIdItemsRequestWithBody constructs an http.Request for the DeleteWatchlistsByWatchlistIdItems method, with any body, and a specified content type

func NewDeleteWatchlistsByWatchlistIdRequest

func NewDeleteWatchlistsByWatchlistIdRequest(server string, watchlistId string, params *DeleteWatchlistsByWatchlistIdParams) (*http.Request, error)

NewDeleteWatchlistsByWatchlistIdRequest constructs an http.Request for the DeleteWatchlistsByWatchlistId method

func NewGetAgentPortfoliosRequest

func NewGetAgentPortfoliosRequest(server string, params *GetAgentPortfoliosParams) (*http.Request, error)

NewGetAgentPortfoliosRequest constructs an http.Request for the GetAgentPortfolios method

func NewGetAgentPortfoliosScopesRequest

func NewGetAgentPortfoliosScopesRequest(server string, params *GetAgentPortfoliosScopesParams) (*http.Request, error)

NewGetAgentPortfoliosScopesRequest constructs an http.Request for the GetAgentPortfoliosScopes method

func NewGetAggregatedPortfolioDemoRequest

func NewGetAggregatedPortfolioDemoRequest(server string, params *GetAggregatedPortfolioDemoParams) (*http.Request, error)

NewGetAggregatedPortfolioDemoRequest constructs an http.Request for the GetAggregatedPortfolioDemo method

func NewGetAggregatedPortfolioRequest

func NewGetAggregatedPortfolioRequest(server string, params *GetAggregatedPortfolioParams) (*http.Request, error)

NewGetAggregatedPortfolioRequest constructs an http.Request for the GetAggregatedPortfolio method

func NewGetApplicationsRequest

func NewGetApplicationsRequest(server string, params *GetApplicationsParams) (*http.Request, error)

NewGetApplicationsRequest constructs an http.Request for the GetApplications method

func NewGetAssetsHistoryRequest

func NewGetAssetsHistoryRequest(server string, username string, params *GetAssetsHistoryParams) (*http.Request, error)

NewGetAssetsHistoryRequest constructs an http.Request for the GetAssetsHistory method

func NewGetBalanceByAccountRequest

func NewGetBalanceByAccountRequest(server string, accountType AccountTypePathParam, accountId string, params *GetBalanceByAccountParams) (*http.Request, error)

NewGetBalanceByAccountRequest constructs an http.Request for the GetBalanceByAccount method

func NewGetBalancesByAccountTypeRequest

func NewGetBalancesByAccountTypeRequest(server string, accountType AccountTypePathParam, params *GetBalancesByAccountTypeParams) (*http.Request, error)

NewGetBalancesByAccountTypeRequest constructs an http.Request for the GetBalancesByAccountType method

func NewGetBalancesRequest

func NewGetBalancesRequest(server string, params *GetBalancesParams) (*http.Request, error)

NewGetBalancesRequest constructs an http.Request for the GetBalances method

func NewGetClosedPositionEventsHistoryRequest

func NewGetClosedPositionEventsHistoryRequest(server string, params *GetClosedPositionEventsHistoryParams) (*http.Request, error)

NewGetClosedPositionEventsHistoryRequest constructs an http.Request for the GetClosedPositionEventsHistory method

func NewGetClubsRequest

func NewGetClubsRequest(server string, params *GetClubsParams) (*http.Request, error)

NewGetClubsRequest constructs an http.Request for the GetClubs method

func NewGetCopyTradingStatusDemoRequest

func NewGetCopyTradingStatusDemoRequest(server string, referenceId string, params *GetCopyTradingStatusDemoParams) (*http.Request, error)

NewGetCopyTradingStatusDemoRequest constructs an http.Request for the GetCopyTradingStatusDemo method

func NewGetCopyTradingStatusRequest

func NewGetCopyTradingStatusRequest(server string, referenceId string, params *GetCopyTradingStatusParams) (*http.Request, error)

NewGetCopyTradingStatusRequest constructs an http.Request for the GetCopyTradingStatus method

func NewGetCostDemoRequest

func NewGetCostDemoRequest(server string, params *GetCostDemoParams, body GetCostDemoJSONRequestBody) (*http.Request, error)

NewGetCostDemoRequest calls the generic GetCostDemo builder with application/json body

func NewGetCostDemoRequestWithBody

func NewGetCostDemoRequestWithBody(server string, params *GetCostDemoParams, contentType string, body io.Reader) (*http.Request, error)

NewGetCostDemoRequestWithBody constructs an http.Request for the GetCostDemo method, with any body, and a specified content type

func NewGetCostRequest

func NewGetCostRequest(server string, params *GetCostParams, body GetCostJSONRequestBody) (*http.Request, error)

NewGetCostRequest calls the generic GetCost builder with application/json body

func NewGetCostRequestWithBody

func NewGetCostRequestWithBody(server string, params *GetCostParams, contentType string, body io.Reader) (*http.Request, error)

NewGetCostRequestWithBody constructs an http.Request for the GetCost method, with any body, and a specified content type

func NewGetCuratedListsRequest

func NewGetCuratedListsRequest(server string, params *GetCuratedListsParams) (*http.Request, error)

NewGetCuratedListsRequest constructs an http.Request for the GetCuratedLists method

func NewGetExposureHistoryRequest

func NewGetExposureHistoryRequest(server string, username string, params *GetExposureHistoryParams) (*http.Request, error)

NewGetExposureHistoryRequest constructs an http.Request for the GetExposureHistory method

func NewGetGainHistoryRequest

func NewGetGainHistoryRequest(server string, username string, granularity GetGainHistoryParamsGranularity, params *GetGainHistoryParams) (*http.Request, error)

NewGetGainHistoryRequest constructs an http.Request for the GetGainHistory method

func NewGetHistoricalBalanceByAccountRequest

func NewGetHistoricalBalanceByAccountRequest(server string, accountType AccountTypePathParam, accountId string, params *GetHistoricalBalanceByAccountParams) (*http.Request, error)

NewGetHistoricalBalanceByAccountRequest constructs an http.Request for the GetHistoricalBalanceByAccount method

func NewGetHistoricalBalancesByAccountTypeRequest

func NewGetHistoricalBalancesByAccountTypeRequest(server string, accountType AccountTypePathParam, params *GetHistoricalBalancesByAccountTypeParams) (*http.Request, error)

NewGetHistoricalBalancesByAccountTypeRequest constructs an http.Request for the GetHistoricalBalancesByAccountType method

func NewGetHistoricalBalancesRequest

func NewGetHistoricalBalancesRequest(server string, params *GetHistoricalBalancesParams) (*http.Request, error)

NewGetHistoricalBalancesRequest constructs an http.Request for the GetHistoricalBalances method

func NewGetImpressionsTopassetsUserByGcidRequest

func NewGetImpressionsTopassetsUserByGcidRequest(server string, gcid int32, params *GetImpressionsTopassetsUserByGcidParams) (*http.Request, error)

NewGetImpressionsTopassetsUserByGcidRequest constructs an http.Request for the GetImpressionsTopassetsUserByGcid method

func NewGetInstrumentEligibilityDemoRequest

func NewGetInstrumentEligibilityDemoRequest(server string, params *GetInstrumentEligibilityDemoParams, body GetInstrumentEligibilityDemoJSONRequestBody) (*http.Request, error)

NewGetInstrumentEligibilityDemoRequest calls the generic GetInstrumentEligibilityDemo builder with application/json body

func NewGetInstrumentEligibilityDemoRequestWithBody

func NewGetInstrumentEligibilityDemoRequestWithBody(server string, params *GetInstrumentEligibilityDemoParams, contentType string, body io.Reader) (*http.Request, error)

NewGetInstrumentEligibilityDemoRequestWithBody constructs an http.Request for the GetInstrumentEligibilityDemo method, with any body, and a specified content type

func NewGetInstrumentEligibilityRequest

func NewGetInstrumentEligibilityRequest(server string, params *GetInstrumentEligibilityParams, body GetInstrumentEligibilityJSONRequestBody) (*http.Request, error)

NewGetInstrumentEligibilityRequest calls the generic GetInstrumentEligibility builder with application/json body

func NewGetInstrumentEligibilityRequestWithBody

func NewGetInstrumentEligibilityRequestWithBody(server string, params *GetInstrumentEligibilityParams, contentType string, body io.Reader) (*http.Request, error)

NewGetInstrumentEligibilityRequestWithBody constructs an http.Request for the GetInstrumentEligibility method, with any body, and a specified content type

func NewGetInstrumentsSearchRequest

func NewGetInstrumentsSearchRequest(server string, params *GetInstrumentsSearchParams) (*http.Request, error)

NewGetInstrumentsSearchRequest constructs an http.Request for the GetInstrumentsSearch method

func NewGetKeydataByApplicationRequest

func NewGetKeydataByApplicationRequest(server string, application string, params *GetKeydataByApplicationParams) (*http.Request, error)

NewGetKeydataByApplicationRequest constructs an http.Request for the GetKeydataByApplication method

func NewGetMarketDataExchangesRequest

func NewGetMarketDataExchangesRequest(server string, params *GetMarketDataExchangesParams) (*http.Request, error)

NewGetMarketDataExchangesRequest constructs an http.Request for the GetMarketDataExchanges method

func NewGetMarketDataInstrumentTypesRequest

func NewGetMarketDataInstrumentTypesRequest(server string, params *GetMarketDataInstrumentTypesParams) (*http.Request, error)

NewGetMarketDataInstrumentTypesRequest constructs an http.Request for the GetMarketDataInstrumentTypes method

func NewGetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountRequest

NewGetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountRequest constructs an http.Request for the GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCount method

func NewGetMarketDataInstrumentsHistoryClosingPriceRequest

func NewGetMarketDataInstrumentsHistoryClosingPriceRequest(server string, params *GetMarketDataInstrumentsHistoryClosingPriceParams) (*http.Request, error)

NewGetMarketDataInstrumentsHistoryClosingPriceRequest constructs an http.Request for the GetMarketDataInstrumentsHistoryClosingPrice method

func NewGetMarketDataInstrumentsRatesRequest

func NewGetMarketDataInstrumentsRatesRequest(server string, params *GetMarketDataInstrumentsRatesParams) (*http.Request, error)

NewGetMarketDataInstrumentsRatesRequest constructs an http.Request for the GetMarketDataInstrumentsRates method

func NewGetMarketDataInstrumentsRequest

func NewGetMarketDataInstrumentsRequest(server string, params *GetMarketDataInstrumentsParams) (*http.Request, error)

NewGetMarketDataInstrumentsRequest constructs an http.Request for the GetMarketDataInstruments method

func NewGetMarketDataSearchRequest

func NewGetMarketDataSearchRequest(server string, params *GetMarketDataSearchParams) (*http.Request, error)

NewGetMarketDataSearchRequest constructs an http.Request for the GetMarketDataSearch method

func NewGetMarketDataStocksIndustriesRequest

func NewGetMarketDataStocksIndustriesRequest(server string, params *GetMarketDataStocksIndustriesParams) (*http.Request, error)

NewGetMarketDataStocksIndustriesRequest constructs an http.Request for the GetMarketDataStocksIndustries method

func NewGetMarketRecommendationsByItemsCountRequest

func NewGetMarketRecommendationsByItemsCountRequest(server string, itemsCount int16, params *GetMarketRecommendationsByItemsCountParams) (*http.Request, error)

NewGetMarketRecommendationsByItemsCountRequest constructs an http.Request for the GetMarketRecommendationsByItemsCount method

func NewGetMeRequest

func NewGetMeRequest(server string, params *GetMeParams) (*http.Request, error)

NewGetMeRequest constructs an http.Request for the GetMe method

func NewGetMultiplePortfoliosRankingsRequest

func NewGetMultiplePortfoliosRankingsRequest(server string, params *GetMultiplePortfoliosRankingsParams, body GetMultiplePortfoliosRankingsJSONRequestBody) (*http.Request, error)

NewGetMultiplePortfoliosRankingsRequest calls the generic GetMultiplePortfoliosRankings builder with application/json body

func NewGetMultiplePortfoliosRankingsRequestWithBody

func NewGetMultiplePortfoliosRankingsRequestWithBody(server string, params *GetMultiplePortfoliosRankingsParams, contentType string, body io.Reader) (*http.Request, error)

NewGetMultiplePortfoliosRankingsRequestWithBody constructs an http.Request for the GetMultiplePortfoliosRankings method, with any body, and a specified content type

func NewGetMySubAccountsRequest

func NewGetMySubAccountsRequest(server string, params *GetMySubAccountsParams) (*http.Request, error)

NewGetMySubAccountsRequest constructs an http.Request for the GetMySubAccounts method

func NewGetNotificationsMessagesRequest

func NewGetNotificationsMessagesRequest(server string, params *GetNotificationsMessagesParams) (*http.Request, error)

NewGetNotificationsMessagesRequest constructs an http.Request for the GetNotificationsMessages method

func NewGetPiDataCopiersRequest

func NewGetPiDataCopiersRequest(server string, params *GetPiDataCopiersParams) (*http.Request, error)

NewGetPiDataCopiersRequest constructs an http.Request for the GetPiDataCopiers method

func NewGetPortfolioCopiersRequest

func NewGetPortfolioCopiersRequest(server string, username string, params *GetPortfolioCopiersParams) (*http.Request, error)

NewGetPortfolioCopiersRequest constructs an http.Request for the GetPortfolioCopiers method

func NewGetPortfolioRankingRequest

func NewGetPortfolioRankingRequest(server string, username string, params *GetPortfolioRankingParams) (*http.Request, error)

NewGetPortfolioRankingRequest constructs an http.Request for the GetPortfolioRanking method

func NewGetPortfolioRankingsByPresetRequest

func NewGetPortfolioRankingsByPresetRequest(server string, pType string, params *GetPortfolioRankingsByPresetParams) (*http.Request, error)

NewGetPortfolioRankingsByPresetRequest constructs an http.Request for the GetPortfolioRankingsByPreset method

func NewGetPortfoliosRankingsRequest

func NewGetPortfoliosRankingsRequest(server string, params *GetPortfoliosRankingsParams) (*http.Request, error)

NewGetPortfoliosRankingsRequest constructs an http.Request for the GetPortfoliosRankings method

func NewGetPortfoliosRankingsSummaryRequest

func NewGetPortfoliosRankingsSummaryRequest(server string, params *GetPortfoliosRankingsSummaryParams) (*http.Request, error)

NewGetPortfoliosRankingsSummaryRequest constructs an http.Request for the GetPortfoliosRankingsSummary method

func NewGetPriceAlertsRequest

func NewGetPriceAlertsRequest(server string, params *GetPriceAlertsParams) (*http.Request, error)

NewGetPriceAlertsRequest constructs an http.Request for the GetPriceAlerts method

func NewGetPriceCandleCoverageRequest

func NewGetPriceCandleCoverageRequest(server string, instrumentId int32, params *GetPriceCandleCoverageParams) (*http.Request, error)

NewGetPriceCandleCoverageRequest constructs an http.Request for the GetPriceCandleCoverage method

func NewGetPriceCandlesRequest

func NewGetPriceCandlesRequest(server string, instrumentId int32, params *GetPriceCandlesParams) (*http.Request, error)

NewGetPriceCandlesRequest constructs an http.Request for the GetPriceCandles method

func NewGetRatesRequest

func NewGetRatesRequest(server string, params *GetRatesParams) (*http.Request, error)

NewGetRatesRequest constructs an http.Request for the GetRates method

func NewGetScopesRequest

func NewGetScopesRequest(server string, params *GetScopesParams) (*http.Request, error)

NewGetScopesRequest constructs an http.Request for the GetScopes method

func NewGetSecuritiesRequest

func NewGetSecuritiesRequest(server string, params *GetSecuritiesParams) (*http.Request, error)

NewGetSecuritiesRequest constructs an http.Request for the GetSecurities method

func NewGetStockbackPromoStatusRequest

func NewGetStockbackPromoStatusRequest(server string, params *GetStockbackPromoStatusParams) (*http.Request, error)

NewGetStockbackPromoStatusRequest constructs an http.Request for the GetStockbackPromoStatus method

func NewGetSubAccountUserTokenScopesRequest

func NewGetSubAccountUserTokenScopesRequest(server string, params *GetSubAccountUserTokenScopesParams) (*http.Request, error)

NewGetSubAccountUserTokenScopesRequest constructs an http.Request for the GetSubAccountUserTokenScopes method

func NewGetSubAccountUserTokensRequest

func NewGetSubAccountUserTokensRequest(server string, params *GetSubAccountUserTokensParams) (*http.Request, error)

NewGetSubAccountUserTokensRequest constructs an http.Request for the GetSubAccountUserTokens method

func NewGetTradingInfoDemoCloseOrdersByOrderIdRequest

func NewGetTradingInfoDemoCloseOrdersByOrderIdRequest(server string, orderId int64, params *GetTradingInfoDemoCloseOrdersByOrderIdParams) (*http.Request, error)

NewGetTradingInfoDemoCloseOrdersByOrderIdRequest constructs an http.Request for the GetTradingInfoDemoCloseOrdersByOrderId method

func NewGetTradingInfoDemoOrdersLookupRequest

func NewGetTradingInfoDemoOrdersLookupRequest(server string, params *GetTradingInfoDemoOrdersLookupParams) (*http.Request, error)

NewGetTradingInfoDemoOrdersLookupRequest constructs an http.Request for the GetTradingInfoDemoOrdersLookup method

func NewGetTradingInfoDemoPnlRequest

func NewGetTradingInfoDemoPnlRequest(server string, params *GetTradingInfoDemoPnlParams) (*http.Request, error)

NewGetTradingInfoDemoPnlRequest constructs an http.Request for the GetTradingInfoDemoPnl method

func NewGetTradingInfoDemoPortfolioInstrumentBreakdownRequest

func NewGetTradingInfoDemoPortfolioInstrumentBreakdownRequest(server string, params *GetTradingInfoDemoPortfolioInstrumentBreakdownParams) (*http.Request, error)

NewGetTradingInfoDemoPortfolioInstrumentBreakdownRequest constructs an http.Request for the GetTradingInfoDemoPortfolioInstrumentBreakdown method

func NewGetTradingInfoDemoPortfolioRequest

func NewGetTradingInfoDemoPortfolioRequest(server string, params *GetTradingInfoDemoPortfolioParams) (*http.Request, error)

NewGetTradingInfoDemoPortfolioRequest constructs an http.Request for the GetTradingInfoDemoPortfolio method

func NewGetTradingInfoOrdersLookupRequest

func NewGetTradingInfoOrdersLookupRequest(server string, params *GetTradingInfoOrdersLookupParams) (*http.Request, error)

NewGetTradingInfoOrdersLookupRequest constructs an http.Request for the GetTradingInfoOrdersLookup method

func NewGetTradingInfoPortfolioInstrumentBreakdownRequest

func NewGetTradingInfoPortfolioInstrumentBreakdownRequest(server string, params *GetTradingInfoPortfolioInstrumentBreakdownParams) (*http.Request, error)

NewGetTradingInfoPortfolioInstrumentBreakdownRequest constructs an http.Request for the GetTradingInfoPortfolioInstrumentBreakdown method

func NewGetTradingInfoPortfolioRequest

func NewGetTradingInfoPortfolioRequest(server string, params *GetTradingInfoPortfolioParams) (*http.Request, error)

NewGetTradingInfoPortfolioRequest constructs an http.Request for the GetTradingInfoPortfolio method

func NewGetTradingInfoRealCloseOrdersByOrderIdRequest

func NewGetTradingInfoRealCloseOrdersByOrderIdRequest(server string, orderId int64, params *GetTradingInfoRealCloseOrdersByOrderIdParams) (*http.Request, error)

NewGetTradingInfoRealCloseOrdersByOrderIdRequest constructs an http.Request for the GetTradingInfoRealCloseOrdersByOrderId method

func NewGetTradingInfoRealPnlRequest

func NewGetTradingInfoRealPnlRequest(server string, params *GetTradingInfoRealPnlParams) (*http.Request, error)

NewGetTradingInfoRealPnlRequest constructs an http.Request for the GetTradingInfoRealPnl method

func NewGetTradingInfoTradeDemoHistoryRequest

func NewGetTradingInfoTradeDemoHistoryRequest(server string, params *GetTradingInfoTradeDemoHistoryParams) (*http.Request, error)

NewGetTradingInfoTradeDemoHistoryRequest constructs an http.Request for the GetTradingInfoTradeDemoHistory method

func NewGetTradingInfoTradeHistoryRequest

func NewGetTradingInfoTradeHistoryRequest(server string, params *GetTradingInfoTradeHistoryParams) (*http.Request, error)

NewGetTradingInfoTradeHistoryRequest constructs an http.Request for the GetTradingInfoTradeHistory method

func NewGetTransferByIdRequest

func NewGetTransferByIdRequest(server string, transferId int64, params *GetTransferByIdParams) (*http.Request, error)

NewGetTransferByIdRequest constructs an http.Request for the GetTransferById method

func NewGetTransferEligibilityRequest

func NewGetTransferEligibilityRequest(server string, params *GetTransferEligibilityParams) (*http.Request, error)

NewGetTransferEligibilityRequest constructs an http.Request for the GetTransferEligibility method

func NewGetTransferFeeConfigurationRequest

func NewGetTransferFeeConfigurationRequest(server string, params *GetTransferFeeConfigurationParams) (*http.Request, error)

NewGetTransferFeeConfigurationRequest constructs an http.Request for the GetTransferFeeConfiguration method

func NewGetTransferLimitsRequest

func NewGetTransferLimitsRequest(server string, params *GetTransferLimitsParams) (*http.Request, error)

NewGetTransferLimitsRequest constructs an http.Request for the GetTransferLimits method

func NewGetTransferableBalanceRequest

func NewGetTransferableBalanceRequest(server string, params *GetTransferableBalanceParams) (*http.Request, error)

NewGetTransferableBalanceRequest constructs an http.Request for the GetTransferableBalance method

func NewGetUserInfoPeopleByUsernameDailyGainRequest

func NewGetUserInfoPeopleByUsernameDailyGainRequest(server string, username string, params *GetUserInfoPeopleByUsernameDailyGainParams) (*http.Request, error)

NewGetUserInfoPeopleByUsernameDailyGainRequest constructs an http.Request for the GetUserInfoPeopleByUsernameDailyGain method

func NewGetUserInfoPeopleByUsernameGainRequest

func NewGetUserInfoPeopleByUsernameGainRequest(server string, username string, params *GetUserInfoPeopleByUsernameGainParams) (*http.Request, error)

NewGetUserInfoPeopleByUsernameGainRequest constructs an http.Request for the GetUserInfoPeopleByUsernameGain method

func NewGetUserInfoPeopleByUsernamePortfolioLiveRequest

func NewGetUserInfoPeopleByUsernamePortfolioLiveRequest(server string, username string, params *GetUserInfoPeopleByUsernamePortfolioLiveParams) (*http.Request, error)

NewGetUserInfoPeopleByUsernamePortfolioLiveRequest constructs an http.Request for the GetUserInfoPeopleByUsernamePortfolioLive method

func NewGetUserInfoPeopleByUsernameTradeinfoRequest

func NewGetUserInfoPeopleByUsernameTradeinfoRequest(server string, username string, params *GetUserInfoPeopleByUsernameTradeinfoParams) (*http.Request, error)

NewGetUserInfoPeopleByUsernameTradeinfoRequest constructs an http.Request for the GetUserInfoPeopleByUsernameTradeinfo method

func NewGetUserInfoPeopleRequest

func NewGetUserInfoPeopleRequest(server string, params *GetUserInfoPeopleParams) (*http.Request, error)

NewGetUserInfoPeopleRequest constructs an http.Request for the GetUserInfoPeople method

func NewGetUserInfoPeopleSearchRequest

func NewGetUserInfoPeopleSearchRequest(server string, params *GetUserInfoPeopleSearchParams) (*http.Request, error)

NewGetUserInfoPeopleSearchRequest constructs an http.Request for the GetUserInfoPeopleSearch method

func NewGetWatchlistsByWatchlistIdRequest

func NewGetWatchlistsByWatchlistIdRequest(server string, watchlistId string, params *GetWatchlistsByWatchlistIdParams) (*http.Request, error)

NewGetWatchlistsByWatchlistIdRequest constructs an http.Request for the GetWatchlistsByWatchlistId method

func NewGetWatchlistsDefaultWatchlistsItemsRequest

func NewGetWatchlistsDefaultWatchlistsItemsRequest(server string, params *GetWatchlistsDefaultWatchlistsItemsParams) (*http.Request, error)

NewGetWatchlistsDefaultWatchlistsItemsRequest constructs an http.Request for the GetWatchlistsDefaultWatchlistsItems method

func NewGetWatchlistsPublicByUserIdByWatchlistIdRequest

func NewGetWatchlistsPublicByUserIdByWatchlistIdRequest(server string, userId int32, watchlistId string, params *GetWatchlistsPublicByUserIdByWatchlistIdParams) (*http.Request, error)

NewGetWatchlistsPublicByUserIdByWatchlistIdRequest constructs an http.Request for the GetWatchlistsPublicByUserIdByWatchlistId method

func NewGetWatchlistsPublicByUserIdRequest

func NewGetWatchlistsPublicByUserIdRequest(server string, userId int32, params *GetWatchlistsPublicByUserIdParams) (*http.Request, error)

NewGetWatchlistsPublicByUserIdRequest constructs an http.Request for the GetWatchlistsPublicByUserId method

func NewGetWatchlistsRequest

func NewGetWatchlistsRequest(server string, params *GetWatchlistsParams) (*http.Request, error)

NewGetWatchlistsRequest constructs an http.Request for the GetWatchlists method

func NewGetWatchlistsV2Request

func NewGetWatchlistsV2Request(server string, params *GetWatchlistsV2Params, body GetWatchlistsV2JSONRequestBody) (*http.Request, error)

NewGetWatchlistsV2Request calls the generic GetWatchlistsV2 builder with application/json body

func NewGetWatchlistsV2RequestWithBody

func NewGetWatchlistsV2RequestWithBody(server string, params *GetWatchlistsV2Params, contentType string, body io.Reader) (*http.Request, error)

NewGetWatchlistsV2RequestWithBody constructs an http.Request for the GetWatchlistsV2 method, with any body, and a specified content type

func NewListCashAccountTransactionsRequest

func NewListCashAccountTransactionsRequest(server string, accountId openapi_types.UUID, params *ListCashAccountTransactionsParams) (*http.Request, error)

NewListCashAccountTransactionsRequest constructs an http.Request for the ListCashAccountTransactions method

func NewListPortfolioRankingsPresetsRequest

func NewListPortfolioRankingsPresetsRequest(server string, params *ListPortfolioRankingsPresetsParams) (*http.Request, error)

NewListPortfolioRankingsPresetsRequest constructs an http.Request for the ListPortfolioRankingsPresets method

func NewListPortfolioRankingsTagsRequest

func NewListPortfolioRankingsTagsRequest(server string, params *ListPortfolioRankingsTagsParams) (*http.Request, error)

NewListPortfolioRankingsTagsRequest constructs an http.Request for the ListPortfolioRankingsTags method

func NewLookupTransfersByRequestReferenceIdRequest

func NewLookupTransfersByRequestReferenceIdRequest(server string, params *LookupTransfersByRequestReferenceIdParams) (*http.Request, error)

NewLookupTransfersByRequestReferenceIdRequest constructs an http.Request for the LookupTransfersByRequestReferenceId method

func NewPatchNotificationsMessagesRequest

func NewPatchNotificationsMessagesRequest(server string, params *PatchNotificationsMessagesParams) (*http.Request, error)

NewPatchNotificationsMessagesRequest constructs an http.Request for the PatchNotificationsMessages method

func NewPatchPriceAlertsByAlertIdRequest

func NewPatchPriceAlertsByAlertIdRequest(server string, alertId openapi_types.UUID, params *PatchPriceAlertsByAlertIdParams, body PatchPriceAlertsByAlertIdJSONRequestBody) (*http.Request, error)

NewPatchPriceAlertsByAlertIdRequest calls the generic PatchPriceAlertsByAlertId builder with application/json body

func NewPatchPriceAlertsByAlertIdRequestWithBody

func NewPatchPriceAlertsByAlertIdRequestWithBody(server string, alertId openapi_types.UUID, params *PatchPriceAlertsByAlertIdParams, contentType string, body io.Reader) (*http.Request, error)

NewPatchPriceAlertsByAlertIdRequestWithBody constructs an http.Request for the PatchPriceAlertsByAlertId method, with any body, and a specified content type

func NewPostAggregatedPortfolioDemoRequest

func NewPostAggregatedPortfolioDemoRequest(server string, params *PostAggregatedPortfolioDemoParams, body PostAggregatedPortfolioDemoJSONRequestBody) (*http.Request, error)

NewPostAggregatedPortfolioDemoRequest calls the generic PostAggregatedPortfolioDemo builder with application/json body

func NewPostAggregatedPortfolioDemoRequestWithBody

func NewPostAggregatedPortfolioDemoRequestWithBody(server string, params *PostAggregatedPortfolioDemoParams, contentType string, body io.Reader) (*http.Request, error)

NewPostAggregatedPortfolioDemoRequestWithBody constructs an http.Request for the PostAggregatedPortfolioDemo method, with any body, and a specified content type

func NewPostAggregatedPortfolioRequest

func NewPostAggregatedPortfolioRequest(server string, params *PostAggregatedPortfolioParams, body PostAggregatedPortfolioJSONRequestBody) (*http.Request, error)

NewPostAggregatedPortfolioRequest calls the generic PostAggregatedPortfolio builder with application/json body

func NewPostAggregatedPortfolioRequestWithBody

func NewPostAggregatedPortfolioRequestWithBody(server string, params *PostAggregatedPortfolioParams, contentType string, body io.Reader) (*http.Request, error)

NewPostAggregatedPortfolioRequestWithBody constructs an http.Request for the PostAggregatedPortfolio method, with any body, and a specified content type

func NewPostMoneyTransferRequest

func NewPostMoneyTransferRequest(server string, params *PostMoneyTransferParams, body PostMoneyTransferJSONRequestBody) (*http.Request, error)

NewPostMoneyTransferRequest calls the generic PostMoneyTransfer builder with application/json body

func NewPostMoneyTransferRequestWithBody

func NewPostMoneyTransferRequestWithBody(server string, params *PostMoneyTransferParams, contentType string, body io.Reader) (*http.Request, error)

NewPostMoneyTransferRequestWithBody constructs an http.Request for the PostMoneyTransfer method, with any body, and a specified content type

func NewPostPriceAlertsRequest

func NewPostPriceAlertsRequest(server string, params *PostPriceAlertsParams, body PostPriceAlertsJSONRequestBody) (*http.Request, error)

NewPostPriceAlertsRequest calls the generic PostPriceAlerts builder with application/json body

func NewPostPriceAlertsRequestWithBody

func NewPostPriceAlertsRequestWithBody(server string, params *PostPriceAlertsParams, contentType string, body io.Reader) (*http.Request, error)

NewPostPriceAlertsRequestWithBody constructs an http.Request for the PostPriceAlerts method, with any body, and a specified content type

func NewPostWatchlistsByWatchlistIdItemsRequest

func NewPostWatchlistsByWatchlistIdItemsRequest(server string, watchlistId string, params *PostWatchlistsByWatchlistIdItemsParams, body PostWatchlistsByWatchlistIdItemsJSONRequestBody) (*http.Request, error)

NewPostWatchlistsByWatchlistIdItemsRequest calls the generic PostWatchlistsByWatchlistIdItems builder with application/json body

func NewPostWatchlistsByWatchlistIdItemsRequestWithBody

func NewPostWatchlistsByWatchlistIdItemsRequestWithBody(server string, watchlistId string, params *PostWatchlistsByWatchlistIdItemsParams, contentType string, body io.Reader) (*http.Request, error)

NewPostWatchlistsByWatchlistIdItemsRequestWithBody constructs an http.Request for the PostWatchlistsByWatchlistIdItems method, with any body, and a specified content type

func NewPostWatchlistsDefaultWatchlistSelectedItemsRequest

func NewPostWatchlistsDefaultWatchlistSelectedItemsRequest(server string, params *PostWatchlistsDefaultWatchlistSelectedItemsParams, body PostWatchlistsDefaultWatchlistSelectedItemsJSONRequestBody) (*http.Request, error)

NewPostWatchlistsDefaultWatchlistSelectedItemsRequest calls the generic PostWatchlistsDefaultWatchlistSelectedItems builder with application/json body

func NewPostWatchlistsDefaultWatchlistSelectedItemsRequestWithBody

func NewPostWatchlistsDefaultWatchlistSelectedItemsRequestWithBody(server string, params *PostWatchlistsDefaultWatchlistSelectedItemsParams, contentType string, body io.Reader) (*http.Request, error)

NewPostWatchlistsDefaultWatchlistSelectedItemsRequestWithBody constructs an http.Request for the PostWatchlistsDefaultWatchlistSelectedItems method, with any body, and a specified content type

func NewPostWatchlistsNewasdefaultWatchlistRequest

func NewPostWatchlistsNewasdefaultWatchlistRequest(server string, params *PostWatchlistsNewasdefaultWatchlistParams) (*http.Request, error)

NewPostWatchlistsNewasdefaultWatchlistRequest constructs an http.Request for the PostWatchlistsNewasdefaultWatchlist method

func NewPostWatchlistsRequest

func NewPostWatchlistsRequest(server string, params *PostWatchlistsParams) (*http.Request, error)

NewPostWatchlistsRequest constructs an http.Request for the PostWatchlists method

func NewPutWatchlistsByWatchlistIdItemsRequest

func NewPutWatchlistsByWatchlistIdItemsRequest(server string, watchlistId string, params *PutWatchlistsByWatchlistIdItemsParams, body PutWatchlistsByWatchlistIdItemsJSONRequestBody) (*http.Request, error)

NewPutWatchlistsByWatchlistIdItemsRequest calls the generic PutWatchlistsByWatchlistIdItems builder with application/json body

func NewPutWatchlistsByWatchlistIdItemsRequestWithBody

func NewPutWatchlistsByWatchlistIdItemsRequestWithBody(server string, watchlistId string, params *PutWatchlistsByWatchlistIdItemsParams, contentType string, body io.Reader) (*http.Request, error)

NewPutWatchlistsByWatchlistIdItemsRequestWithBody constructs an http.Request for the PutWatchlistsByWatchlistIdItems method, with any body, and a specified content type

func NewPutWatchlistsByWatchlistIdRequest

func NewPutWatchlistsByWatchlistIdRequest(server string, watchlistId string, params *PutWatchlistsByWatchlistIdParams) (*http.Request, error)

NewPutWatchlistsByWatchlistIdRequest constructs an http.Request for the PutWatchlistsByWatchlistId method

func NewPutWatchlistsRankByWatchlistIdRequest

func NewPutWatchlistsRankByWatchlistIdRequest(server string, watchlistId string, params *PutWatchlistsRankByWatchlistIdParams) (*http.Request, error)

NewPutWatchlistsRankByWatchlistIdRequest constructs an http.Request for the PutWatchlistsRankByWatchlistId method

func NewPutWatchlistsSetUserSelectedUserDefaultByWatchlistIdRequest

func NewPutWatchlistsSetUserSelectedUserDefaultByWatchlistIdRequest(server string, watchlistId string, params *PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdParams) (*http.Request, error)

NewPutWatchlistsSetUserSelectedUserDefaultByWatchlistIdRequest constructs an http.Request for the PutWatchlistsSetUserSelectedUserDefaultByWatchlistId method

func NewRegisterCopyTradingDemoRequest

func NewRegisterCopyTradingDemoRequest(server string, params *RegisterCopyTradingDemoParams, body RegisterCopyTradingDemoJSONRequestBody) (*http.Request, error)

NewRegisterCopyTradingDemoRequest calls the generic RegisterCopyTradingDemo builder with application/json body

func NewRegisterCopyTradingDemoRequestWithBody

func NewRegisterCopyTradingDemoRequestWithBody(server string, params *RegisterCopyTradingDemoParams, contentType string, body io.Reader) (*http.Request, error)

NewRegisterCopyTradingDemoRequestWithBody constructs an http.Request for the RegisterCopyTradingDemo method, with any body, and a specified content type

func NewRegisterCopyTradingRequest

func NewRegisterCopyTradingRequest(server string, params *RegisterCopyTradingParams, body RegisterCopyTradingJSONRequestBody) (*http.Request, error)

NewRegisterCopyTradingRequest calls the generic RegisterCopyTrading builder with application/json body

func NewRegisterCopyTradingRequestWithBody

func NewRegisterCopyTradingRequestWithBody(server string, params *RegisterCopyTradingParams, contentType string, body io.Reader) (*http.Request, error)

NewRegisterCopyTradingRequestWithBody constructs an http.Request for the RegisterCopyTrading method, with any body, and a specified content type

func NewRotateApplicationsClientSecretByClientIdRequest

func NewRotateApplicationsClientSecretByClientIdRequest(server string, clientId openapi_types.UUID, params *RotateApplicationsClientSecretByClientIdParams) (*http.Request, error)

NewRotateApplicationsClientSecretByClientIdRequest constructs an http.Request for the RotateApplicationsClientSecretByClientId method

func NewSearchPortfoliosRequest

func NewSearchPortfoliosRequest(server string, params *SearchPortfoliosParams) (*http.Request, error)

NewSearchPortfoliosRequest constructs an http.Request for the SearchPortfolios method

func NewUpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Request

func NewUpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Request(server string, agentPortfolioId openapi_types.UUID, userTokenId openapi_types.UUID, params *UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Params, body UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2JSONRequestBody) (*http.Request, error)

NewUpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Request calls the generic UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2 builder with application/json body

func NewUpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2RequestWithBody

func NewUpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2RequestWithBody(server string, agentPortfolioId openapi_types.UUID, userTokenId openapi_types.UUID, params *UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Params, contentType string, body io.Reader) (*http.Request, error)

NewUpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2RequestWithBody constructs an http.Request for the UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2 method, with any body, and a specified content type

func NewUpdateApplicationsByClientIdRequest

func NewUpdateApplicationsByClientIdRequest(server string, clientId openapi_types.UUID, params *UpdateApplicationsByClientIdParams, body UpdateApplicationsByClientIdJSONRequestBody) (*http.Request, error)

NewUpdateApplicationsByClientIdRequest calls the generic UpdateApplicationsByClientId builder with application/json body

func NewUpdateApplicationsByClientIdRequestWithBody

func NewUpdateApplicationsByClientIdRequestWithBody(server string, clientId openapi_types.UUID, params *UpdateApplicationsByClientIdParams, contentType string, body io.Reader) (*http.Request, error)

NewUpdateApplicationsByClientIdRequestWithBody constructs an http.Request for the UpdateApplicationsByClientId method, with any body, and a specified content type

func NewUpdateDemoPositionRequest

func NewUpdateDemoPositionRequest(server string, positionId int64, params *UpdateDemoPositionParams, body UpdateDemoPositionJSONRequestBody) (*http.Request, error)

NewUpdateDemoPositionRequest calls the generic UpdateDemoPosition builder with application/json body

func NewUpdateDemoPositionRequestWithBody

func NewUpdateDemoPositionRequestWithBody(server string, positionId int64, params *UpdateDemoPositionParams, contentType string, body io.Reader) (*http.Request, error)

NewUpdateDemoPositionRequestWithBody constructs an http.Request for the UpdateDemoPosition method, with any body, and a specified content type

func NewUpdateRealPositionRequest

func NewUpdateRealPositionRequest(server string, positionId int64, params *UpdateRealPositionParams, body UpdateRealPositionJSONRequestBody) (*http.Request, error)

NewUpdateRealPositionRequest calls the generic UpdateRealPosition builder with application/json body

func NewUpdateRealPositionRequestWithBody

func NewUpdateRealPositionRequestWithBody(server string, positionId int64, params *UpdateRealPositionParams, contentType string, body io.Reader) (*http.Request, error)

NewUpdateRealPositionRequestWithBody constructs an http.Request for the UpdateRealPosition method, with any body, and a specified content type

func NewUpdateSubAccountUserTokenRequest

func NewUpdateSubAccountUserTokenRequest(server string, userTokenId openapi_types.UUID, params *UpdateSubAccountUserTokenParams, body UpdateSubAccountUserTokenJSONRequestBody) (*http.Request, error)

NewUpdateSubAccountUserTokenRequest calls the generic UpdateSubAccountUserToken builder with application/json body

func NewUpdateSubAccountUserTokenRequestWithBody

func NewUpdateSubAccountUserTokenRequestWithBody(server string, userTokenId openapi_types.UUID, params *UpdateSubAccountUserTokenParams, contentType string, body io.Reader) (*http.Request, error)

NewUpdateSubAccountUserTokenRequestWithBody constructs an http.Request for the UpdateSubAccountUserToken method, with any body, and a specified content type

Types

type AccountBalanceData

type AccountBalanceData struct {
	// AccountId Unique identifier of the account.
	AccountId *string `json:"accountId,omitempty"`

	// AccountType The type of etoro account, as returned in response bodies.
	AccountType *BalanceAggregatorApiAccountType `json:"accountType,omitempty"`

	// Balance Account balance in the account's native currency (see the currency field). Its meaning depends on accountType: total account value including invested positions for Trading, Options, MoneyFarm, Spaceship and Plaee (for Plaee: cash plus the mark-to-market value of open prediction-market positions); holdings in native crypto units for Crypto; available cash for Cash. For Trading it equals equityDetails.available + equityDetails.totalUsedMargin + equityDetails.currentPNL. Not a spendable amount except on Cash accounts — see equityDetails.available.
	Balance *float64 `json:"balance,omitempty"`

	// Currency The account's native currency (ISO 4217).
	Currency *string `json:"currency,omitempty"`

	// DisplayBalance Account balance converted to the requested display currency. Carries the same per-accountType meaning as balance, and is likewise not a spendable amount except on Cash accounts.
	DisplayBalance *float64 `json:"displayBalance,omitempty"`

	// DisplayCurrency The display currency (ISO 4217) used for displayBalance.
	DisplayCurrency *string `json:"displayCurrency,omitempty"`

	// EquityDetails Provider-specific balance details, returned only when the request includes expand=equityDetails. All fields are nullable; only fields relevant to the account's provider are populated. Trading accounts populate available/frozenCash/currentPNL/totalUsedMargin; Crypto accounts populate cryptoId, the balance variants, fiatConversionCurrency, and orderIndex; Spaceship accounts return no equityDetails object at all; Plaee accounts populate available (withdrawable cash), frozenCash (cash reserved by resting prediction-market orders), currentPNL (unrealised profit and loss on open positions), realizedPNL (realised profit and loss of closed and settled positions, all time), invested (cost of the open positions), positionsValue (market value of the open positions), openOrdersValue (money in resting orders not yet matched), balance (cash) and totalBalance (cash plus resting orders plus open positions), all in the account currency, plus openPositionsCount (number of open positions) and hasOpenPositions (true when an open position or a resting order exists at Plaee). Currency: the fiat amounts here are denominated in the enclosing account's native currency (its currency field), not in displayCurrency — the object carries no currency marker of its own. The exception is the *InFiat crypto fields, which use fiatConversionCurrency.
	EquityDetails *EquityDetailsData `json:"equityDetails,omitempty"`

	// ExchangeRate Exchange rate applied to convert balance to displayCurrency.
	ExchangeRate *float64 `json:"exchangeRate,omitempty"`

	// SubType Account sub-type, where applicable.
	SubType *string `json:"subType,omitempty"`
}

AccountBalanceData Balance data for a single account.

type AccountIdentifier

type AccountIdentifier struct {
	// AccountId Account identifier
	//
	// Example: ACC-100100
	AccountId   string                 `json:"accountId"`
	AccountType PaymentsApiAccountType `json:"accountType"`
}

AccountIdentifier defines model for AccountIdentifier.

type AccountTypePathParam

type AccountTypePathParam string

AccountTypePathParam The type of etoro account, as accepted in the accountType path segment. Lowercase only: the route matches these values exactly and returns 404 for any other casing or for numeric values. Note this differs from the casing used for accountType in response bodies.

Example: trading

const (
	AccountTypePathParamCash      AccountTypePathParam = "cash"
	AccountTypePathParamCrypto    AccountTypePathParam = "crypto"
	AccountTypePathParamMoneyfarm AccountTypePathParam = "moneyfarm"
	AccountTypePathParamOptions   AccountTypePathParam = "options"
	AccountTypePathParamPlaee     AccountTypePathParam = "plaee"
	AccountTypePathParamSpaceship AccountTypePathParam = "spaceship"
	AccountTypePathParamTrading   AccountTypePathParam = "trading"
)

Defines values for AccountTypePathParam.

func (AccountTypePathParam) Valid

func (e AccountTypePathParam) Valid() bool

Valid indicates whether the value is a known member of the AccountTypePathParam enum.

type AgentPortfolioApiCreateUserTokenResponse

type AgentPortfolioApiCreateUserTokenResponse struct {
	// ClientId The client identifier of the application the token is associated with.
	//
	// Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
	ClientId *openapi_types.UUID `json:"clientId,omitempty"`

	// CreatedAt The UTC timestamp at which the token was created.
	//
	// Example: 2026-03-06T12:00:00Z
	CreatedAt *time.Time `json:"createdAt,omitempty"`

	// ExpiresAt The UTC expiration date of the token. Null when the token does not expire.
	//
	// Example: 2026-12-31T23:59:59Z
	ExpiresAt *time.Time `json:"expiresAt,omitempty"`

	// IpsWhitelist The IPv4 addresses from which the token is allowed to be used. Null or empty when unrestricted.
	//
	// Example: ["192.168.1.1"]
	IpsWhitelist *[]string `json:"ipsWhitelist,omitempty"`

	// ScopeNames The authorized scope names granted to the token.
	//
	// Example: ["etoro-public:trade.real:read"]
	ScopeNames *[]string `json:"scopeNames,omitempty"`

	// UserToken The generated user token secret. Only available at creation time.
	//
	// Example: sk_live_a1b2c3d4e5f6...
	UserToken *string `json:"userToken,omitempty"`

	// UserTokenId The unique identifier of the newly created user token.
	//
	// Example: f9e8d7c6-b5a4-3210-fedc-ba9876543210
	UserTokenId *openapi_types.UUID `json:"userTokenId,omitempty"`

	// UserTokenName The display name of the user token.
	//
	// Example: my-trading-token
	UserTokenName *string `json:"userTokenName,omitempty"`
}

AgentPortfolioApiCreateUserTokenResponse defines model for AgentPortfolioApi_CreateUserTokenResponse.

type AgentPortfolioApiErrorResponse

type AgentPortfolioApiErrorResponse struct {
	ErrorCode    *string `json:"errorCode,omitempty"`
	ErrorMessage *string `json:"errorMessage,omitempty"`
}

AgentPortfolioApiErrorResponse defines model for AgentPortfolioApi_ErrorResponse.

type AgentPortfolioApiGetAllowedScopesResponse

type AgentPortfolioApiGetAllowedScopesResponse struct {
	// Scopes The permission scope names that may be assigned to agent-portfolio user tokens.
	//
	// Example: [{"name":"etoro-public:trade.real:read"},{"name":"etoro-public:trade.real:write"}]
	Scopes *[]ScopeNameItem `json:"scopes,omitempty"`
}

AgentPortfolioApiGetAllowedScopesResponse defines model for AgentPortfolioApi_GetAllowedScopesResponse.

type AgentPortfolioItem

type AgentPortfolioItem struct {
	// AgentPortfolioGcid The GCID associated with the agent-portfolio.
	//
	// Example: 12345678
	AgentPortfolioGcid *int `json:"agentPortfolioGcid,omitempty"`

	// AgentPortfolioId The unique identifier of the agent-portfolio.
	//
	// Example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
	AgentPortfolioId *openapi_types.UUID `json:"agentPortfolioId,omitempty"`

	// AgentPortfolioName The display name of the agent-portfolio.
	//
	// Example: MyPort1
	AgentPortfolioName *string `json:"agentPortfolioName,omitempty"`

	// AgentPortfolioVirtualBalance 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
	AgentPortfolioVirtualBalance *float32 `json:"agentPortfolioVirtualBalance,omitempty"`

	// CreatedAt When this agent-portfolio was created.
	//
	// Example: 2026-03-01T10:30:00+00:00
	CreatedAt *time.Time `json:"createdAt,omitempty"`

	// MirrorId The Trading API mirror ID for this agent-portfolio's copy trade.
	//
	// Example: 12345
	MirrorId *int `json:"mirrorId,omitempty"`

	// UserTokens The user tokens associated with this agent-portfolio.
	UserTokens *[]AgentPortfolioUserTokenItem `json:"userTokens,omitempty"`
}

AgentPortfolioItem defines model for AgentPortfolioItem.

type AgentPortfolioUserTokenItem

type AgentPortfolioUserTokenItem struct {
	// ClientId The OAuth client identifier associated with the user token.
	//
	// Example: c1d2e3f4-a5b6-7890-cdef-123456789abc
	ClientId *openapi_types.UUID `json:"clientId,omitempty"`

	// CreatedAt When this user token was created.
	//
	// Example: 2026-03-01T10:30:00Z
	CreatedAt *time.Time `json:"createdAt,omitempty"`

	// ExpiresAt The expiration date and time of the user token in UTC.
	//
	// Example: 2026-12-31T23:59:59Z
	ExpiresAt *time.Time `json:"expiresAt,omitempty"`

	// ExternalApplicationName The name of the external application registered for this token.
	//
	// Example: Trading Bot v2
	ExternalApplicationName *string `json:"externalApplicationName,omitempty"`

	// IpsWhitelist The set of whitelisted IP addresses authorized to use this token.
	//
	// Example: ["192.168.1.1"]
	IpsWhitelist *[]string `json:"ipsWhitelist,omitempty"`

	// ScopeIds [DEPRECATED — use scopeNames instead] The set of permission scope identifiers granted 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.
	//
	// Example: [211,212]
	// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
	ScopeIds *[]int `json:"scopeIds,omitempty"`

	// ScopeNames 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.
	//
	// Example: ["etoro-public:trade.real:read","etoro-public:trade.real:write"]
	ScopeNames *[]string `json:"scopeNames,omitempty"`

	// UserTokenId The unique identifier of the user token.
	//
	// Example: f9e8d7c6-b5a4-3210-fedc-ba9876543210
	UserTokenId *openapi_types.UUID `json:"userTokenId,omitempty"`

	// UserTokenName The user-defined name for the user token.
	//
	// Example: my-trading-token
	UserTokenName *string `json:"userTokenName,omitempty"`
}

AgentPortfolioUserTokenItem defines model for AgentPortfolioUserTokenItem.

type AggregatedPortfolioDemoMirrorFilter

type AggregatedPortfolioDemoMirrorFilter struct {
	InstrumentIds *[]int32 `json:"instrumentIds,omitempty"`

	// InstrumentMode When omitted, or "default" is used, the top-level instrumentIds filter is used. custom requires a non-empty instrumentIds array; default, all, and none require instrumentIds to be omitted.
	InstrumentMode *AggregatedPortfolioDemoMirrorFilterInstrumentMode `json:"instrumentMode,omitempty"`
	MirrorId       int32                                              `json:"mirrorId"`
}

AggregatedPortfolioDemoMirrorFilter defines model for AggregatedPortfolioDemoMirrorFilter.

type AggregatedPortfolioDemoMirrorFilterInstrumentMode

type AggregatedPortfolioDemoMirrorFilterInstrumentMode string

AggregatedPortfolioDemoMirrorFilterInstrumentMode When omitted, or "default" is used, the top-level instrumentIds filter is used. custom requires a non-empty instrumentIds array; default, all, and none require instrumentIds to be omitted.

const (
	AggregatedPortfolioDemoMirrorFilterInstrumentModeAll     AggregatedPortfolioDemoMirrorFilterInstrumentMode = "all"
	AggregatedPortfolioDemoMirrorFilterInstrumentModeCustom  AggregatedPortfolioDemoMirrorFilterInstrumentMode = "custom"
	AggregatedPortfolioDemoMirrorFilterInstrumentModeDefault AggregatedPortfolioDemoMirrorFilterInstrumentMode = "default"
	AggregatedPortfolioDemoMirrorFilterInstrumentModeNone    AggregatedPortfolioDemoMirrorFilterInstrumentMode = "none"
)

Defines values for AggregatedPortfolioDemoMirrorFilterInstrumentMode.

func (AggregatedPortfolioDemoMirrorFilterInstrumentMode) Valid

Valid indicates whether the value is a known member of the AggregatedPortfolioDemoMirrorFilterInstrumentMode enum.

type AggregatedPortfolioDemoPostRequest

type AggregatedPortfolioDemoPostRequest struct {
	// AccountLevel Controls accountTotals. none omits it; totals and details include full-portfolio totals.
	AccountLevel   *AggregatedPortfolioDemoPostRequestAccountLevel   `json:"accountLevel,omitempty"`
	ConversionMode *AggregatedPortfolioDemoPostRequestConversionMode `json:"conversionMode,omitempty"`

	// DailyCutoffUtc UTC timestamp representing the start of 'today' in the user's local timezone — normally the user's most recent local midnight, expressed in UTC. Required when pnlLevel is dailyPnl; rejected otherwise. Must not be more than 48 hours in the past or more than 5 minutes in the future.
	DailyCutoffUtc *time.Time `json:"dailyCutoffUtc,omitempty"`
	InstrumentIds  *[]int32   `json:"instrumentIds,omitempty"`

	// InstrumentLevel Controls per-instrument aggregates for both the manual (non copy-trading) portfolio and each mirror's positions — a single request-level setting, not scoped per mirror. none omits instrument-level aggregates; totals and details include them at the requested level.
	InstrumentLevel *AggregatedPortfolioDemoPostRequestInstrumentLevel `json:"instrumentLevel,omitempty"`

	// MirrorFilters Filters which copy-trading relationships to include, by mirror ID. Mirror ID 0 represents the manual (non copy-trading) part of the portfolio. When mirrorLevel is none, mirrorFilters must be absent — only the manual part of the portfolio is returned. When mirrorLevel is totals or details, an absent mirrorFilters returns all mirrors plus the manual part; an empty array returns none.
	MirrorFilters *[]AggregatedPortfolioDemoMirrorFilter `json:"mirrorFilters,omitempty"`

	// MirrorLevel Controls copy-trading data. none omits mirrors and requires mirrorFilters to be absent; totals includes mirrors without their instrument-level aggregates; details additionally includes each mirror's instrument-level aggregates, per instrumentLevel.
	MirrorLevel *AggregatedPortfolioDemoPostRequestMirrorLevel `json:"mirrorLevel,omitempty"`
	PnlLevel    *AggregatedPortfolioDemoPostRequestPnlLevel    `json:"pnlLevel,omitempty"`
}

AggregatedPortfolioDemoPostRequest All aggregation levels are honored. Omitted properties use the same defaults as GET.

type AggregatedPortfolioDemoPostRequestAccountLevel

type AggregatedPortfolioDemoPostRequestAccountLevel string

AggregatedPortfolioDemoPostRequestAccountLevel Controls accountTotals. none omits it; totals and details include full-portfolio totals.

const (
	AggregatedPortfolioDemoPostRequestAccountLevelDetails AggregatedPortfolioDemoPostRequestAccountLevel = "details"
	AggregatedPortfolioDemoPostRequestAccountLevelNone    AggregatedPortfolioDemoPostRequestAccountLevel = "none"
	AggregatedPortfolioDemoPostRequestAccountLevelTotals  AggregatedPortfolioDemoPostRequestAccountLevel = "totals"
)

Defines values for AggregatedPortfolioDemoPostRequestAccountLevel.

func (AggregatedPortfolioDemoPostRequestAccountLevel) Valid

Valid indicates whether the value is a known member of the AggregatedPortfolioDemoPostRequestAccountLevel enum.

type AggregatedPortfolioDemoPostRequestConversionMode

type AggregatedPortfolioDemoPostRequestConversionMode string

AggregatedPortfolioDemoPostRequestConversionMode defines model for AggregatedPortfolioDemoPostRequest.ConversionMode.

const (
	AggregatedPortfolioDemoPostRequestConversionModeEToroApp AggregatedPortfolioDemoPostRequestConversionMode = "eToroApp"
	AggregatedPortfolioDemoPostRequestConversionModeRealtime AggregatedPortfolioDemoPostRequestConversionMode = "realtime"
)

Defines values for AggregatedPortfolioDemoPostRequestConversionMode.

func (AggregatedPortfolioDemoPostRequestConversionMode) Valid

Valid indicates whether the value is a known member of the AggregatedPortfolioDemoPostRequestConversionMode enum.

type AggregatedPortfolioDemoPostRequestInstrumentLevel

type AggregatedPortfolioDemoPostRequestInstrumentLevel string

AggregatedPortfolioDemoPostRequestInstrumentLevel Controls per-instrument aggregates for both the manual (non copy-trading) portfolio and each mirror's positions — a single request-level setting, not scoped per mirror. none omits instrument-level aggregates; totals and details include them at the requested level.

const (
	AggregatedPortfolioDemoPostRequestInstrumentLevelDetails AggregatedPortfolioDemoPostRequestInstrumentLevel = "details"
	AggregatedPortfolioDemoPostRequestInstrumentLevelNone    AggregatedPortfolioDemoPostRequestInstrumentLevel = "none"
	AggregatedPortfolioDemoPostRequestInstrumentLevelTotals  AggregatedPortfolioDemoPostRequestInstrumentLevel = "totals"
)

Defines values for AggregatedPortfolioDemoPostRequestInstrumentLevel.

func (AggregatedPortfolioDemoPostRequestInstrumentLevel) Valid

Valid indicates whether the value is a known member of the AggregatedPortfolioDemoPostRequestInstrumentLevel enum.

type AggregatedPortfolioDemoPostRequestMirrorLevel

type AggregatedPortfolioDemoPostRequestMirrorLevel string

AggregatedPortfolioDemoPostRequestMirrorLevel Controls copy-trading data. none omits mirrors and requires mirrorFilters to be absent; totals includes mirrors without their instrument-level aggregates; details additionally includes each mirror's instrument-level aggregates, per instrumentLevel.

const (
	AggregatedPortfolioDemoPostRequestMirrorLevelDetails AggregatedPortfolioDemoPostRequestMirrorLevel = "details"
	AggregatedPortfolioDemoPostRequestMirrorLevelNone    AggregatedPortfolioDemoPostRequestMirrorLevel = "none"
	AggregatedPortfolioDemoPostRequestMirrorLevelTotals  AggregatedPortfolioDemoPostRequestMirrorLevel = "totals"
)

Defines values for AggregatedPortfolioDemoPostRequestMirrorLevel.

func (AggregatedPortfolioDemoPostRequestMirrorLevel) Valid

Valid indicates whether the value is a known member of the AggregatedPortfolioDemoPostRequestMirrorLevel enum.

type AggregatedPortfolioDemoPostRequestPnlLevel

type AggregatedPortfolioDemoPostRequestPnlLevel string

AggregatedPortfolioDemoPostRequestPnlLevel defines model for AggregatedPortfolioDemoPostRequest.PnlLevel.

const (
	AggregatedPortfolioDemoPostRequestPnlLevelDailyPnl AggregatedPortfolioDemoPostRequestPnlLevel = "dailyPnl"
	AggregatedPortfolioDemoPostRequestPnlLevelNone     AggregatedPortfolioDemoPostRequestPnlLevel = "none"
	AggregatedPortfolioDemoPostRequestPnlLevelPnl      AggregatedPortfolioDemoPostRequestPnlLevel = "pnl"
)

Defines values for AggregatedPortfolioDemoPostRequestPnlLevel.

func (AggregatedPortfolioDemoPostRequestPnlLevel) Valid

Valid indicates whether the value is a known member of the AggregatedPortfolioDemoPostRequestPnlLevel enum.

type AggregatedPortfolioRealMirrorFilter

type AggregatedPortfolioRealMirrorFilter struct {
	InstrumentIds *[]int32 `json:"instrumentIds,omitempty"`

	// InstrumentMode When omitted, or "default" is used, the top-level instrumentIds filter is used. custom requires a non-empty instrumentIds array; default, all, and none require instrumentIds to be omitted.
	InstrumentMode *AggregatedPortfolioRealMirrorFilterInstrumentMode `json:"instrumentMode,omitempty"`
	MirrorId       int32                                              `json:"mirrorId"`
}

AggregatedPortfolioRealMirrorFilter defines model for AggregatedPortfolioRealMirrorFilter.

type AggregatedPortfolioRealMirrorFilterInstrumentMode

type AggregatedPortfolioRealMirrorFilterInstrumentMode string

AggregatedPortfolioRealMirrorFilterInstrumentMode When omitted, or "default" is used, the top-level instrumentIds filter is used. custom requires a non-empty instrumentIds array; default, all, and none require instrumentIds to be omitted.

const (
	AggregatedPortfolioRealMirrorFilterInstrumentModeAll     AggregatedPortfolioRealMirrorFilterInstrumentMode = "all"
	AggregatedPortfolioRealMirrorFilterInstrumentModeCustom  AggregatedPortfolioRealMirrorFilterInstrumentMode = "custom"
	AggregatedPortfolioRealMirrorFilterInstrumentModeDefault AggregatedPortfolioRealMirrorFilterInstrumentMode = "default"
	AggregatedPortfolioRealMirrorFilterInstrumentModeNone    AggregatedPortfolioRealMirrorFilterInstrumentMode = "none"
)

Defines values for AggregatedPortfolioRealMirrorFilterInstrumentMode.

func (AggregatedPortfolioRealMirrorFilterInstrumentMode) Valid

Valid indicates whether the value is a known member of the AggregatedPortfolioRealMirrorFilterInstrumentMode enum.

type AggregatedPortfolioRealPostRequest

type AggregatedPortfolioRealPostRequest struct {
	// AccountLevel Controls accountTotals. none omits it; totals and details include full-portfolio totals.
	AccountLevel   *AggregatedPortfolioRealPostRequestAccountLevel   `json:"accountLevel,omitempty"`
	ConversionMode *AggregatedPortfolioRealPostRequestConversionMode `json:"conversionMode,omitempty"`

	// DailyCutoffUtc UTC timestamp representing the start of 'today' in the user's local timezone — normally the user's most recent local midnight, expressed in UTC. Required when pnlLevel is dailyPnl; rejected otherwise. Must not be more than 48 hours in the past or more than 5 minutes in the future.
	DailyCutoffUtc *time.Time `json:"dailyCutoffUtc,omitempty"`
	InstrumentIds  *[]int32   `json:"instrumentIds,omitempty"`

	// InstrumentLevel Controls per-instrument aggregates for both the manual (non copy-trading) portfolio and each mirror's positions — a single request-level setting, not scoped per mirror. none omits instrument-level aggregates; totals and details include them at the requested level.
	InstrumentLevel *AggregatedPortfolioRealPostRequestInstrumentLevel `json:"instrumentLevel,omitempty"`

	// MirrorFilters Filters which copy-trading relationships to include, by mirror ID. Mirror ID 0 represents the manual (non copy-trading) part of the portfolio. When mirrorLevel is none, mirrorFilters must be absent — only the manual part of the portfolio is returned. When mirrorLevel is totals or details, an absent mirrorFilters returns all mirrors plus the manual part; an empty array returns none.
	MirrorFilters *[]AggregatedPortfolioRealMirrorFilter `json:"mirrorFilters,omitempty"`

	// MirrorLevel Controls copy-trading data. none omits mirrors and requires mirrorFilters to be absent; totals includes mirrors without their instrument-level aggregates; details additionally includes each mirror's instrument-level aggregates, per instrumentLevel.
	MirrorLevel *AggregatedPortfolioRealPostRequestMirrorLevel `json:"mirrorLevel,omitempty"`
	PnlLevel    *AggregatedPortfolioRealPostRequestPnlLevel    `json:"pnlLevel,omitempty"`
}

AggregatedPortfolioRealPostRequest All aggregation levels are honored. Omitted properties use the same defaults as GET.

type AggregatedPortfolioRealPostRequestAccountLevel

type AggregatedPortfolioRealPostRequestAccountLevel string

AggregatedPortfolioRealPostRequestAccountLevel Controls accountTotals. none omits it; totals and details include full-portfolio totals.

const (
	AggregatedPortfolioRealPostRequestAccountLevelDetails AggregatedPortfolioRealPostRequestAccountLevel = "details"
	AggregatedPortfolioRealPostRequestAccountLevelNone    AggregatedPortfolioRealPostRequestAccountLevel = "none"
	AggregatedPortfolioRealPostRequestAccountLevelTotals  AggregatedPortfolioRealPostRequestAccountLevel = "totals"
)

Defines values for AggregatedPortfolioRealPostRequestAccountLevel.

func (AggregatedPortfolioRealPostRequestAccountLevel) Valid

Valid indicates whether the value is a known member of the AggregatedPortfolioRealPostRequestAccountLevel enum.

type AggregatedPortfolioRealPostRequestConversionMode

type AggregatedPortfolioRealPostRequestConversionMode string

AggregatedPortfolioRealPostRequestConversionMode defines model for AggregatedPortfolioRealPostRequest.ConversionMode.

const (
	AggregatedPortfolioRealPostRequestConversionModeEToroApp AggregatedPortfolioRealPostRequestConversionMode = "eToroApp"
	AggregatedPortfolioRealPostRequestConversionModeRealtime AggregatedPortfolioRealPostRequestConversionMode = "realtime"
)

Defines values for AggregatedPortfolioRealPostRequestConversionMode.

func (AggregatedPortfolioRealPostRequestConversionMode) Valid

Valid indicates whether the value is a known member of the AggregatedPortfolioRealPostRequestConversionMode enum.

type AggregatedPortfolioRealPostRequestInstrumentLevel

type AggregatedPortfolioRealPostRequestInstrumentLevel string

AggregatedPortfolioRealPostRequestInstrumentLevel Controls per-instrument aggregates for both the manual (non copy-trading) portfolio and each mirror's positions — a single request-level setting, not scoped per mirror. none omits instrument-level aggregates; totals and details include them at the requested level.

const (
	AggregatedPortfolioRealPostRequestInstrumentLevelDetails AggregatedPortfolioRealPostRequestInstrumentLevel = "details"
	AggregatedPortfolioRealPostRequestInstrumentLevelNone    AggregatedPortfolioRealPostRequestInstrumentLevel = "none"
	AggregatedPortfolioRealPostRequestInstrumentLevelTotals  AggregatedPortfolioRealPostRequestInstrumentLevel = "totals"
)

Defines values for AggregatedPortfolioRealPostRequestInstrumentLevel.

func (AggregatedPortfolioRealPostRequestInstrumentLevel) Valid

Valid indicates whether the value is a known member of the AggregatedPortfolioRealPostRequestInstrumentLevel enum.

type AggregatedPortfolioRealPostRequestMirrorLevel

type AggregatedPortfolioRealPostRequestMirrorLevel string

AggregatedPortfolioRealPostRequestMirrorLevel Controls copy-trading data. none omits mirrors and requires mirrorFilters to be absent; totals includes mirrors without their instrument-level aggregates; details additionally includes each mirror's instrument-level aggregates, per instrumentLevel.

const (
	AggregatedPortfolioRealPostRequestMirrorLevelDetails AggregatedPortfolioRealPostRequestMirrorLevel = "details"
	AggregatedPortfolioRealPostRequestMirrorLevelNone    AggregatedPortfolioRealPostRequestMirrorLevel = "none"
	AggregatedPortfolioRealPostRequestMirrorLevelTotals  AggregatedPortfolioRealPostRequestMirrorLevel = "totals"
)

Defines values for AggregatedPortfolioRealPostRequestMirrorLevel.

func (AggregatedPortfolioRealPostRequestMirrorLevel) Valid

Valid indicates whether the value is a known member of the AggregatedPortfolioRealPostRequestMirrorLevel enum.

type AggregatedPortfolioRealPostRequestPnlLevel

type AggregatedPortfolioRealPostRequestPnlLevel string

AggregatedPortfolioRealPostRequestPnlLevel defines model for AggregatedPortfolioRealPostRequest.PnlLevel.

const (
	AggregatedPortfolioRealPostRequestPnlLevelDailyPnl AggregatedPortfolioRealPostRequestPnlLevel = "dailyPnl"
	AggregatedPortfolioRealPostRequestPnlLevelNone     AggregatedPortfolioRealPostRequestPnlLevel = "none"
	AggregatedPortfolioRealPostRequestPnlLevelPnl      AggregatedPortfolioRealPostRequestPnlLevel = "pnl"
)

Defines values for AggregatedPortfolioRealPostRequestPnlLevel.

func (AggregatedPortfolioRealPostRequestPnlLevel) Valid

Valid indicates whether the value is a known member of the AggregatedPortfolioRealPostRequestPnlLevel enum.

type ApiErrorEnvelope

type ApiErrorEnvelope struct {
	Error *struct {
		// Code Machine-readable error code
		Code *string `json:"code,omitempty"`

		// Message Human-readable error message
		Message *string `json:"message,omitempty"`
	} `json:"error,omitempty"`

	// Success Always false for error responses.
	Success *bool `json:"success,omitempty"`
}

ApiErrorEnvelope Error envelope

type ApplicationItem

type ApplicationItem struct {
	// AdminGcids GCIDs of users who can administer this application.
	AdminGcids *[]int64 `json:"adminGcids,omitempty"`

	// AllowedGcids GCIDs permitted to use this application.
	AllowedGcids *[]int64 `json:"allowedGcids,omitempty"`

	// ApplicationIconUrl URL of the application icon.
	ApplicationIconUrl *string `json:"applicationIconUrl,omitempty"`

	// ApplicationId Internal numeric identifier of the application.
	ApplicationId *int64 `json:"applicationId,omitempty"`

	// ApplicationName Display name of the application.
	ApplicationName *string `json:"applicationName,omitempty"`

	// ApplicationState Lifecycle state of the application (e.g. `InDev`, `Approved`).
	ApplicationState *string `json:"applicationState,omitempty"`

	// ApplicationType OAuth application type (e.g. `public`, `confidential`).
	ApplicationType *string `json:"applicationType,omitempty"`

	// Audience OAuth audience claim issued for tokens minted for this application.
	Audience *string `json:"audience,omitempty"`

	// ClientId OAuth client identifier. Stable across the lifetime of the application.
	ClientId *openapi_types.UUID `json:"clientId,omitempty"`

	// RedirectUris Registered OAuth redirect URIs.
	RedirectUris *[]string `json:"redirectUris,omitempty"`

	// Scopes Scopes assigned to the application, including which are mandatory at consent time.
	Scopes *[]ApplicationScopeItem `json:"scopes,omitempty"`

	// SsoAccessTokenExpirationInMinutes Lifetime of issued SSO access tokens, in minutes.
	SsoAccessTokenExpirationInMinutes *int `json:"ssoAccessTokenExpirationInMinutes,omitempty"`

	// SsoIdTokenExpirationInMinutes Lifetime of issued SSO id tokens, in minutes.
	SsoIdTokenExpirationInMinutes *int `json:"ssoIdTokenExpirationInMinutes,omitempty"`

	// SsoRefreshTokenExpirationInMinutes Lifetime of issued SSO refresh tokens, in minutes.
	SsoRefreshTokenExpirationInMinutes *int `json:"ssoRefreshTokenExpirationInMinutes,omitempty"`

	// SupportedCodeChallengeMethods PKCE code-challenge methods supported by the application (e.g. `S256`).
	SupportedCodeChallengeMethods *[]string `json:"supportedCodeChallengeMethods,omitempty"`

	// SupportedFlows OAuth flows supported by the application (e.g. `authorization_code`, `refresh_token`).
	SupportedFlows *[]string `json:"supportedFlows,omitempty"`
}

ApplicationItem Full application record. The `clientSecret` is intentionally excluded.

type ApplicationScopeItem

type ApplicationScopeItem struct {
	// IsMandatory When true, the user cannot deselect this scope on the consent screen.
	IsMandatory *bool `json:"isMandatory,omitempty"`

	// ScopeId Scope identifier.
	ScopeId *int `json:"scopeId,omitempty"`
}

ApplicationScopeItem Scope entry as returned in application reads.

type AssetScore

type AssetScore struct {
	// Id The unique identifier of the asset
	//
	// Example: 1001
	Id *int32 `json:"id,omitempty"`

	// Score The impressions-based score of the asset for the given user
	//
	// Example: 0.87
	Score *float32 `json:"score,omitempty"`

	// TargetType The type of the target entity the score is associated with
	//
	// Example: 1
	TargetType *int32 `json:"targetType,omitempty"`
}

AssetScore Represents a scored asset entry from the impressions cache

type AssetsHistoryAsset

type AssetsHistoryAsset struct {
	InstrumentId int `json:"instrumentId"`

	// InvestedPct Amount invested in this instrument as a ratio of realized equity. Decimal fraction: 0.5 = 50%.
	InvestedPct float32 `json:"investedPct"`

	// Symbol Trading symbol for this instrument (e.g. AAPL, TSLA)
	Symbol string `json:"symbol"`

	// ValuePct Current value of this instrument as a ratio of total equity. Decimal fraction: 0.5 = 50%.
	ValuePct float32 `json:"valuePct"`
}

AssetsHistoryAsset defines model for AssetsHistoryAsset.

type AssetsHistoryEntry

type AssetsHistoryEntry struct {
	// Assets Per-instrument breakdown. Mirror allocations are excluded.
	Assets []AssetsHistoryAsset `json:"assets"`

	// CashOfTotalEquityPct Cash/credit as a ratio of total equity (cash + invested capital + open P&L). Decimal fraction: 0.5 = 50%.
	CashOfTotalEquityPct float32 `json:"cashOfTotalEquityPct"`

	// CashPct Cash/credit as a ratio of realized equity (cash + invested capital, excluding open P&L). Decimal fraction: 0.5 = 50%.
	CashPct float32 `json:"cashPct"`

	// Date Date of this snapshot (YYYY-MM-DD)
	Date openapi_types.Date `json:"date"`
}

AssetsHistoryEntry defines model for AssetsHistoryEntry.

type AssetsHistoryResponse

type AssetsHistoryResponse struct {
	Results []AssetsHistoryEntry `json:"results"`

	// UserName Echoes the requested username.
	UserName string `json:"userName"`
}

AssetsHistoryResponse defines model for AssetsHistoryResponse.

type BalanceAggregatorApiAccountType

type BalanceAggregatorApiAccountType string

BalanceAggregatorApiAccountType The type of etoro account, as returned in response bodies.

const (
	BalanceAggregatorApiAccountTypeCash      BalanceAggregatorApiAccountType = "Cash"
	BalanceAggregatorApiAccountTypeCrypto    BalanceAggregatorApiAccountType = "Crypto"
	BalanceAggregatorApiAccountTypeMoneyFarm BalanceAggregatorApiAccountType = "MoneyFarm"
	BalanceAggregatorApiAccountTypeOptions   BalanceAggregatorApiAccountType = "Options"
	BalanceAggregatorApiAccountTypePlaee     BalanceAggregatorApiAccountType = "Plaee"
	BalanceAggregatorApiAccountTypeSpaceship BalanceAggregatorApiAccountType = "Spaceship"
	BalanceAggregatorApiAccountTypeTrading   BalanceAggregatorApiAccountType = "Trading"
)

Defines values for BalanceAggregatorApiAccountType.

func (BalanceAggregatorApiAccountType) Valid

Valid indicates whether the value is a known member of the BalanceAggregatorApiAccountType enum.

type BalanceAggregatorApiPublicErrorResponse

type BalanceAggregatorApiPublicErrorResponse struct {
	// ErrorCode Error code.
	ErrorCode *string `json:"errorCode,omitempty"`

	// ErrorMessage Human-readable error message.
	ErrorMessage *string `json:"errorMessage,omitempty"`
}

BalanceAggregatorApiPublicErrorResponse Standard error response returned by the API gateway.

type BalancesErrorResponse

type BalancesErrorResponse struct {
	// Code Error code (e.g., VALIDATION_ERROR, USER_NOT_FOUND).
	Code *string `json:"code,omitempty"`

	// Message Human-readable error message.
	Message *string `json:"message,omitempty"`

	// RequestId Request ID for tracing and support.
	RequestId *string `json:"requestId,omitempty"`
}

BalancesErrorResponse Error response returned for client-side errors (4xx).

type BankIdentifierEntry

type BankIdentifierEntry struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

BankIdentifierEntry defines model for BankIdentifierEntry.

type BankTransferDetails

type BankTransferDetails struct {
	BankIdentifier   *[]BankIdentifierEntry `json:"bankIdentifier,omitempty"`
	Description      *string                `json:"description,omitempty"`
	PaymentReference *string                `json:"paymentReference,omitempty"`
}

BankTransferDetails defines model for BankTransferDetails.

type BetaTestKeydataResponse

type BetaTestKeydataResponse struct {
	// Application The application the key data belongs to.
	Application *string `json:"application,omitempty"`

	// Data The key/value data configured for the application.
	Data *map[string]interface{} `json:"data,omitempty"`
}

BetaTestKeydataResponse defines model for BetaTestKeydataResponse.

type BffFacadeRequest

type BffFacadeRequest struct {
	// Components Components to resolve; must include a userWatchlists entry
	Components []struct {
		// Params Component-specific parameters
		Params *struct {
			// AddRelatedAssets Whether to include related assets on watchlists
			//
			// Example: true
			AddRelatedAssets *bool `json:"addRelatedAssets,omitempty"`

			// EnsureBuiltinWatchlists Whether to ensure built-in watchlists exist for the user
			//
			// Example: true
			EnsureBuiltinWatchlists *bool `json:"ensureBuiltinWatchlists,omitempty"`

			// ItemsPerPageForSingle Number of items to include per watchlist
			//
			// Example: 2
			ItemsPerPageForSingle *int32 `json:"itemsPerPageForSingle,omitempty"`
		} `json:"params,omitempty"`

		// SupportedVariations Example: []
		SupportedVariations *[]string `json:"supportedVariations,omitempty"`

		// Type Component type
		//
		// Example: userWatchlists
		Type string `json:"type"`
	} `json:"components"`

	// RequestId Caller-supplied correlation id for the BFF request
	//
	// Example: d1aab7dd-8a63-4a64-9b9f-8b6c0e2e0f2a
	RequestId string `json:"requestId"`

	// Version BFF request contract version
	//
	// Example: 1
	Version int32 `json:"version"`
}

BffFacadeRequest BFF facade request selecting one or more components to resolve

type CancelOrderResponse

type CancelOrderResponse struct {
	// OrderId The identifier of the order the cancellation request applies to.
	//
	// Example: 13902598
	OrderId *int64 `json:"orderId,omitempty"`

	// ReferenceId Present for response-shape parity with create. Currently always returned as an empty string; cancellation does not echo X-Request-Id.
	//
	// Example:
	ReferenceId *string `json:"referenceId,omitempty"`
}

CancelOrderResponse Response payload after a cancellation request is accepted for asynchronous processing.

type CandlePoint

type CandlePoint struct {
	// Price Price at the candle timestamp.
	Price *float64 `json:"price,omitempty"`

	// Timestamp Candle timestamp (ISO 8601 UTC).
	Timestamp *time.Time `json:"timestamp,omitempty"`
}

CandlePoint A single price candle point.

type CandlesResponse

type CandlesResponse struct {
	// Candles List of candle data grouped by instrument
	Candles *[]struct {
		// Candles List of individual candles representing price action over time
		Candles *[]struct {
			// Close Closing price at the end of the candle period
			Close *float32 `json:"close,omitempty"`

			// FromDate Start time of the candle period in ISO 8601 format
			FromDate *time.Time `json:"fromDate,omitempty"`

			// High Highest price reached during the candle period
			High *float32 `json:"high,omitempty"`

			// InstrumentID Identifier of the instrument this candle belongs to
			InstrumentID *int `json:"instrumentID,omitempty"`

			// Low Lowest price reached during the candle period
			Low *float32 `json:"low,omitempty"`

			// Open Opening price at the start of the candle period
			Open *float32 `json:"open,omitempty"`

			// Volume Trading volume during the candle period
			Volume *float32 `json:"volume,omitempty"`
		} `json:"candles,omitempty"`

		// InstrumentId Identifier of the instrument these candles belong to
		InstrumentId *int `json:"instrumentId,omitempty"`

		// RangeClose Closing price of the last candle in the range
		RangeClose *float32 `json:"rangeClose,omitempty"`

		// RangeHigh Highest price across all candles in the range
		RangeHigh *float32 `json:"rangeHigh,omitempty"`

		// RangeLow Lowest price across all candles in the range
		RangeLow *float32 `json:"rangeLow,omitempty"`

		// RangeOpen Opening price of the first candle in the range
		RangeOpen *float32 `json:"rangeOpen,omitempty"`

		// Volume Total trading volume across all candles in the range
		Volume *float32 `json:"volume,omitempty"`
	} `json:"candles,omitempty"`

	// Interval Time interval of the returned candles. Matches the interval parameter from the request.
	Interval *CandlesResponseInterval `json:"interval,omitempty"`
}

CandlesResponse Response containing historical price data in candlestick format

type CandlesResponseInterval

type CandlesResponseInterval string

CandlesResponseInterval Time interval of the returned candles. Matches the interval parameter from the request.

const (
	CandlesResponseIntervalFifteenMinutes CandlesResponseInterval = "FifteenMinutes"
	CandlesResponseIntervalFiveMinutes    CandlesResponseInterval = "FiveMinutes"
	CandlesResponseIntervalFourHours      CandlesResponseInterval = "FourHours"
	CandlesResponseIntervalOneDay         CandlesResponseInterval = "OneDay"
	CandlesResponseIntervalOneHour        CandlesResponseInterval = "OneHour"
	CandlesResponseIntervalOneMinute      CandlesResponseInterval = "OneMinute"
	CandlesResponseIntervalOneWeek        CandlesResponseInterval = "OneWeek"
	CandlesResponseIntervalTenMinutes     CandlesResponseInterval = "TenMinutes"
	CandlesResponseIntervalThirtyMinutes  CandlesResponseInterval = "ThirtyMinutes"
)

Defines values for CandlesResponseInterval.

func (CandlesResponseInterval) Valid

func (e CandlesResponseInterval) Valid() bool

Valid indicates whether the value is a known member of the CandlesResponseInterval enum.

type CardTransactionDetails

type CardTransactionDetails struct {
	AuthorizationStatus *CardTransactionDetailsAuthorizationStatus `json:"authorizationStatus,omitempty"`
	CardId              *string                                    `json:"cardId,omitempty"`
	Country             *string                                    `json:"country,omitempty"`
	MerchantName        *string                                    `json:"merchantName,omitempty"`
}

CardTransactionDetails defines model for CardTransactionDetails.

type CardTransactionDetailsAuthorizationStatus

type CardTransactionDetailsAuthorizationStatus string

CardTransactionDetailsAuthorizationStatus defines model for CardTransactionDetails.AuthorizationStatus.

const (
	CardTransactionDetailsAuthorizationStatusAccountFunding    CardTransactionDetailsAuthorizationStatus = "accountFunding"
	CardTransactionDetailsAuthorizationStatusAuthorizeAdvice   CardTransactionDetailsAuthorizationStatus = "authorizeAdvice"
	CardTransactionDetailsAuthorizationStatusDelayedCharges    CardTransactionDetailsAuthorizationStatus = "delayedCharges"
	CardTransactionDetailsAuthorizationStatusFinalAuthorize    CardTransactionDetailsAuthorizationStatus = "finalAuthorize"
	CardTransactionDetailsAuthorizationStatusIncremental       CardTransactionDetailsAuthorizationStatus = "incremental"
	CardTransactionDetailsAuthorizationStatusInstalment        CardTransactionDetailsAuthorizationStatus = "instalment"
	CardTransactionDetailsAuthorizationStatusNoShow            CardTransactionDetailsAuthorizationStatus = "noShow"
	CardTransactionDetailsAuthorizationStatusNormal            CardTransactionDetailsAuthorizationStatus = "normal"
	CardTransactionDetailsAuthorizationStatusPreAuthorize      CardTransactionDetailsAuthorizationStatus = "preAuthorize"
	CardTransactionDetailsAuthorizationStatusPreferredCustomer CardTransactionDetailsAuthorizationStatus = "preferredCustomer"
	CardTransactionDetailsAuthorizationStatusRecurring         CardTransactionDetailsAuthorizationStatus = "recurring"
	CardTransactionDetailsAuthorizationStatusRefund            CardTransactionDetailsAuthorizationStatus = "refund"
	CardTransactionDetailsAuthorizationStatusReversal          CardTransactionDetailsAuthorizationStatus = "reversal"
	CardTransactionDetailsAuthorizationStatusSysReversal       CardTransactionDetailsAuthorizationStatus = "sysReversal"
	CardTransactionDetailsAuthorizationStatusUnknown           CardTransactionDetailsAuthorizationStatus = "unknown"
)

Defines values for CardTransactionDetailsAuthorizationStatus.

func (CardTransactionDetailsAuthorizationStatus) Valid

Valid indicates whether the value is a known member of the CardTransactionDetailsAuthorizationStatus enum.

type CashAccountTransaction

type CashAccountTransaction struct {
	AccountId string `json:"accountId"`

	// Amount Decimal amount as string
	Amount                         string                  `json:"amount"`
	BankTransferTransactionDetails *BankTransferDetails    `json:"bankTransferTransactionDetails,omitempty"`
	CardTransactionDetails         *CardTransactionDetails `json:"cardTransactionDetails,omitempty"`
	ConversionRate                 *string                 `json:"conversionRate,omitempty"`
	Counterparty                   *Counterparty           `json:"counterparty,omitempty"`

	// Currency ISO 4217 alphabetic currency code
	Currency                           string                                   `json:"currency"`
	Direction                          CashAccountTransactionDirection          `json:"direction"`
	Id                                 string                                   `json:"id"`
	InternalTransferTransactionDetails *InternalTransferDetails                 `json:"internalTransferTransactionDetails,omitempty"`
	OriginalAmount                     *string                                  `json:"originalAmount,omitempty"`
	OriginalCurrency                   *string                                  `json:"originalCurrency,omitempty"`
	PostedAt                           time.Time                                `json:"postedAt"`
	Status                             CashAccountTransactionStatus             `json:"status"`
	TransactionSubtype                 CashAccountTransactionTransactionSubtype `json:"transactionSubtype"`
	TransactionType                    CashAccountTransactionTransactionType    `json:"transactionType"`
}

CashAccountTransaction defines model for CashAccountTransaction.

type CashAccountTransactionDirection

type CashAccountTransactionDirection string

CashAccountTransactionDirection defines model for CashAccountTransaction.Direction.

const (
	CashAccountTransactionDirectionCredit CashAccountTransactionDirection = "credit"
	CashAccountTransactionDirectionDebit  CashAccountTransactionDirection = "debit"
)

Defines values for CashAccountTransactionDirection.

func (CashAccountTransactionDirection) Valid

Valid indicates whether the value is a known member of the CashAccountTransactionDirection enum.

type CashAccountTransactionStatus

type CashAccountTransactionStatus string

CashAccountTransactionStatus defines model for CashAccountTransaction.Status.

const (
	CashAccountTransactionStatusAuthorized CashAccountTransactionStatus = "authorized"
	CashAccountTransactionStatusExpired    CashAccountTransactionStatus = "expired"
	CashAccountTransactionStatusFailed     CashAccountTransactionStatus = "failed"
	CashAccountTransactionStatusRejected   CashAccountTransactionStatus = "rejected"
	CashAccountTransactionStatusReturned   CashAccountTransactionStatus = "returned"
	CashAccountTransactionStatusSettled    CashAccountTransactionStatus = "settled"
	CashAccountTransactionStatusUnknown    CashAccountTransactionStatus = "unknown"
)

Defines values for CashAccountTransactionStatus.

func (CashAccountTransactionStatus) Valid

Valid indicates whether the value is a known member of the CashAccountTransactionStatus enum.

type CashAccountTransactionTransactionSubtype

type CashAccountTransactionTransactionSubtype string

CashAccountTransactionTransactionSubtype defines model for CashAccountTransaction.TransactionSubtype.

const (
	CashAccountTransactionTransactionSubtypeCardPayment             CashAccountTransactionTransactionSubtype = "cardPayment"
	CashAccountTransactionTransactionSubtypeCashWithdrawal          CashAccountTransactionTransactionSubtype = "cashWithdrawal"
	CashAccountTransactionTransactionSubtypeContactless             CashAccountTransactionTransactionSubtype = "contactless"
	CashAccountTransactionTransactionSubtypeCreditBalanceAdjustment CashAccountTransactionTransactionSubtype = "creditBalanceAdjustment"
	CashAccountTransactionTransactionSubtypeCryptoToFiat            CashAccountTransactionTransactionSubtype = "cryptoToFiat"
	CashAccountTransactionTransactionSubtypeDebitBalanceAdjustment  CashAccountTransactionTransactionSubtype = "debitBalanceAdjustment"
	CashAccountTransactionTransactionSubtypeDirectDebit             CashAccountTransactionTransactionSubtype = "directDebit"
	CashAccountTransactionTransactionSubtypeFee                     CashAccountTransactionTransactionSubtype = "fee"
	CashAccountTransactionTransactionSubtypeOnlinePayment           CashAccountTransactionTransactionSubtype = "onlinePayment"
	CashAccountTransactionTransactionSubtypePayment                 CashAccountTransactionTransactionSubtype = "payment"
	CashAccountTransactionTransactionSubtypePaymentReceived         CashAccountTransactionTransactionSubtype = "paymentReceived"
	CashAccountTransactionTransactionSubtypeRefund                  CashAccountTransactionTransactionSubtype = "refund"
	CashAccountTransactionTransactionSubtypeTransfer                CashAccountTransactionTransactionSubtype = "transfer"
	CashAccountTransactionTransactionSubtypeTransferReceived        CashAccountTransactionTransactionSubtype = "transferReceived"
	CashAccountTransactionTransactionSubtypeUnknown                 CashAccountTransactionTransactionSubtype = "unknown"
)

Defines values for CashAccountTransactionTransactionSubtype.

func (CashAccountTransactionTransactionSubtype) Valid

Valid indicates whether the value is a known member of the CashAccountTransactionTransactionSubtype enum.

type CashAccountTransactionTransactionType

type CashAccountTransactionTransactionType string

CashAccountTransactionTransactionType defines model for CashAccountTransaction.TransactionType.

const (
	CashAccountTransactionTransactionTypeBalanceAdjustment CashAccountTransactionTransactionType = "balanceAdjustment"
	CashAccountTransactionTransactionTypeBankTransfer      CashAccountTransactionTransactionType = "bankTransfer"
	CashAccountTransactionTransactionTypeCard              CashAccountTransactionTransactionType = "card"
	CashAccountTransactionTransactionTypeInternalTransfer  CashAccountTransactionTransactionType = "internalTransfer"
)

Defines values for CashAccountTransactionTransactionType.

func (CashAccountTransactionTransactionType) Valid

Valid indicates whether the value is a known member of the CashAccountTransactionTransactionType enum.

type CashAccountTransactionsResponse

type CashAccountTransactionsResponse struct {
	Pagination PaginationCursor         `json:"pagination"`
	Results    []CashAccountTransaction `json:"results"`
}

CashAccountTransactionsResponse defines model for CashAccountTransactionsResponse.

type CheckCopyTradingEligibilityDemoJSONRequestBody

type CheckCopyTradingEligibilityDemoJSONRequestBody = CopyTradingEligibilityRequest

CheckCopyTradingEligibilityDemoJSONRequestBody defines body for CheckCopyTradingEligibilityDemo for application/json ContentType.

type CheckCopyTradingEligibilityDemoParams

type CheckCopyTradingEligibilityDemoParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

CheckCopyTradingEligibilityDemoParams defines parameters for CheckCopyTradingEligibilityDemo.

type CheckCopyTradingEligibilityDemoResponse

type CheckCopyTradingEligibilityDemoResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *CopyTradingEligibilityResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *CopyTradingErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *GatewayErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *GatewayErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *GatewayErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *CopyTradingErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *CheckCopyTradingEligibilityDemoResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CheckCopyTradingEligibilityDemoResponse429Headers
}

func ParseCheckCopyTradingEligibilityDemoResponse

func ParseCheckCopyTradingEligibilityDemoResponse(rsp *http.Response) (*CheckCopyTradingEligibilityDemoResponse, error)

ParseCheckCopyTradingEligibilityDemoResponse parses an HTTP response from a CheckCopyTradingEligibilityDemoWithResponse call

func (CheckCopyTradingEligibilityDemoResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CheckCopyTradingEligibilityDemoResponse) GetBody

GetBody returns the raw response body bytes

func (CheckCopyTradingEligibilityDemoResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (CheckCopyTradingEligibilityDemoResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (CheckCopyTradingEligibilityDemoResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (CheckCopyTradingEligibilityDemoResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (CheckCopyTradingEligibilityDemoResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (CheckCopyTradingEligibilityDemoResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (CheckCopyTradingEligibilityDemoResponse) Status

Status returns HTTPResponse.Status

func (CheckCopyTradingEligibilityDemoResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type CheckCopyTradingEligibilityDemoResponse200Headers

type CheckCopyTradingEligibilityDemoResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CheckCopyTradingEligibilityDemoResponse200Headers the declared response headers of an HTTP 200 response for CheckCopyTradingEligibilityDemo

type CheckCopyTradingEligibilityDemoResponse429Headers

type CheckCopyTradingEligibilityDemoResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CheckCopyTradingEligibilityDemoResponse429Headers the declared response headers of an HTTP 429 response for CheckCopyTradingEligibilityDemo

type CheckCopyTradingEligibilityJSONRequestBody

type CheckCopyTradingEligibilityJSONRequestBody = CopyTradingEligibilityRequest

CheckCopyTradingEligibilityJSONRequestBody defines body for CheckCopyTradingEligibility for application/json ContentType.

type CheckCopyTradingEligibilityParams

type CheckCopyTradingEligibilityParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

CheckCopyTradingEligibilityParams defines parameters for CheckCopyTradingEligibility.

type CheckCopyTradingEligibilityResponse

type CheckCopyTradingEligibilityResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *CopyTradingEligibilityResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *CopyTradingErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *GatewayErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *GatewayErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *GatewayErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *CopyTradingErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *CheckCopyTradingEligibilityResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CheckCopyTradingEligibilityResponse429Headers
}

func ParseCheckCopyTradingEligibilityResponse

func ParseCheckCopyTradingEligibilityResponse(rsp *http.Response) (*CheckCopyTradingEligibilityResponse, error)

ParseCheckCopyTradingEligibilityResponse parses an HTTP response from a CheckCopyTradingEligibilityWithResponse call

func (CheckCopyTradingEligibilityResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CheckCopyTradingEligibilityResponse) GetBody

GetBody returns the raw response body bytes

func (CheckCopyTradingEligibilityResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (CheckCopyTradingEligibilityResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (CheckCopyTradingEligibilityResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (CheckCopyTradingEligibilityResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (CheckCopyTradingEligibilityResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (CheckCopyTradingEligibilityResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (CheckCopyTradingEligibilityResponse) Status

Status returns HTTPResponse.Status

func (CheckCopyTradingEligibilityResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type CheckCopyTradingEligibilityResponse200Headers

type CheckCopyTradingEligibilityResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CheckCopyTradingEligibilityResponse200Headers the declared response headers of an HTTP 200 response for CheckCopyTradingEligibility

type CheckCopyTradingEligibilityResponse429Headers

type CheckCopyTradingEligibilityResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CheckCopyTradingEligibilityResponse429Headers the declared response headers of an HTTP 429 response for CheckCopyTradingEligibility

type Client

type Client struct {
	// The endpoint of the server conforming to this interface, with scheme,
	// https://api.deepmap.com for example. This can contain a path relative
	// to the server, such as https://api.deepmap.com/dev-test, and all the
	// paths in the swagger spec will be appended to the server.
	Server string

	// Doer for performing requests, typically a *http.Client with any
	// customized settings, such as certificate chains.
	Client HttpRequestDoer

	// A list of callbacks for modifying requests which are generated before sending over
	// the network.
	RequestEditors []RequestEditorFn
}

Client which conforms to the OpenAPI3 specification for this service.

func NewClient

func NewClient(server string, opts ...ClientOption) (*Client, error)

Creates a new Client, with reasonable defaults

func (*Client) CheckCopyTradingEligibility

func (c *Client) CheckCopyTradingEligibility(ctx context.Context, params *CheckCopyTradingEligibilityParams, body CheckCopyTradingEligibilityJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

CheckCopyTradingEligibility Pre-check whether a copy registration would be allowed

**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.

---

A dry run of the register operation that changes nothing: verifies whether the authenticated account can copy the given investor with the given amount. Request body is the same as starting a new copy (POST /api/v2/trading/copy). A positive verdict is a point-in-time check, not a reservation. When isSuccess is false, errorCode and errorMessage may be absent.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v2/trading/copy/eligibility (the `CheckCopyTradingEligibility` operationId).

func (*Client) CheckCopyTradingEligibilityDemo

func (c *Client) CheckCopyTradingEligibilityDemo(ctx context.Context, params *CheckCopyTradingEligibilityDemoParams, body CheckCopyTradingEligibilityDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

CheckCopyTradingEligibilityDemo Pre-check whether a copy registration would be allowed

**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.

---

A dry run of the register operation that changes nothing: verifies whether the authenticated account can copy the given investor with the given amount. Request body is the same as starting a new copy (POST /api/v2/trading/copy/demo). A positive verdict is a point-in-time check, not a reservation. When isSuccess is false, errorCode and errorMessage may be absent.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v2/trading/copy/demo/eligibility (the `CheckCopyTradingEligibilityDemo` operationId).

func (*Client) CheckCopyTradingEligibilityDemoWithBody

func (c *Client) CheckCopyTradingEligibilityDemoWithBody(ctx context.Context, params *CheckCopyTradingEligibilityDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

CheckCopyTradingEligibilityDemoWithBody Pre-check whether a copy registration would be allowed

**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.

---

A dry run of the register operation that changes nothing: verifies whether the authenticated account can copy the given investor with the given amount. Request body is the same as starting a new copy (POST /api/v2/trading/copy/demo). A positive verdict is a point-in-time check, not a reservation. When isSuccess is false, errorCode and errorMessage may be absent.

Takes any type of body and a specified content type.

Corresponds with POST /api/v2/trading/copy/demo/eligibility (the `CheckCopyTradingEligibilityDemo` operationId).

func (*Client) CheckCopyTradingEligibilityWithBody

func (c *Client) CheckCopyTradingEligibilityWithBody(ctx context.Context, params *CheckCopyTradingEligibilityParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

CheckCopyTradingEligibilityWithBody Pre-check whether a copy registration would be allowed

**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.

---

A dry run of the register operation that changes nothing: verifies whether the authenticated account can copy the given investor with the given amount. Request body is the same as starting a new copy (POST /api/v2/trading/copy). A positive verdict is a point-in-time check, not a reservation. When isSuccess is false, errorCode and errorMessage may be absent.

Takes any type of body and a specified content type.

Corresponds with POST /api/v2/trading/copy/eligibility (the `CheckCopyTradingEligibility` operationId).

func (*Client) CloseCopyTrading

func (c *Client) CloseCopyTrading(ctx context.Context, params *CloseCopyTradingParams, reqEditors ...RequestEditorFn) (*http.Response, error)

CloseCopyTrading Close or detach a copy relationship

**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.

---

This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. The relationship is selected by mirrorID; identity is resolved from the authenticated caller. This binding takes all fields as query parameters and rejects any request carrying a body — use POST /api/v2/trading/copy/close for a JSON-body equivalent. The operation is asynchronous and the response token is an acknowledgment only: close completion is not pollable through this API.

Corresponds with DELETE /api/v2/trading/copy (the `CloseCopyTrading` operationId).

func (*Client) CloseCopyTradingDemo

func (c *Client) CloseCopyTradingDemo(ctx context.Context, params *CloseCopyTradingDemoParams, reqEditors ...RequestEditorFn) (*http.Response, error)

CloseCopyTradingDemo Close or detach a copy relationship

**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.

---

This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. The relationship is selected by mirrorID; identity is resolved from the authenticated caller. This binding takes all fields as query parameters and rejects any request carrying a body — use POST /api/v2/trading/copy/demo/close for a JSON-body equivalent. The operation is asynchronous and the response token is an acknowledgment only: close completion is not pollable through this API.

Corresponds with DELETE /api/v2/trading/copy/demo (the `CloseCopyTradingDemo` operationId).

func (*Client) CloseCopyTradingViaPost

func (c *Client) CloseCopyTradingViaPost(ctx context.Context, params *CloseCopyTradingViaPostParams, body CloseCopyTradingViaPostJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

CloseCopyTradingViaPost Close or detach a copy relationship (JSON body)

**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.

---

This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. Identical semantics to DELETE /api/v2/trading/copy, with the fields carried in a JSON body instead of query parameters — provided because some HTTP clients and proxies handle DELETE requests with bodies unreliably. The response token is an acknowledgment only: close completion is not pollable through this API.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v2/trading/copy/close (the `CloseCopyTradingViaPost` operationId).

func (*Client) CloseCopyTradingViaPostDemo

func (c *Client) CloseCopyTradingViaPostDemo(ctx context.Context, params *CloseCopyTradingViaPostDemoParams, body CloseCopyTradingViaPostDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

CloseCopyTradingViaPostDemo Close or detach a copy relationship (JSON body)

**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.

---

This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. Identical semantics to DELETE /api/v2/trading/copy/demo, with the fields carried in a JSON body instead of query parameters — provided because some HTTP clients and proxies handle DELETE requests with bodies unreliably. The response token is an acknowledgment only: close completion is not pollable through this API.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v2/trading/copy/demo/close (the `CloseCopyTradingViaPostDemo` operationId).

func (*Client) CloseCopyTradingViaPostDemoWithBody

func (c *Client) CloseCopyTradingViaPostDemoWithBody(ctx context.Context, params *CloseCopyTradingViaPostDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

CloseCopyTradingViaPostDemoWithBody Close or detach a copy relationship (JSON body)

**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.

---

This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. Identical semantics to DELETE /api/v2/trading/copy/demo, with the fields carried in a JSON body instead of query parameters — provided because some HTTP clients and proxies handle DELETE requests with bodies unreliably. The response token is an acknowledgment only: close completion is not pollable through this API.

Takes any type of body and a specified content type.

Corresponds with POST /api/v2/trading/copy/demo/close (the `CloseCopyTradingViaPostDemo` operationId).

func (*Client) CloseCopyTradingViaPostWithBody

func (c *Client) CloseCopyTradingViaPostWithBody(ctx context.Context, params *CloseCopyTradingViaPostParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

CloseCopyTradingViaPostWithBody Close or detach a copy relationship (JSON body)

**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.

---

This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. Identical semantics to DELETE /api/v2/trading/copy, with the fields carried in a JSON body instead of query parameters — provided because some HTTP clients and proxies handle DELETE requests with bodies unreliably. The response token is an acknowledgment only: close completion is not pollable through this API.

Takes any type of body and a specified content type.

Corresponds with POST /api/v2/trading/copy/close (the `CloseCopyTradingViaPost` operationId).

func (*Client) CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2

func (c *Client) CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2(ctx context.Context, agentPortfolioId openapi_types.UUID, params *CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Params, body CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2JSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2 Create User Token (v2)

**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.

---

Creates a new user token for the specified agent-portfolio using scope names. Scopes are specified by name (scopeNames); scope ids are not supported in v2.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v2/agent-portfolios/{agentPortfolioId}/user-tokens (the `CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2` operationId).

func (*Client) CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2WithBody

func (c *Client) CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2WithBody(ctx context.Context, agentPortfolioId openapi_types.UUID, params *CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2WithBody Create User Token (v2)

**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.

---

Creates a new user token for the specified agent-portfolio using scope names. Scopes are specified by name (scopeNames); scope ids are not supported in v2.

Takes any type of body and a specified content type.

Corresponds with POST /api/v2/agent-portfolios/{agentPortfolioId}/user-tokens (the `CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2` operationId).

func (*Client) CreateAgentPortfoliosV2

func (c *Client) CreateAgentPortfoliosV2(ctx context.Context, params *CreateAgentPortfoliosV2Params, body CreateAgentPortfoliosV2JSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateAgentPortfoliosV2 Create Agent Portfolio (v2)

**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.

---

Creates a new agent-portfolio using scope names. Scopes are specified by name (scopeNames); scope ids are not supported in v2. IMPORTANT: investmentAmountInUsd is the amount deducted from YOUR (the caller's) account balance to copy-trade this agent-portfolio — it is NOT the agent-portfolio's own balance. Positions are mirrored proportionally: e.g. if you invest $2,000 and agentPortfolioVirtualBalance is $10,000, each position is copied at 20% of its size into your account.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v2/agent-portfolios (the `CreateAgentPortfoliosV2` operationId).

func (*Client) CreateAgentPortfoliosV2WithBody

func (c *Client) CreateAgentPortfoliosV2WithBody(ctx context.Context, params *CreateAgentPortfoliosV2Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateAgentPortfoliosV2WithBody Create Agent Portfolio (v2)

**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.

---

Creates a new agent-portfolio using scope names. Scopes are specified by name (scopeNames); scope ids are not supported in v2. IMPORTANT: investmentAmountInUsd is the amount deducted from YOUR (the caller's) account balance to copy-trade this agent-portfolio — it is NOT the agent-portfolio's own balance. Positions are mirrored proportionally: e.g. if you invest $2,000 and agentPortfolioVirtualBalance is $10,000, each position is copied at 20% of its size into your account.

Takes any type of body and a specified content type.

Corresponds with POST /api/v2/agent-portfolios (the `CreateAgentPortfoliosV2` operationId).

func (*Client) CreateApplications

func (c *Client) CreateApplications(ctx context.Context, params *CreateApplicationsParams, body CreateApplicationsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateApplications Register OAuth application

**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.

---

Creates a new OAuth application. The authenticated user automatically becomes the application admin. Both `clientId` and `clientSecret` are auto-generated server-side. The `clientSecret` is returned **only in this response** (one-time reveal) - subsequent reads will never expose it again, so callers must store it securely. Auto-populated defaults (audience, applicationType, supported flows, token expirations) come from service configuration. Validation: `applicationName` max 100 chars, `applicationIconUrl` max 500 chars, each `redirectUri` max 500 chars and unique, each `scopeId` positive and recognized in the scope catalog.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v1/sso/applications (the `CreateApplications` operationId).

func (*Client) CreateApplicationsWithBody

func (c *Client) CreateApplicationsWithBody(ctx context.Context, params *CreateApplicationsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateApplicationsWithBody Register OAuth application

**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.

---

Creates a new OAuth application. The authenticated user automatically becomes the application admin. Both `clientId` and `clientSecret` are auto-generated server-side. The `clientSecret` is returned **only in this response** (one-time reveal) - subsequent reads will never expose it again, so callers must store it securely. Auto-populated defaults (audience, applicationType, supported flows, token expirations) come from service configuration. Validation: `applicationName` max 100 chars, `applicationIconUrl` max 500 chars, each `redirectUri` max 500 chars and unique, each `scopeId` positive and recognized in the scope catalog.

Takes any type of body and a specified content type.

Corresponds with POST /api/v1/sso/applications (the `CreateApplications` operationId).

func (*Client) CreateMySubAccount

func (c *Client) CreateMySubAccount(ctx context.Context, params *CreateMySubAccountParams, body CreateMySubAccountJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateMySubAccount Create My Sub-Account

**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.

---

Creates a sub-account for the authenticated user with the given provider. Currently the supported provider is `etoro-trading` (creates an etoro trading sub-account); additional sub-account providers will be added over time. For `etoro-trading`, `additionalParams.username` is required.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v1/sub-accounts/me/accounts (the `CreateMySubAccount` operationId).

func (*Client) CreateMySubAccountWithBody

func (c *Client) CreateMySubAccountWithBody(ctx context.Context, params *CreateMySubAccountParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateMySubAccountWithBody Create My Sub-Account

**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.

---

Creates a sub-account for the authenticated user with the given provider. Currently the supported provider is `etoro-trading` (creates an etoro trading sub-account); additional sub-account providers will be added over time. For `etoro-trading`, `additionalParams.username` is required.

Takes any type of body and a specified content type.

Corresponds with POST /api/v1/sub-accounts/me/accounts (the `CreateMySubAccount` operationId).

func (*Client) CreateSubAccountMoneyTransfer

func (c *Client) CreateSubAccountMoneyTransfer(ctx context.Context, params *CreateSubAccountMoneyTransferParams, body CreateSubAccountMoneyTransferJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateSubAccountMoneyTransfer Create Sub-Account Money Transfer

**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.

---

Executes a money transfer between the authenticated caller and the sub-account identified by the x-sub-account-id header. The amount must be positive with up to two decimal places. Direction ToSubAccount moves funds from the caller to the sub-account; FromSubAccount moves funds from the sub-account back to the caller.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v1/sub-accounts/etoro-trading/money-transfers (the `CreateSubAccountMoneyTransfer` operationId).

func (*Client) CreateSubAccountMoneyTransferWithBody

func (c *Client) CreateSubAccountMoneyTransferWithBody(ctx context.Context, params *CreateSubAccountMoneyTransferParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateSubAccountMoneyTransferWithBody Create Sub-Account Money Transfer

**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.

---

Executes a money transfer between the authenticated caller and the sub-account identified by the x-sub-account-id header. The amount must be positive with up to two decimal places. Direction ToSubAccount moves funds from the caller to the sub-account; FromSubAccount moves funds from the sub-account back to the caller.

Takes any type of body and a specified content type.

Corresponds with POST /api/v1/sub-accounts/etoro-trading/money-transfers (the `CreateSubAccountMoneyTransfer` operationId).

func (*Client) CreateSubAccountUserToken

func (c *Client) CreateSubAccountUserToken(ctx context.Context, params *CreateSubAccountUserTokenParams, body CreateSubAccountUserTokenJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateSubAccountUserToken Create Sub-Account 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.

---

Generates a non-interactive user token for the sub-account identified by the x-sub-account-id header. The secret token value is returned only once, in this response.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v1/sub-accounts/etoro-trading/user-tokens (the `CreateSubAccountUserToken` operationId).

func (*Client) CreateSubAccountUserTokenWithBody

func (c *Client) CreateSubAccountUserTokenWithBody(ctx context.Context, params *CreateSubAccountUserTokenParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateSubAccountUserTokenWithBody Create Sub-Account 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.

---

Generates a non-interactive user token for the sub-account identified by the x-sub-account-id header. The secret token value is returned only once, in this response.

Takes any type of body and a specified content type.

Corresponds with POST /api/v1/sub-accounts/etoro-trading/user-tokens (the `CreateSubAccountUserToken` operationId).

func (*Client) CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId

CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId Close demo position by units

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/demo/orders/{orderId}` - `DELETE /api/v3/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v2/trading/execution/demo/orders` - `POST /api/v3/trading/execution/demo/orders`

---

This endpoint allows traders to close an entire position or a portion of it at the current market rate. If `UnitsToDeduct` is provided, only the specified portion will be closed. If `UnitsToDeduct` is omitted or set to null, the full position will be closed. A 200 response means the close order was submitted, not that the position was closed. Confirm the outcome with GET /api/v1/trading/info/demo/close-orders/{orderId}, using the orderID returned under orderForClose.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId} (the `CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId` operationId).

func (*Client) CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdWithBody

func (c *Client) CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdWithBody(ctx context.Context, positionId int64, params *CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdWithBody Close demo position by units

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/demo/orders/{orderId}` - `DELETE /api/v3/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v2/trading/execution/demo/orders` - `POST /api/v3/trading/execution/demo/orders`

---

This endpoint allows traders to close an entire position or a portion of it at the current market rate. If `UnitsToDeduct` is provided, only the specified portion will be closed. If `UnitsToDeduct` is omitted or set to null, the full position will be closed. A 200 response means the close order was submitted, not that the position was closed. Confirm the outcome with GET /api/v1/trading/info/demo/close-orders/{orderId}, using the orderID returned under orderForClose.

Takes any type of body and a specified content type.

Corresponds with POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId} (the `CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId` operationId).

func (*Client) CreateTradingExecutionDemoOrders

func (c *Client) CreateTradingExecutionDemoOrders(ctx context.Context, params *CreateTradingExecutionDemoOrdersParams, body CreateTradingExecutionDemoOrdersJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateTradingExecutionDemoOrders Create an order

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/demo/orders/{orderId}` - `DELETE /api/v3/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v3/trading/execution/demo/orders`

---

This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v2 create path, settlementType remains optional (stricter settlementType rules apply only on v3). A 200 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/demo/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v2/trading/execution/demo/orders (the `CreateTradingExecutionDemoOrders` operationId).

func (*Client) CreateTradingExecutionDemoOrdersV3

func (c *Client) CreateTradingExecutionDemoOrdersV3(ctx context.Context, params *CreateTradingExecutionDemoOrdersV3Params, body CreateTradingExecutionDemoOrdersV3JSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateTradingExecutionDemoOrdersV3 Submit an order for asynchronous processing

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/demo/orders/{orderId}` - `DELETE /api/v3/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v2/trading/execution/demo/orders`

---

This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v3 create path, settlementType is mandatory for non-MIT orders and must be omitted for MIT orders. A 202 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/demo/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v3/trading/execution/demo/orders (the `CreateTradingExecutionDemoOrdersV3` operationId).

func (*Client) CreateTradingExecutionDemoOrdersV3WithBody

func (c *Client) CreateTradingExecutionDemoOrdersV3WithBody(ctx context.Context, params *CreateTradingExecutionDemoOrdersV3Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateTradingExecutionDemoOrdersV3WithBody Submit an order for asynchronous processing

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/demo/orders/{orderId}` - `DELETE /api/v3/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v2/trading/execution/demo/orders`

---

This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v3 create path, settlementType is mandatory for non-MIT orders and must be omitted for MIT orders. A 202 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/demo/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.

Takes any type of body and a specified content type.

Corresponds with POST /api/v3/trading/execution/demo/orders (the `CreateTradingExecutionDemoOrdersV3` operationId).

func (*Client) CreateTradingExecutionDemoOrdersWithBody

func (c *Client) CreateTradingExecutionDemoOrdersWithBody(ctx context.Context, params *CreateTradingExecutionDemoOrdersParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateTradingExecutionDemoOrdersWithBody Create an order

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/demo/orders/{orderId}` - `DELETE /api/v3/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v3/trading/execution/demo/orders`

---

This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v2 create path, settlementType remains optional (stricter settlementType rules apply only on v3). A 200 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/demo/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.

Takes any type of body and a specified content type.

Corresponds with POST /api/v2/trading/execution/demo/orders (the `CreateTradingExecutionDemoOrders` operationId).

func (*Client) CreateTradingExecutionMarketCloseOrdersPositionsByPositionId

func (c *Client) CreateTradingExecutionMarketCloseOrdersPositionsByPositionId(ctx context.Context, positionId int64, params *CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdParams, body CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateTradingExecutionMarketCloseOrdersPositionsByPositionId Close position by units

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/orders/{orderId}` - `DELETE /api/v3/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v2/trading/execution/orders` - `POST /api/v3/trading/execution/orders`

---

This endpoint allows traders to close an entire position or a portion of it at the current market rate. If `UnitsToDeduct` is provided, only the specified portion will be closed. If `UnitsToDeduct` is omitted or set to null, the full position will be closed. A 200 response means the close order was submitted, not that the position was closed. Confirm the outcome with GET /api/v1/trading/info/real/close-orders/{orderId}, using the orderID returned under orderForClose.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v1/trading/execution/market-close-orders/positions/{positionId} (the `CreateTradingExecutionMarketCloseOrdersPositionsByPositionId` operationId).

func (*Client) CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdWithBody

func (c *Client) CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdWithBody(ctx context.Context, positionId int64, params *CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdWithBody Close position by units

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/orders/{orderId}` - `DELETE /api/v3/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v2/trading/execution/orders` - `POST /api/v3/trading/execution/orders`

---

This endpoint allows traders to close an entire position or a portion of it at the current market rate. If `UnitsToDeduct` is provided, only the specified portion will be closed. If `UnitsToDeduct` is omitted or set to null, the full position will be closed. A 200 response means the close order was submitted, not that the position was closed. Confirm the outcome with GET /api/v1/trading/info/real/close-orders/{orderId}, using the orderID returned under orderForClose.

Takes any type of body and a specified content type.

Corresponds with POST /api/v1/trading/execution/market-close-orders/positions/{positionId} (the `CreateTradingExecutionMarketCloseOrdersPositionsByPositionId` operationId).

func (*Client) CreateTradingExecutionOrders

func (c *Client) CreateTradingExecutionOrders(ctx context.Context, params *CreateTradingExecutionOrdersParams, body CreateTradingExecutionOrdersJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateTradingExecutionOrders Create an order

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/orders/{orderId}` - `DELETE /api/v3/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v3/trading/execution/orders`

---

This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v2 create path, settlementType remains optional (stricter settlementType rules apply only on v3). A 200 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v2/trading/execution/orders (the `CreateTradingExecutionOrders` operationId).

func (*Client) CreateTradingExecutionOrdersV3

func (c *Client) CreateTradingExecutionOrdersV3(ctx context.Context, params *CreateTradingExecutionOrdersV3Params, body CreateTradingExecutionOrdersV3JSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateTradingExecutionOrdersV3 Submit an order for asynchronous processing

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/orders/{orderId}` - `DELETE /api/v3/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v2/trading/execution/orders`

---

This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v3 create path, settlementType is mandatory for non-MIT orders and must be omitted for MIT orders. A 202 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v3/trading/execution/orders (the `CreateTradingExecutionOrdersV3` operationId).

func (*Client) CreateTradingExecutionOrdersV3WithBody

func (c *Client) CreateTradingExecutionOrdersV3WithBody(ctx context.Context, params *CreateTradingExecutionOrdersV3Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateTradingExecutionOrdersV3WithBody Submit an order for asynchronous processing

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/orders/{orderId}` - `DELETE /api/v3/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v2/trading/execution/orders`

---

This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v3 create path, settlementType is mandatory for non-MIT orders and must be omitted for MIT orders. A 202 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.

Takes any type of body and a specified content type.

Corresponds with POST /api/v3/trading/execution/orders (the `CreateTradingExecutionOrdersV3` operationId).

func (*Client) CreateTradingExecutionOrdersWithBody

func (c *Client) CreateTradingExecutionOrdersWithBody(ctx context.Context, params *CreateTradingExecutionOrdersParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

CreateTradingExecutionOrdersWithBody Create an order

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/orders/{orderId}` - `DELETE /api/v3/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v3/trading/execution/orders`

---

This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v2 create path, settlementType remains optional (stricter settlementType rules apply only on v3). A 200 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.

Takes any type of body and a specified content type.

Corresponds with POST /api/v2/trading/execution/orders (the `CreateTradingExecutionOrders` operationId).

func (*Client) DeleteAgentPortfoliosByAgentPortfolioId

func (c *Client) DeleteAgentPortfoliosByAgentPortfolioId(ctx context.Context, agentPortfolioId openapi_types.UUID, params *DeleteAgentPortfoliosByAgentPortfolioIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

DeleteAgentPortfoliosByAgentPortfolioId Delete Agent Portfolio

**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.

---

Permanently removes a agent-portfolio by revoking all user tokens, stopping the copy mirror, and deleting from storage.

Corresponds with DELETE /api/v1/agent-portfolios/{agentPortfolioId} (the `DeleteAgentPortfoliosByAgentPortfolioId` operationId).

func (*Client) DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenId

func (c *Client) DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenId(ctx context.Context, agentPortfolioId openapi_types.UUID, userTokenId openapi_types.UUID, params *DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenId Delete 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.

---

Permanently revokes the specified user token from a agent-portfolio.

Corresponds with DELETE /api/v1/agent-portfolios/{agentPortfolioId}/user-tokens/{userTokenId} (the `DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenId` operationId).

func (*Client) DeleteApplicationsByClientId

func (c *Client) DeleteApplicationsByClientId(ctx context.Context, clientId openapi_types.UUID, params *DeleteApplicationsByClientIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

DeleteApplicationsByClientId Delete OAuth application

**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.

---

Permanently deletes an OAuth application. Only the application's admin can delete it. Non-admins receive `404 Not Found` (opaque authorization). The application stops appearing in `GET /api/v1/sso/applications` within a few seconds.

Corresponds with DELETE /api/v1/sso/applications/{clientId} (the `DeleteApplicationsByClientId` operationId).

func (*Client) DeletePriceAlertsByAlertId

func (c *Client) DeletePriceAlertsByAlertId(ctx context.Context, alertId openapi_types.UUID, params *DeletePriceAlertsByAlertIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

DeletePriceAlertsByAlertId Delete a price alert

**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.

---

Permanently deletes a price alert owned by the authenticated user.

Corresponds with DELETE /api/v1/price-alerts/{alertId} (the `DeletePriceAlertsByAlertId` operationId).

func (*Client) DeleteSubAccountUserToken

func (c *Client) DeleteSubAccountUserToken(ctx context.Context, userTokenId openapi_types.UUID, params *DeleteSubAccountUserTokenParams, reqEditors ...RequestEditorFn) (*http.Response, error)

DeleteSubAccountUserToken Revoke Sub-Account 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.

---

Revokes a sub-account user token. Revocation is idempotent, so revoking a token that does not exist also succeeds.

Corresponds with DELETE /api/v1/sub-accounts/etoro-trading/user-tokens/{userTokenId} (the `DeleteSubAccountUserToken` operationId).

func (*Client) DeleteTradingExecutionDemoMarketCloseOrdersByOrderId

func (c *Client) DeleteTradingExecutionDemoMarketCloseOrdersByOrderId(ctx context.Context, orderId int64, params *DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

DeleteTradingExecutionDemoMarketCloseOrdersByOrderId Cancel pending demo close order

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/demo/orders/{orderId}` - `DELETE /api/v3/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v2/trading/execution/demo/orders` - `POST /api/v3/trading/execution/demo/orders`

---

This endpoint allows traders to cancel a previously placed market order for close before execution. If the order has already been processed, cancellation will not be possible. A 200 response confirms the cancellation request was received, not that the order was cancelled. Confirm with GET /api/v1/trading/info/demo/close-orders/{orderId}, using the orderId of the close order you tried to cancel. If the DELETE response is lost (timeout or network error), do not resend the cancel - poll that GET endpoint with the same orderId. Units reported as executed in its positions[] array were closed before the cancel took effect; the remainder was not closed. No executed entries in positions[] means nothing was closed. Poll until statusID is terminal: 7 (CANCELED) = cancelled with nothing executed, 9 (CANCELED_PARTIALLY_FILLED) = cancelled after a partial fill (executed units in positions[]), 3 (FILLED) = fully executed before the cancel; 1, 2, 5, 6 and 11 are still pending.

Corresponds with DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId} (the `DeleteTradingExecutionDemoMarketCloseOrdersByOrderId` operationId).

func (*Client) DeleteTradingExecutionDemoOrdersByOrderId

func (c *Client) DeleteTradingExecutionDemoOrdersByOrderId(ctx context.Context, orderId int64, params *DeleteTradingExecutionDemoOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

DeleteTradingExecutionDemoOrdersByOrderId Cancels an order before it is executed

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v3/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v2/trading/execution/demo/orders` - `POST /api/v3/trading/execution/demo/orders`

---

This endpoint sends a cancellation request to cancel an order before execution. An order can be cancelled if it is waiting for the market to open, or for the trigger rate to be published (MIT orders). The cancellation request may be successful, and the order is cancelled, or unsuccessful, and the order is not cancelled. This operation is idempotent when the order is already closed or cancelled. A 200 response confirms the cancellation request was accepted, not that the order was cancelled - it may already have executed. Confirm with GET /api/v2/trading/info/demo/orders:lookup: status.id 7 (Canceled) or 9 (CanceledPartiallyFilled) means the cancellation took effect, while 6 (PendingCancel) means it is still being processed.

Corresponds with DELETE /api/v2/trading/execution/demo/orders/{orderId} (the `DeleteTradingExecutionDemoOrdersByOrderId` operationId).

func (*Client) DeleteTradingExecutionDemoOrdersByOrderIdV3

func (c *Client) DeleteTradingExecutionDemoOrdersByOrderIdV3(ctx context.Context, orderId int64, params *DeleteTradingExecutionDemoOrdersByOrderIdV3Params, reqEditors ...RequestEditorFn) (*http.Response, error)

DeleteTradingExecutionDemoOrdersByOrderIdV3 Request cancellation of a pending order

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v2/trading/execution/demo/orders` - `POST /api/v3/trading/execution/demo/orders`

---

This endpoint sends a cancellation request to cancel an order before execution. An order can be cancelled if it is waiting for the market to open, or for the trigger rate to be published (MIT orders). The cancellation request may be successful, and the order is cancelled, or unsuccessful, and the order is not cancelled. This operation is idempotent when the order is already closed or cancelled. A 202 response confirms the cancellation request was accepted, not that the order was cancelled - it may already have executed. Confirm with GET /api/v2/trading/info/demo/orders:lookup: status.id 7 (Canceled) or 9 (CanceledPartiallyFilled) means the cancellation took effect, while 6 (PendingCancel) means it is still being processed.

Corresponds with DELETE /api/v3/trading/execution/demo/orders/{orderId} (the `DeleteTradingExecutionDemoOrdersByOrderIdV3` operationId).

func (*Client) DeleteTradingExecutionMarketCloseOrdersByOrderId

func (c *Client) DeleteTradingExecutionMarketCloseOrdersByOrderId(ctx context.Context, orderId int64, params *DeleteTradingExecutionMarketCloseOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

DeleteTradingExecutionMarketCloseOrdersByOrderId Cancel pending close order

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/orders/{orderId}` - `DELETE /api/v3/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v2/trading/execution/orders` - `POST /api/v3/trading/execution/orders`

---

This endpoint allows traders to cancel a previously placed market order for close before execution. If the order has already been processed, cancellation will not be possible. A 200 response confirms the cancellation request was received, not that the order was cancelled. Confirm with GET /api/v1/trading/info/real/close-orders/{orderId}, using the orderId of the close order you tried to cancel. If the DELETE response is lost (timeout or network error), do not resend the cancel - poll that GET endpoint with the same orderId. Units reported as executed in its positions[] array were closed before the cancel took effect; the remainder was not closed. No executed entries in positions[] means nothing was closed. Poll until statusID is terminal: 7 (CANCELED) = cancelled with nothing executed, 9 (CANCELED_PARTIALLY_FILLED) = cancelled after a partial fill (executed units in positions[]), 3 (FILLED) = fully executed before the cancel; 1, 2, 5, 6 and 11 are still pending.

Corresponds with DELETE /api/v1/trading/execution/market-close-orders/{orderId} (the `DeleteTradingExecutionMarketCloseOrdersByOrderId` operationId).

func (*Client) DeleteTradingExecutionOrdersByOrderId

func (c *Client) DeleteTradingExecutionOrdersByOrderId(ctx context.Context, orderId int64, params *DeleteTradingExecutionOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

DeleteTradingExecutionOrdersByOrderId Cancels an order before it is executed

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v3/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v2/trading/execution/orders` - `POST /api/v3/trading/execution/orders`

---

This endpoint sends a cancellation request to cancel an order before execution. An order can be cancelled if it is waiting for the market to open, or for the trigger rate to be published (MIT orders). The cancellation request may be successful, and the order is cancelled, or unsuccessful, and the order is not cancelled. This operation is idempotent when the order is already closed or cancelled. A 200 response confirms the cancellation request was accepted, not that the order was cancelled - it may already have executed. Confirm with GET /api/v2/trading/info/orders:lookup: status.id 7 (Canceled) or 9 (CanceledPartiallyFilled) means the cancellation took effect, while 6 (PendingCancel) means it is still being processed.

Corresponds with DELETE /api/v2/trading/execution/orders/{orderId} (the `DeleteTradingExecutionOrdersByOrderId` operationId).

func (*Client) DeleteTradingExecutionOrdersByOrderIdV3

func (c *Client) DeleteTradingExecutionOrdersByOrderIdV3(ctx context.Context, orderId int64, params *DeleteTradingExecutionOrdersByOrderIdV3Params, reqEditors ...RequestEditorFn) (*http.Response, error)

DeleteTradingExecutionOrdersByOrderIdV3 Request cancellation of a pending order

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v2/trading/execution/orders` - `POST /api/v3/trading/execution/orders`

---

This endpoint sends a cancellation request to cancel an order before execution. An order can be cancelled if it is waiting for the market to open, or for the trigger rate to be published (MIT orders). The cancellation request may be successful, and the order is cancelled, or unsuccessful, and the order is not cancelled. This operation is idempotent when the order is already closed or cancelled. A 202 response confirms the cancellation request was accepted, not that the order was cancelled - it may already have executed. Confirm with GET /api/v2/trading/info/orders:lookup: status.id 7 (Canceled) or 9 (CanceledPartiallyFilled) means the cancellation took effect, while 6 (PendingCancel) means it is still being processed.

Corresponds with DELETE /api/v3/trading/execution/orders/{orderId} (the `DeleteTradingExecutionOrdersByOrderIdV3` operationId).

func (*Client) DeleteWatchlistsByWatchlistId

func (c *Client) DeleteWatchlistsByWatchlistId(ctx context.Context, watchlistId string, params *DeleteWatchlistsByWatchlistIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

DeleteWatchlistsByWatchlistId Delete watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Removes a watchlist and all its items.

Corresponds with DELETE /api/v1/watchlists/{watchlistId} (the `DeleteWatchlistsByWatchlistId` operationId).

func (*Client) DeleteWatchlistsByWatchlistIdItems

func (c *Client) DeleteWatchlistsByWatchlistIdItems(ctx context.Context, watchlistId string, params *DeleteWatchlistsByWatchlistIdItemsParams, body DeleteWatchlistsByWatchlistIdItemsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

DeleteWatchlistsByWatchlistIdItems Remove items from watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Removes specified items from a watchlist.

Takes a body of the `application/json` content type.

Corresponds with DELETE /api/v1/watchlists/{watchlistId}/items (the `DeleteWatchlistsByWatchlistIdItems` operationId).

func (*Client) DeleteWatchlistsByWatchlistIdItemsWithBody

func (c *Client) DeleteWatchlistsByWatchlistIdItemsWithBody(ctx context.Context, watchlistId string, params *DeleteWatchlistsByWatchlistIdItemsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

DeleteWatchlistsByWatchlistIdItemsWithBody Remove items from watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Removes specified items from a watchlist.

Takes any type of body and a specified content type.

Corresponds with DELETE /api/v1/watchlists/{watchlistId}/items (the `DeleteWatchlistsByWatchlistIdItems` operationId).

func (*Client) GetAgentPortfolios

func (c *Client) GetAgentPortfolios(ctx context.Context, params *GetAgentPortfoliosParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetAgentPortfolios Get Agent Portfolios

**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.

---

Retrieves all agent-portfolios belonging to the authenticated user.

Corresponds with GET /api/v1/agent-portfolios (the `GetAgentPortfolios` operationId).

func (*Client) GetAgentPortfoliosScopes

func (c *Client) GetAgentPortfoliosScopes(ctx context.Context, params *GetAgentPortfoliosScopesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetAgentPortfoliosScopes Get Allowed Scopes (v2)

**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.

---

Returns the permission scope names that may be assigned to agent-portfolio user tokens.

Corresponds with GET /api/v2/agent-portfolios/user-tokens/scopes (the `GetAgentPortfoliosScopes` operationId).

func (*Client) GetAggregatedPortfolio

func (c *Client) GetAggregatedPortfolio(ctx context.Context, params *GetAggregatedPortfolioParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetAggregatedPortfolio Get aggregated portfolio snapshot

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `POST /api/v1/trading/info/aggregate-portfolio`

---

Returns a complete snapshot of the authenticated user's investment portfolio, organized by asset. The response includes account-level balances and equity, individually held positions grouped by asset, and any copy-trading relationships the user has active. Use the instrumentIds filter to scope results to a specific set of assets, or mirrorIds to isolate specific copy-trading relationships. Account totals always reflect the full portfolio regardless of filters applied.

Corresponds with GET /api/v1/trading/info/aggregate-portfolio (the `GetAggregatedPortfolio` operationId).

func (*Client) GetAggregatedPortfolioDemo

func (c *Client) GetAggregatedPortfolioDemo(ctx context.Context, params *GetAggregatedPortfolioDemoParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetAggregatedPortfolioDemo Get aggregated portfolio snapshot

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `POST /api/v1/trading/info/demo/aggregate-portfolio`

---

Returns a complete snapshot of the authenticated user's demo account investment portfolio, organized by asset. The response includes account-level balances and equity, individually held positions grouped by asset, and any copy-trading relationships the user has active. Use the instrumentIds filter to scope results to a specific set of assets, or mirrorIds to isolate specific copy-trading relationships. Account totals always reflect the full portfolio regardless of filters applied.

Corresponds with GET /api/v1/trading/info/demo/aggregate-portfolio (the `GetAggregatedPortfolioDemo` operationId).

func (*Client) GetApplications

func (c *Client) GetApplications(ctx context.Context, params *GetApplicationsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetApplications List my OAuth applications

**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.

---

Returns every OAuth application where the authenticated user (matched by GCID) is listed as an administrator. The `clientSecret` is never included in this response - it is revealed only when the application is created, or when it is replaced via `POST /api/v1/sso/applications/{clientId}/client-secret`.

Corresponds with GET /api/v1/sso/applications (the `GetApplications` operationId).

func (*Client) GetAssetsHistory

func (c *Client) GetAssetsHistory(ctx context.Context, username string, params *GetAssetsHistoryParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetAssetsHistory Get asset allocation history

**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.

---

Returns a daily asset-allocation breakdown for a publicly visible portfolio. Data is only available for investors who have not opted out — opted-out portfolios return 403 for third-party callers. Callers must authenticate with their own token. Use period OR minDate+maxDate (mutually exclusive). All ratio fields use decimal fraction format: 0.5 = 50%.

Corresponds with GET /api/v2/portfolios/{username}/assets/history (the `GetAssetsHistory` operationId).

func (*Client) GetBalanceByAccount

func (c *Client) GetBalanceByAccount(ctx context.Context, accountType AccountTypePathParam, accountId string, params *GetBalanceByAccountParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetBalanceByAccount Get balance for a specific account

**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.

---

Returns the balance for a specific account identified by type and account ID for the authenticated user. Zero-balance accounts are always returned by this endpoint, so a 404 means the account does not exist rather than that its balance is zero.

Important: totalBalance and displayBalance are portfolio value, not spendable cash. For Trading, Options, MoneyFarm, Spaceship and Plaee they represent total account value including invested positions; for Crypto, the fiat value of holdings. Only for Cash accounts do they equal available cash. Do not use them to decide whether a trade or withdrawal is affordable — request expand=equityDetails and read equityDetails.available (Trading, Options, MoneyFarm, Cash, Plaee) or equityDetails.spendableBalanceInFiat (Crypto). Spaceship accounts expose no spendable figure. Note that equityDetails amounts are denominated in each account's own native currency, not in displayCurrency, so they must be converted before being compared with displayBalance or totalBalance.

Corresponds with GET /api/v1/balances/{accountType}/{accountId} (the `GetBalanceByAccount` operationId).

func (*Client) GetBalances

func (c *Client) GetBalances(ctx context.Context, params *GetBalancesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetBalances Get aggregated balances

**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.

---

Returns aggregated balances across all account types for the authenticated user. Optionally filter by account type or specify the display currency for totals.

Important: totalBalance and displayBalance are portfolio value, not spendable cash. For Trading, Options, MoneyFarm, Spaceship and Plaee they represent total account value including invested positions; for Crypto, the fiat value of holdings. Only for Cash accounts do they equal available cash. Do not use them to decide whether a trade or withdrawal is affordable — request expand=equityDetails and read equityDetails.available (Trading, Options, MoneyFarm, Cash, Plaee) or equityDetails.spendableBalanceInFiat (Crypto). Spaceship accounts expose no spendable figure. Note that equityDetails amounts are denominated in each account's own native currency, not in displayCurrency, so they must be converted before being compared with displayBalance or totalBalance.

Corresponds with GET /api/v1/balances (the `GetBalances` operationId).

func (*Client) GetBalancesByAccountType

func (c *Client) GetBalancesByAccountType(ctx context.Context, accountType AccountTypePathParam, params *GetBalancesByAccountTypeParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetBalancesByAccountType Get balances by account type

**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.

---

Returns balances for a specific account type for the authenticated user. Optionally filter by account IDs.

Important: totalBalance and displayBalance are portfolio value, not spendable cash. For Trading, Options, MoneyFarm, Spaceship and Plaee they represent total account value including invested positions; for Crypto, the fiat value of holdings. Only for Cash accounts do they equal available cash. Do not use them to decide whether a trade or withdrawal is affordable — request expand=equityDetails and read equityDetails.available (Trading, Options, MoneyFarm, Cash, Plaee) or equityDetails.spendableBalanceInFiat (Crypto). Spaceship accounts expose no spendable figure. Note that equityDetails amounts are denominated in each account's own native currency, not in displayCurrency, so they must be converted before being compared with displayBalance or totalBalance.

Corresponds with GET /api/v1/balances/{accountType} (the `GetBalancesByAccountType` operationId).

func (*Client) GetClosedPositionEventsHistory

func (c *Client) GetClosedPositionEventsHistory(ctx context.Context, params *GetClosedPositionEventsHistoryParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetClosedPositionEventsHistory Get the caller's closed position event history counts

**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.

---

Returns the calling customer's historical count of closed position events, broken down by close year and asset type, one entry per (closeYear, assetType) combination sorted ascending by year then asset type. This is user-scoped: the caller is identified by their own gateway-issued GCID, not a path or query parameter, so it always answers for 'me'. Results are returned under `results` with a `pagination` block; a customer with no closed-position history returns 200 with an empty `results` array, not 404 - there is no distinguishable 'not found' state for this endpoint.

Corresponds with GET /api/v1/data/positions/closed-events/history (the `GetClosedPositionEventsHistory` operationId).

func (*Client) GetClubs

func (c *Client) GetClubs(ctx context.Context, params *GetClubsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetClubs Get club dashboard data

**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.

---

Retrieves club dashboard data for the authenticated user, including tier information, benefits, account manager details, offers, downgrade risk, and webinars.

Corresponds with GET /api/v1/clubs (the `GetClubs` operationId).

func (*Client) GetCopyTradingStatus

func (c *Client) GetCopyTradingStatus(ctx context.Context, referenceId string, params *GetCopyTradingStatusParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetCopyTradingStatus Poll a copy operation's outcome

**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.

---

Returns the terminal outcome of a copy request for register, add or remove funds, looked up by the referenceID supplied on the copy request. The lookup is case-sensitive and scoped to the authenticated account. On success the response carries the mirrorID used to close the copy later; parentCID and parentUsername are either both present or both absent. This endpoint returns only the status of the copy request, not the status of the mirror sub-portfolio. For sub-portfolio status use a portfolio endpoint.

Corresponds with GET /api/v2/trading/copy/{referenceId} (the `GetCopyTradingStatus` operationId).

func (*Client) GetCopyTradingStatusDemo

func (c *Client) GetCopyTradingStatusDemo(ctx context.Context, referenceId string, params *GetCopyTradingStatusDemoParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetCopyTradingStatusDemo Poll a copy operation's outcome

**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.

---

Returns the terminal outcome of a copy request for register, add or remove funds, looked up by the referenceID supplied on the copy request. The lookup is case-sensitive and scoped to the authenticated account. On success the response carries the mirrorID used to close the copy later; parentCID and parentUsername are either both present or both absent. This endpoint returns only the status of the copy request, not the status of the mirror sub-portfolio. For sub-portfolio status use a portfolio endpoint.

Corresponds with GET /api/v2/trading/copy/demo/{referenceId} (the `GetCopyTradingStatusDemo` operationId).

func (*Client) GetCost

func (c *Client) GetCost(ctx context.Context, params *GetCostParams, body GetCostJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

GetCost Get what-if trading cost breakdown

**Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Returns the markup, market spread, transaction fee, overnight fee, over-weekend fee, and tax that would apply if the supplied order were executed now. For `action: open`, exactly one of `symbol` or `instrumentId` must be provided and `leverage` must be at least 1. For `action: close`, `positionIds` must be non-empty.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v2/trading/info/costs (the `GetCost` operationId).

func (*Client) GetCostDemo

func (c *Client) GetCostDemo(ctx context.Context, params *GetCostDemoParams, body GetCostDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

GetCostDemo Get what-if trading cost breakdown

**Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Returns the markup, market spread, transaction fee, overnight fee, over-weekend fee, and tax that would apply if the supplied order were executed now against the demo account. For `action: open`, exactly one of `symbol` or `instrumentId` must be provided and `leverage` must be at least 1. For `action: close`, `positionIds` must be non-empty.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v2/trading/info/demo/costs (the `GetCostDemo` operationId).

func (*Client) GetCostDemoWithBody

func (c *Client) GetCostDemoWithBody(ctx context.Context, params *GetCostDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

GetCostDemoWithBody Get what-if trading cost breakdown

**Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Returns the markup, market spread, transaction fee, overnight fee, over-weekend fee, and tax that would apply if the supplied order were executed now against the demo account. For `action: open`, exactly one of `symbol` or `instrumentId` must be provided and `leverage` must be at least 1. For `action: close`, `positionIds` must be non-empty.

Takes any type of body and a specified content type.

Corresponds with POST /api/v2/trading/info/demo/costs (the `GetCostDemo` operationId).

func (*Client) GetCostWithBody

func (c *Client) GetCostWithBody(ctx context.Context, params *GetCostParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

GetCostWithBody Get what-if trading cost breakdown

**Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Returns the markup, market spread, transaction fee, overnight fee, over-weekend fee, and tax that would apply if the supplied order were executed now. For `action: open`, exactly one of `symbol` or `instrumentId` must be provided and `leverage` must be at least 1. For `action: close`, `positionIds` must be non-empty.

Takes any type of body and a specified content type.

Corresponds with POST /api/v2/trading/info/costs (the `GetCost` operationId).

func (*Client) GetCuratedLists

func (c *Client) GetCuratedLists(ctx context.Context, params *GetCuratedListsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetCuratedLists Get curated lists

**Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Retrieves curated investment lists available to the authenticated user.

Corresponds with GET /api/v1/curated-lists (the `GetCuratedLists` operationId).

func (*Client) GetExposureHistory

func (c *Client) GetExposureHistory(ctx context.Context, username string, params *GetExposureHistoryParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetExposureHistory Get market exposure history

**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.

---

Returns daily directional exposure breakdown per instrument for a publicly visible portfolio. Data is only available for investors who have not opted out - opted-out portfolios return 403 for third-party callers. Callers must authenticate with their own token. Use period OR minDate+maxDate (mutually exclusive). All values are decimal fractions of total daily investment: 0.5 = 50%. Simulated positions are excluded.

Corresponds with GET /api/v2/portfolios/{username}/exposure/history (the `GetExposureHistory` operationId).

func (*Client) GetGainHistory

func (c *Client) GetGainHistory(ctx context.Context, username string, granularity GetGainHistoryParamsGranularity, params *GetGainHistoryParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetGainHistory Get investor gain time-series

**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.

---

Returns a gain time-series scoped by date range, count, or a combination of one date and a count. Gain values are decimal fractions: 0.06 = 6%, -0.03 = -3%.

Corresponds with GET /api/v2/portfolios/{username}/gain/{granularity} (the `GetGainHistory` operationId).

func (*Client) GetHistoricalBalanceByAccount

func (c *Client) GetHistoricalBalanceByAccount(ctx context.Context, accountType AccountTypePathParam, accountId string, params *GetHistoricalBalanceByAccountParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetHistoricalBalanceByAccount Get account balance history

**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.

---

Returns end-of-day balance snapshots for a specific account identified by type and account ID for the authenticated user. History is available for the last 12 months. The maximum date range per request is 365 days.

Corresponds with GET /api/v1/balances/{accountType}/{accountId}/history (the `GetHistoricalBalanceByAccount` operationId).

func (*Client) GetHistoricalBalances

func (c *Client) GetHistoricalBalances(ctx context.Context, params *GetHistoricalBalancesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetHistoricalBalances Get historical balance snapshots

**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.

---

Returns end-of-day balance snapshots across all account types for the authenticated user. History is available for the last 12 months. The maximum date range per request is 365 days.

Corresponds with GET /api/v1/balances/history (the `GetHistoricalBalances` operationId).

func (*Client) GetHistoricalBalancesByAccountType

func (c *Client) GetHistoricalBalancesByAccountType(ctx context.Context, accountType AccountTypePathParam, params *GetHistoricalBalancesByAccountTypeParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetHistoricalBalancesByAccountType Get historical balances by account type

**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.

---

Returns end-of-day balance snapshots for a specific account type for the authenticated user. History is available for the last 12 months. The maximum date range per request is 365 days.

Corresponds with GET /api/v1/balances/{accountType}/history (the `GetHistoricalBalancesByAccountType` operationId).

func (*Client) GetImpressionsTopassetsUserByGcid

func (c *Client) GetImpressionsTopassetsUserByGcid(ctx context.Context, gcid int32, params *GetImpressionsTopassetsUserByGcidParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetImpressionsTopassetsUserByGcid Get top assets for a user

**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.

---

Retrieves a ranked list of top asset scores associated with a specific user, based on impressions data.

Corresponds with GET /api/v1/impressions/topassets/user/{gcid} (the `GetImpressionsTopassetsUserByGcid` operationId).

func (*Client) GetInstrumentEligibility

func (c *Client) GetInstrumentEligibility(ctx context.Context, params *GetInstrumentEligibilityParams, body GetInstrumentEligibilityJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

GetInstrumentEligibility Check instrument trading eligibility

**Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Returns per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments. This configuration changes rarely for a given instrument and account, so call it once and reuse the result for the rest of the session instead of re-querying before every order.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v2/trading/info/eligibility (the `GetInstrumentEligibility` operationId).

func (*Client) GetInstrumentEligibilityDemo

func (c *Client) GetInstrumentEligibilityDemo(ctx context.Context, params *GetInstrumentEligibilityDemoParams, body GetInstrumentEligibilityDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

GetInstrumentEligibilityDemo Check instrument trading eligibility

**Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Returns per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments. This configuration changes rarely for a given instrument and account, so call it once and reuse the result for the rest of the session instead of re-querying before every order.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v2/trading/info/demo/eligibility (the `GetInstrumentEligibilityDemo` operationId).

func (*Client) GetInstrumentEligibilityDemoWithBody

func (c *Client) GetInstrumentEligibilityDemoWithBody(ctx context.Context, params *GetInstrumentEligibilityDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

GetInstrumentEligibilityDemoWithBody Check instrument trading eligibility

**Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Returns per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments. This configuration changes rarely for a given instrument and account, so call it once and reuse the result for the rest of the session instead of re-querying before every order.

Takes any type of body and a specified content type.

Corresponds with POST /api/v2/trading/info/demo/eligibility (the `GetInstrumentEligibilityDemo` operationId).

func (*Client) GetInstrumentEligibilityWithBody

func (c *Client) GetInstrumentEligibilityWithBody(ctx context.Context, params *GetInstrumentEligibilityParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

GetInstrumentEligibilityWithBody Check instrument trading eligibility

**Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Returns per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments. This configuration changes rarely for a given instrument and account, so call it once and reuse the result for the rest of the session instead of re-querying before every order.

Takes any type of body and a specified content type.

Corresponds with POST /api/v2/trading/info/eligibility (the `GetInstrumentEligibility` operationId).

func (*Client) GetInstrumentsSearch

func (c *Client) GetInstrumentsSearch(ctx context.Context, params *GetInstrumentsSearchParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetInstrumentsSearch Search instruments by free-text query

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/rates`

---

Free-text search of instruments by name or symbol. Results are relevance-ranked by the upstream search index; non-public instruments are filtered out.

Corresponds with GET /api/v2/market-data/instruments/search (the `GetInstrumentsSearch` operationId).

func (*Client) GetKeydataByApplication

func (c *Client) GetKeydataByApplication(ctx context.Context, application string, params *GetKeydataByApplicationParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetKeydataByApplication Get application key data

**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.

---

Returns the key/value data configured for the given application.

Corresponds with GET /api/v1/keydata/{application} (the `GetKeydataByApplication` operationId).

func (*Client) GetMarketDataExchanges

func (c *Client) GetMarketDataExchanges(ctx context.Context, params *GetMarketDataExchangesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetMarketDataExchanges List supported exchanges

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

Corresponds with GET /api/v1/market-data/exchanges (the `GetMarketDataExchanges` operationId).

func (*Client) GetMarketDataInstrumentTypes

func (c *Client) GetMarketDataInstrumentTypes(ctx context.Context, params *GetMarketDataInstrumentTypesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetMarketDataInstrumentTypes List instrument types

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

Corresponds with GET /api/v1/market-data/instrument-types (the `GetMarketDataInstrumentTypes` operationId).

func (*Client) GetMarketDataInstruments

func (c *Client) GetMarketDataInstruments(ctx context.Context, params *GetMarketDataInstrumentsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetMarketDataInstruments Get instrument display data

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

Corresponds with GET /api/v1/market-data/instruments (the `GetMarketDataInstruments` operationId).

func (*Client) GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCount

GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCount Get instrument candle history

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

---

Retrieves historical price data in OHLCV (Open, High, Low, Close, Volume) format for a specified instrument. The data is organized into time-based candles of various intervals, from one minute to one week.

Corresponds with GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount} (the `GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCount` operationId).

func (*Client) GetMarketDataInstrumentsHistoryClosingPrice

func (c *Client) GetMarketDataInstrumentsHistoryClosingPrice(ctx context.Context, params *GetMarketDataInstrumentsHistoryClosingPriceParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetMarketDataInstrumentsHistoryClosingPrice Get historical closing prices

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

Corresponds with GET /api/v1/market-data/instruments/history/closing-price (the `GetMarketDataInstrumentsHistoryClosingPrice` operationId).

func (*Client) GetMarketDataInstrumentsRates

func (c *Client) GetMarketDataInstrumentsRates(ctx context.Context, params *GetMarketDataInstrumentsRatesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetMarketDataInstrumentsRates Get instrument market rates

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

---

Provides real-time market data including bid/ask prices, conversion rates, and execution prices for specified financial instruments. Essential for price discovery and trade execution decisions.

Corresponds with GET /api/v1/market-data/instruments/rates (the `GetMarketDataInstrumentsRates` operationId).

func (*Client) GetMarketDataSearch

func (c *Client) GetMarketDataSearch(ctx context.Context, params *GetMarketDataSearchParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetMarketDataSearch Search for Instruments

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

---

Retrieve a paginated list of instruments. Any field in the Instrument response schema can be projected via the required `fields` parameter and/or used as a query-string filter (e.g. `fields=instrumentId,displayname&displayname=Bitcoin`). Use `pageSize`/`pageNumber` to paginate and `sort` to order. Filters that do not match an indexed instrument field are ignored.

Corresponds with GET /api/v1/market-data/search (the `GetMarketDataSearch` operationId).

func (*Client) GetMarketDataStocksIndustries

func (c *Client) GetMarketDataStocksIndustries(ctx context.Context, params *GetMarketDataStocksIndustriesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetMarketDataStocksIndustries Get stocks industries

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

Corresponds with GET /api/v1/market-data/stocks-industries (the `GetMarketDataStocksIndustries` operationId).

func (*Client) GetMarketRecommendationsByItemsCount

func (c *Client) GetMarketRecommendationsByItemsCount(ctx context.Context, itemsCount int16, params *GetMarketRecommendationsByItemsCountParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetMarketRecommendationsByItemsCount Get market recommendations

**Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Retrieves personalized market recommendations for the authenticated user.

Corresponds with GET /api/v1/market-recommendations/{itemsCount} (the `GetMarketRecommendationsByItemsCount` operationId).

func (*Client) GetMe

func (c *Client) GetMe(ctx context.Context, params *GetMeParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetMe Get authenticated user profile

**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.

---

Returns the profile of the currently authenticated user, including account identifiers (GCID, real and demo CIDs), profile fields from Scope Data API (username, name, player level, gender, language, date of birth, avatar URL), and the OAuth scopes granted to the current access token.

Corresponds with GET /api/v1/me (the `GetMe` operationId).

func (*Client) GetMultiplePortfoliosRankings

func (c *Client) GetMultiplePortfoliosRankings(ctx context.Context, params *GetMultiplePortfoliosRankingsParams, body GetMultiplePortfoliosRankingsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

GetMultiplePortfoliosRankings Bulk-fetch ranking rows

**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.

---

Returns ranking rows for a list of investors identified by username. Missing, private, or unranked users are silently omitted. Maximum 100 usernames per request.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v2/portfolios/rankings/multiple (the `GetMultiplePortfoliosRankings` operationId).

func (*Client) GetMultiplePortfoliosRankingsWithBody

func (c *Client) GetMultiplePortfoliosRankingsWithBody(ctx context.Context, params *GetMultiplePortfoliosRankingsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

GetMultiplePortfoliosRankingsWithBody Bulk-fetch ranking rows

**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.

---

Returns ranking rows for a list of investors identified by username. Missing, private, or unranked users are silently omitted. Maximum 100 usernames per request.

Takes any type of body and a specified content type.

Corresponds with POST /api/v2/portfolios/rankings/multiple (the `GetMultiplePortfoliosRankings` operationId).

func (*Client) GetMySubAccounts

func (c *Client) GetMySubAccounts(ctx context.Context, params *GetMySubAccountsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetMySubAccounts Get My Sub-Accounts

**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.

---

Returns the authenticated user's sub-accounts. Currently the supported provider is `etoro-trading` (etoro trading sub-accounts); additional sub-account providers will be added over time.

Corresponds with GET /api/v1/sub-accounts/me/accounts (the `GetMySubAccounts` operationId).

func (*Client) GetNotificationsMessages

func (c *Client) GetNotificationsMessages(ctx context.Context, params *GetNotificationsMessagesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetNotificationsMessages Get in-app notifications

**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.

---

Retrieves all in-app notifications for the authenticated user. Rate limit: 1 request per second.

Corresponds with GET /api/v1/notifications/messages (the `GetNotificationsMessages` operationId).

func (*Client) GetPiDataCopiers

func (c *Client) GetPiDataCopiers(ctx context.Context, params *GetPiDataCopiersParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetPiDataCopiers Get copiers public info

**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.

Corresponds with GET /api/v1/pi-data/copiers (the `GetPiDataCopiers` operationId).

func (*Client) GetPortfolioCopiers

func (c *Client) GetPortfolioCopiers(ctx context.Context, username string, params *GetPortfolioCopiersParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetPortfolioCopiers Get portfolio copier stats

**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.

---

Returns the investor's live copier count and assets-under-management tier for a public username. Requires `etoro-public:user-info:read`.

Corresponds with GET /api/v2/portfolios/{username}/copiers (the `GetPortfolioCopiers` operationId).

func (*Client) GetPortfolioRanking

func (c *Client) GetPortfolioRanking(ctx context.Context, username string, params *GetPortfolioRankingParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetPortfolioRanking Get ranking row for a single investor

**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.

---

Returns the full ranking row for the specified investor for a given time period. Returns 404 if the user is private, not found, or not ranked. `period` is required because every performance field is computed over a defined time window.

Corresponds with GET /api/v2/portfolios/{username}/rankings (the `GetPortfolioRanking` operationId).

func (*Client) GetPortfolioRankingsByPreset

func (c *Client) GetPortfolioRankingsByPreset(ctx context.Context, pType string, params *GetPortfolioRankingsByPresetParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetPortfolioRankingsByPreset Get rankings by named preset

**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.

---

Applies a predefined filter preset. Equivalent to GET /rankings with the preset's filters pre-applied. Unknown or non-whitelisted presets return 404 with the verbatim JSON string "Filter Not Found".

Corresponds with GET /api/v2/portfolios/rankings/presets/{type} (the `GetPortfolioRankingsByPreset` operationId).

func (*Client) GetPortfoliosRankings

func (c *Client) GetPortfoliosRankings(ctx context.Context, params *GetPortfoliosRankingsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetPortfoliosRankings Get paginated investor rankings

**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.

---

Returns a paged list of investor ranking rows filtered and sorted by query parameters. `period` is required; all filter parameters are optional.

Corresponds with GET /api/v2/portfolios/rankings (the `GetPortfoliosRankings` operationId).

func (*Client) GetPortfoliosRankingsSummary

func (c *Client) GetPortfoliosRankingsSummary(ctx context.Context, params *GetPortfoliosRankingsSummaryParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetPortfoliosRankingsSummary Get ranking universe aggregated by sector or industry

**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.

---

Aggregates ranked investors into tag-bucketed summaries. The required `summary` query parameter must be "industries" or "sectors". TagIds from the internal service are resolved to readable names.

Corresponds with GET /api/v2/portfolios/rankings/summary (the `GetPortfoliosRankingsSummary` operationId).

func (*Client) GetPriceAlerts

func (c *Client) GetPriceAlerts(ctx context.Context, params *GetPriceAlertsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetPriceAlerts Get price alerts

**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.

---

Returns all active price alerts for the authenticated user. Supports optional filtering by alertIds, instrumentIds, or symbols. The instrumentIds and symbols filters refer to the same dimension and are OR-combined with each other. The resulting instrument filter is AND-combined with alertIds. When no filters are provided, returns all active alerts.

Corresponds with GET /api/v1/price-alerts (the `GetPriceAlerts` operationId).

func (*Client) GetPriceCandleCoverage

func (c *Client) GetPriceCandleCoverage(ctx context.Context, instrumentId int32, params *GetPriceCandleCoverageParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetPriceCandleCoverage Get where price candles exist for an instrument

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/data/instruments/{instrumentId}/candles`

---

Returns, per interval, the oldest and newest candle, how many exist, and when the daily load last refreshed them. Call it before requesting candles to pick an interval and a range that has data: history can span more than 15 years, and ranges outside it return empty pages. Not user-scoped. An instrument with no data, or one etoro shows internally only, returns an empty `intervals` list, not a 404.

Corresponds with GET /api/v1/data/instruments/{instrumentId}/candles/coverage (the `GetPriceCandleCoverage` operationId).

func (*Client) GetPriceCandles

func (c *Client) GetPriceCandles(ctx context.Context, instrumentId int32, params *GetPriceCandlesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetPriceCandles Get price candles for an instrument

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/data/instruments/{instrumentId}/candles/coverage`

---

Full-history OHLC candles for one instrument and interval, from a public view built and kept current by a DataPlatform job. Not user-scoped: identical for every caller for the same instrument and parameters. A range without `from` returns the most recent slice; a slice covers at most 10,080 periods of the interval (7 days of 1m, up to all history for 1d/1w), and a longer range is paged with the keyset `cursor` in `pagination.nextCursor`. An instrument with no data for the interval, or one etoro shows internally only, returns 200 with an empty `results` array, not 404. Call the coverage endpoint first to find a range that has data.

Corresponds with GET /api/v1/data/instruments/{instrumentId}/candles (the `GetPriceCandles` operationId).

func (*Client) GetRates

func (c *Client) GetRates(ctx context.Context, params *GetRatesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetRates Retrieve bid/ask rates for one or more instruments

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search`

---

Returns current bid/ask rates keyed by instrument ID. Each rate carries a `quoteType` indicating whether it is `realtime` or `delayed`.

Returns 200 when all requested instruments are found, 206 when only a subset is available.

Corresponds with GET /api/v2/market-data/rates (the `GetRates` operationId).

func (*Client) GetScopes

func (c *Client) GetScopes(ctx context.Context, params *GetScopesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetScopes List available OAuth scopes

**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.

---

Returns the public catalog of OAuth scopes that can be requested when creating or updating an application. Use this endpoint to render scope pickers and to validate scope ids client-side before calling create/update.

Corresponds with GET /api/v1/sso/scopes (the `GetScopes` operationId).

func (*Client) GetSecurities

func (c *Client) GetSecurities(ctx context.Context, params *GetSecuritiesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetSecurities Search for securities (instruments) by ID or symbol

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

---

Returns instrument (security) metadata, optionally filtered by instrument IDs or symbols, with cursor-based pagination.

`instrumentsIds` and `symbols` are mutually exclusive. All filters are optional and independent; if neither `instrumentsIds` nor `symbols` is provided, results are not filtered by instrument and are simply paginated by `pageSize`.

Corresponds with GET /api/v2/market-data/instruments (the `GetSecurities` operationId).

func (*Client) GetStockbackPromoStatus

func (c *Client) GetStockbackPromoStatus(ctx context.Context, params *GetStockbackPromoStatusParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetStockbackPromoStatus Get the caller's StockBack/Cashback promo status

**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.

---

Returns the calling customer's current StockBack/Cashback promo enrollment and lifetime USD reward figures - opted-in status, selected stock, professional-investor status, reward channel, club tier, country, this month's expected reward, and lifetime StockBack/Cashback/total USD earned. This is user-scoped: the caller is identified by their own gateway-issued GCID, not a path or query parameter, so it always answers for 'me'. A customer who is not (or not yet) enrolled in the promo still returns 200, with every value field null, rather than 404 - a 404 means no row exists for this GCID at all, which is a data-completeness gap, not simply 'not enrolled'.

Corresponds with GET /api/v1/data/stockback/promo-status (the `GetStockbackPromoStatus` operationId).

func (*Client) GetSubAccountUserTokenScopes

func (c *Client) GetSubAccountUserTokenScopes(ctx context.Context, params *GetSubAccountUserTokenScopesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetSubAccountUserTokenScopes Get Allowed Sub-Account Token Scopes

**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.

---

Returns the scope names that may be assigned to sub-account non-interactive user tokens (the etoro-trading-subaccount application's scopes).

Corresponds with GET /api/v1/sub-accounts/etoro-trading/user-tokens/scopes (the `GetSubAccountUserTokenScopes` operationId).

func (*Client) GetSubAccountUserTokens

func (c *Client) GetSubAccountUserTokens(ctx context.Context, params *GetSubAccountUserTokensParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetSubAccountUserTokens List Sub-Account User Tokens

**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.

---

Lists all sub-account non-interactive user tokens owned by the authenticated user, across all their etoro trading sub-accounts. The secret token value is never included in list results.

Corresponds with GET /api/v1/sub-accounts/etoro-trading/user-tokens (the `GetSubAccountUserTokens` operationId).

func (*Client) GetTradingInfoDemoCloseOrdersByOrderId

func (c *Client) GetTradingInfoDemoCloseOrdersByOrderId(ctx context.Context, orderId int64, params *GetTradingInfoDemoCloseOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetTradingInfoDemoCloseOrdersByOrderId Get close order information and closed position details

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/demo/orders/{orderId}` - `GET /api/v2/trading/info/demo/orders:lookup`

---

Retrieves information about a close order, including its execution status and the positions that were closed as a result of the request. Use this to track the outcome of a position-closing order and identify which positions were affected. This is a read-only call and is the supported way to confirm the outcome of POST or DELETE /api/v1/trading/execution/demo/market-close-orders/... - including when the DELETE response was lost: poll this endpoint with the same close orderId instead of resending the cancel. Executed quantity is reported per affected position in positions[] (units and amount, with occurred and rate set once that position was closed); the order-level proceeds field totals what was realized. A close order that was cancelled before anything executed has no executed entries in positions[]. Any requested units that do not appear as executed in positions[] were not closed. errorCode and errorMessage are populated when processing failed.

Corresponds with GET /api/v1/trading/info/demo/close-orders/{orderId} (the `GetTradingInfoDemoCloseOrdersByOrderId` operationId).

func (*Client) GetTradingInfoDemoOrdersLookup

func (c *Client) GetTradingInfoDemoOrdersLookup(ctx context.Context, params *GetTradingInfoDemoOrdersLookupParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetTradingInfoDemoOrdersLookup Get order information and position details

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/demo/close-orders/{orderId}` - `GET /api/v1/trading/info/demo/orders/{orderId}`

---

Retrieves comprehensive information about a specific order, including the order status, execution details, and all positions that were opened or closed from this order. This endpoint is essential for tracking order execution and identifying which positions were created as a result of a specific order request. The response includes detailed position information with PositionID values that can be used to query position-specific details. Provide exactly one of orderId or referenceId.

Corresponds with GET /api/v2/trading/info/demo/orders:lookup (the `GetTradingInfoDemoOrdersLookup` operationId).

func (*Client) GetTradingInfoDemoPnl

func (c *Client) GetTradingInfoDemoPnl(ctx context.Context, params *GetTradingInfoDemoPnlParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetTradingInfoDemoPnl Get account PnL and portfolio details

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/demo/portfolio` - `GET /api/v2/trading/info/demo/instrument-breakdown`

---

Retrieves the demo account's current portfolio, including credit, open positions, orders, mirrors, and PnL details.

Corresponds with GET /api/v1/trading/info/demo/pnl (the `GetTradingInfoDemoPnl` operationId).

func (*Client) GetTradingInfoDemoPortfolio

func (c *Client) GetTradingInfoDemoPortfolio(ctx context.Context, params *GetTradingInfoDemoPortfolioParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetTradingInfoDemoPortfolio Get demo portfolio breakdown

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/demo/pnl` - `GET /api/v2/trading/info/demo/instrument-breakdown`

---

Returns detailed portfolio information including active positions, pending orders, mirror trading details, and account balances. This endpoint provides a complete overview of the user's trading activity and current market exposure.

Corresponds with GET /api/v1/trading/info/demo/portfolio (the `GetTradingInfoDemoPortfolio` operationId).

func (*Client) GetTradingInfoDemoPortfolioInstrumentBreakdown

func (c *Client) GetTradingInfoDemoPortfolioInstrumentBreakdown(ctx context.Context, params *GetTradingInfoDemoPortfolioInstrumentBreakdownParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetTradingInfoDemoPortfolioInstrumentBreakdown Get instrument breakdown (demo)

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/demo/pnl` - `GET /api/v1/trading/info/demo/portfolio`

---

Returns the demo portfolio grouped by instrument, including per-position data, pending orders, and PnL.

Corresponds with GET /api/v2/trading/info/demo/instrument-breakdown (the `GetTradingInfoDemoPortfolioInstrumentBreakdown` operationId).

func (*Client) GetTradingInfoOrdersLookup

func (c *Client) GetTradingInfoOrdersLookup(ctx context.Context, params *GetTradingInfoOrdersLookupParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetTradingInfoOrdersLookup Get order information and position details

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/real/close-orders/{orderId}` - `GET /api/v1/trading/info/real/orders/{orderId}`

---

Retrieves comprehensive information about a specific order, including the order status, execution details, and all positions that were opened or closed from this order. This endpoint is essential for tracking order execution and identifying which positions were created as a result of a specific order request. The response includes detailed position information with PositionID values that can be used to query position-specific details. Provide exactly one of orderId or referenceId.

Corresponds with GET /api/v2/trading/info/orders:lookup (the `GetTradingInfoOrdersLookup` operationId).

func (*Client) GetTradingInfoPortfolio

func (c *Client) GetTradingInfoPortfolio(ctx context.Context, params *GetTradingInfoPortfolioParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetTradingInfoPortfolio Get portfolio breakdown

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/real/pnl` - `GET /api/v2/trading/info/instrument-breakdown`

---

Returns detailed portfolio information including active positions, pending orders, mirror trading details, and account balances. This endpoint provides a complete overview of the user's trading activity and current market exposure.

Corresponds with GET /api/v1/trading/info/portfolio (the `GetTradingInfoPortfolio` operationId).

func (*Client) GetTradingInfoPortfolioInstrumentBreakdown

func (c *Client) GetTradingInfoPortfolioInstrumentBreakdown(ctx context.Context, params *GetTradingInfoPortfolioInstrumentBreakdownParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetTradingInfoPortfolioInstrumentBreakdown Get instrument breakdown

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/portfolio` - `GET /api/v1/trading/info/real/pnl`

---

Returns the portfolio data grouped by instrument, including per-position data, pending orders, and PnL.

Corresponds with GET /api/v2/trading/info/instrument-breakdown (the `GetTradingInfoPortfolioInstrumentBreakdown` operationId).

func (*Client) GetTradingInfoRealCloseOrdersByOrderId

func (c *Client) GetTradingInfoRealCloseOrdersByOrderId(ctx context.Context, orderId int64, params *GetTradingInfoRealCloseOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetTradingInfoRealCloseOrdersByOrderId Get close order information and closed position details

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/real/orders/{orderId}` - `GET /api/v2/trading/info/orders:lookup`

---

Retrieves information about a close order, including its execution status and the positions that were closed as a result of the request. Use this to track the outcome of a position-closing order and identify which positions were affected. This is a read-only call and is the supported way to confirm the outcome of POST or DELETE /api/v1/trading/execution/market-close-orders/... - including when the DELETE response was lost: poll this endpoint with the same close orderId instead of resending the cancel. Executed quantity is reported per affected position in positions[] (units and amount, with occurred and rate set once that position was closed); the order-level proceeds field totals what was realized. A close order that was cancelled before anything executed has no executed entries in positions[]. Any requested units that do not appear as executed in positions[] were not closed. errorCode and errorMessage are populated when processing failed.

Corresponds with GET /api/v1/trading/info/real/close-orders/{orderId} (the `GetTradingInfoRealCloseOrdersByOrderId` operationId).

func (*Client) GetTradingInfoRealPnl

func (c *Client) GetTradingInfoRealPnl(ctx context.Context, params *GetTradingInfoRealPnlParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetTradingInfoRealPnl Get account PnL and portfolio details

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/portfolio` - `GET /api/v2/trading/info/instrument-breakdown`

---

Retrieves the real account's current portfolio, including credit, open positions, orders, mirrors, and PnL details.

Corresponds with GET /api/v1/trading/info/real/pnl (the `GetTradingInfoRealPnl` operationId).

func (*Client) GetTradingInfoTradeDemoHistory

func (c *Client) GetTradingInfoTradeDemoHistory(ctx context.Context, params *GetTradingInfoTradeDemoHistoryParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetTradingInfoTradeDemoHistory List trading history

**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.

---

Returns closed trades for the authenticated account from `minDate` through the present. Keep each request's lookback to less than 1 year (maximum 1 year minus 1 day). For longer history, split the range into successive windows of at most that length (advance `minDate` per batch) and use `page` / `pageSize` within each window.

Corresponds with GET /api/v1/trading/info/trade/demo/history (the `GetTradingInfoTradeDemoHistory` operationId).

func (*Client) GetTradingInfoTradeHistory

func (c *Client) GetTradingInfoTradeHistory(ctx context.Context, params *GetTradingInfoTradeHistoryParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetTradingInfoTradeHistory List trading history

**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.

---

Returns closed trades for the authenticated account from `minDate` through the present. Keep each request's lookback to less than 1 year (maximum 1 year minus 1 day). For longer history, split the range into successive windows of at most that length (advance `minDate` per batch) and use `page` / `pageSize` within each window.

Corresponds with GET /api/v1/trading/info/trade/history (the `GetTradingInfoTradeHistory` operationId).

func (*Client) GetTransferById

func (c *Client) GetTransferById(ctx context.Context, transferId int64, params *GetTransferByIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetTransferById Get transfer by ID

**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.

---

Returns the TransferLookupResult wrapper containing exactly one TransferLookupResponse matching the server transferId. Returns 404 when the transfer does not exist or is not visible to the authenticated customer.

Corresponds with GET /api/v1/money/transfers/{transferId} (the `GetTransferById` operationId).

func (*Client) GetTransferEligibility

func (c *Client) GetTransferEligibility(ctx context.Context, params *GetTransferEligibilityParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetTransferEligibility Transfer eligibility (source and destination accounts)

**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.

---

Returns the full eligibility graph for the authenticated customer: for each source account, the destination accounts allowed for transfers.

Corresponds with GET /api/v1/money/transfer-eligibility (the `GetTransferEligibility` operationId).

func (*Client) GetTransferFeeConfiguration

func (c *Client) GetTransferFeeConfiguration(ctx context.Context, params *GetTransferFeeConfigurationParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetTransferFeeConfiguration List transfer fees

**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.

---

Returns transfer fee configuration for the authenticated customer as a list of rows, one per source/destination account type route.

Corresponds with GET /api/v1/money/transfer-fee-configurations (the `GetTransferFeeConfiguration` operationId).

func (*Client) GetTransferLimits

func (c *Client) GetTransferLimits(ctx context.Context, params *GetTransferLimitsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetTransferLimits List transfer limits

**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.

---

Returns transfer amount limits for each allowed combination of source and destination account types.

Corresponds with GET /api/v1/money/transfer-limits (the `GetTransferLimits` operationId).

func (*Client) GetTransferableBalance

func (c *Client) GetTransferableBalance(ctx context.Context, params *GetTransferableBalanceParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetTransferableBalance Get max transferable amount

**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.

---

Returns the maximum amount the customer may transfer from the specified source account to the specified destination account.

Corresponds with GET /api/v1/money/transferable-balance (the `GetTransferableBalance` operationId).

func (*Client) GetUserInfoPeople

func (c *Client) GetUserInfoPeople(ctx context.Context, params *GetUserInfoPeopleParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetUserInfoPeople Get user profile and account summary

**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.

---

Returns detailed user profile information including account status, verification levels, biographical data, and associated metadata. This endpoint aggregates essential user information from multiple sources to provide a complete user profile overview.

Corresponds with GET /api/v1/user-info/people (the `GetUserInfoPeople` operationId).

func (*Client) GetUserInfoPeopleByUsernameDailyGain

func (c *Client) GetUserInfoPeopleByUsernameDailyGain(ctx context.Context, username string, params *GetUserInfoPeopleByUsernameDailyGainParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetUserInfoPeopleByUsernameDailyGain Get user daily performance

**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.

---

Provides detailed performance analytics including daily gains, cumulative returns, and period-specific metrics within a specified date range. Supports various time-based analyses and performance reporting requirements.

Corresponds with GET /api/v1/user-info/people/{username}/daily-gain (the `GetUserInfoPeopleByUsernameDailyGain` operationId).

func (*Client) GetUserInfoPeopleByUsernameGain

func (c *Client) GetUserInfoPeopleByUsernameGain(ctx context.Context, username string, params *GetUserInfoPeopleByUsernameGainParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetUserInfoPeopleByUsernameGain Get user performance history

**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.

---

Returns comprehensive historical monthly and yearly performance data including gain percentages, risk-adjusted returns, and detailed trading statistics. This endpoint provides both aggregated and time-series performance metrics.

Corresponds with GET /api/v1/user-info/people/{username}/gain (the `GetUserInfoPeopleByUsernameGain` operationId).

func (*Client) GetUserInfoPeopleByUsernamePortfolioLive

func (c *Client) GetUserInfoPeopleByUsernamePortfolioLive(ctx context.Context, username string, params *GetUserInfoPeopleByUsernamePortfolioLiveParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetUserInfoPeopleByUsernamePortfolioLive Get user live portfolio

**Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

Corresponds with GET /api/v1/user-info/people/{username}/portfolio/live (the `GetUserInfoPeopleByUsernamePortfolioLive` operationId).

func (*Client) GetUserInfoPeopleByUsernameTradeinfo

func (c *Client) GetUserInfoPeopleByUsernameTradeinfo(ctx context.Context, username string, params *GetUserInfoPeopleByUsernameTradeinfoParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetUserInfoPeopleByUsernameTradeinfo Get user trade info

**Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

Corresponds with GET /api/v1/user-info/people/{username}/tradeinfo (the `GetUserInfoPeopleByUsernameTradeinfo` operationId).

func (*Client) GetUserInfoPeopleSearch

func (c *Client) GetUserInfoPeopleSearch(ctx context.Context, params *GetUserInfoPeopleSearchParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetUserInfoPeopleSearch Search users

**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.

---

Powerful search platform that enables advanced user discovery with comprehensive filtering capabilities. Supports complex queries across multiple dimensions including performance metrics, risk profiles, investment patterns, and account characteristics. Ideal for identifying users based on specific trading behaviors and performance criteria.

Corresponds with GET /api/v1/user-info/people/search (the `GetUserInfoPeopleSearch` operationId).

func (*Client) GetWatchlists

func (c *Client) GetWatchlists(ctx context.Context, params *GetWatchlistsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetWatchlists Get user watchlists

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/watchlists/default-watchlists/items` - `GET /api/v1/watchlists/public/{userId}` - `GET /api/v1/watchlists/public/{userId}/{watchlistId}` - `GET /api/v1/watchlists/{watchlistId}`

---

Retrieves all watchlists for the authenticated user with optional pagination and built-in watchlist management.

Corresponds with GET /api/v1/watchlists (the `GetWatchlists` operationId).

func (*Client) GetWatchlistsByWatchlistId

func (c *Client) GetWatchlistsByWatchlistId(ctx context.Context, watchlistId string, params *GetWatchlistsByWatchlistIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetWatchlistsByWatchlistId Get single watchlist

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/watchlists` - `GET /api/v1/watchlists/default-watchlists/items` - `GET /api/v1/watchlists/public/{userId}` - `GET /api/v1/watchlists/public/{userId}/{watchlistId}`

---

Retrieves a specific watchlist with its items using pagination.

Corresponds with GET /api/v1/watchlists/{watchlistId} (the `GetWatchlistsByWatchlistId` operationId).

func (*Client) GetWatchlistsDefaultWatchlistsItems

func (c *Client) GetWatchlistsDefaultWatchlistsItems(ctx context.Context, params *GetWatchlistsDefaultWatchlistsItemsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetWatchlistsDefaultWatchlistsItems Get default watchlist items

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/watchlists` - `GET /api/v1/watchlists/public/{userId}` - `GET /api/v1/watchlists/public/{userId}/{watchlistId}` - `GET /api/v1/watchlists/{watchlistId}`

---

Retrieves items from user's default watchlists with optional pagination.

Corresponds with GET /api/v1/watchlists/default-watchlists/items (the `GetWatchlistsDefaultWatchlistsItems` operationId).

func (*Client) GetWatchlistsPublicByUserId

func (c *Client) GetWatchlistsPublicByUserId(ctx context.Context, userId int32, params *GetWatchlistsPublicByUserIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetWatchlistsPublicByUserId Get user's public watchlists

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/watchlists` - `GET /api/v1/watchlists/default-watchlists/items` - `GET /api/v1/watchlists/public/{userId}/{watchlistId}` - `GET /api/v1/watchlists/{watchlistId}`

---

Retrieves all public watchlists for a specific user.

Corresponds with GET /api/v1/watchlists/public/{userId} (the `GetWatchlistsPublicByUserId` operationId).

func (*Client) GetWatchlistsPublicByUserIdByWatchlistId

func (c *Client) GetWatchlistsPublicByUserIdByWatchlistId(ctx context.Context, userId int32, watchlistId string, params *GetWatchlistsPublicByUserIdByWatchlistIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

GetWatchlistsPublicByUserIdByWatchlistId Get single public watchlist

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/watchlists` - `GET /api/v1/watchlists/default-watchlists/items` - `GET /api/v1/watchlists/public/{userId}` - `GET /api/v1/watchlists/{watchlistId}`

---

Retrieves a specific public watchlist from a user.

Corresponds with GET /api/v1/watchlists/public/{userId}/{watchlistId} (the `GetWatchlistsPublicByUserIdByWatchlistId` operationId).

func (*Client) GetWatchlistsV2

func (c *Client) GetWatchlistsV2(ctx context.Context, params *GetWatchlistsV2Params, body GetWatchlistsV2JSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

GetWatchlistsV2 Get user watchlists (BFF V2)

**Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Retrieves the authenticated user's watchlists as a BFF component response (V2 facade). The request body selects the userWatchlists component and its params.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v2/watchlists (the `GetWatchlistsV2` operationId).

func (*Client) GetWatchlistsV2WithBody

func (c *Client) GetWatchlistsV2WithBody(ctx context.Context, params *GetWatchlistsV2Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

GetWatchlistsV2WithBody Get user watchlists (BFF V2)

**Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Retrieves the authenticated user's watchlists as a BFF component response (V2 facade). The request body selects the userWatchlists component and its params.

Takes any type of body and a specified content type.

Corresponds with POST /api/v2/watchlists (the `GetWatchlistsV2` operationId).

func (*Client) ListCashAccountTransactions

func (c *Client) ListCashAccountTransactions(ctx context.Context, accountId openapi_types.UUID, params *ListCashAccountTransactionsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

ListCashAccountTransactions List cash account transactions (paginated)

**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.

---

Returns a cursor-paginated list of transactions for the given cash account. Use pageSize and pageToken for pagination; nextPageToken is null when there is no next page.

Corresponds with GET /api/v1/money/accounts/cash/{accountId}/transactions (the `ListCashAccountTransactions` operationId).

func (*Client) ListPortfolioRankingsPresets

func (c *Client) ListPortfolioRankingsPresets(ctx context.Context, params *ListPortfolioRankingsPresetsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

ListPortfolioRankingsPresets List available ranking presets

**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.

---

Returns the names of all publicly available ranking presets. Use a preset name as the `{type}` path parameter in GET /portfolios/rankings/presets/{type}. No pagination.

Corresponds with GET /api/v2/portfolios/rankings/presets (the `ListPortfolioRankingsPresets` operationId).

func (*Client) ListPortfolioRankingsTags

func (c *Client) ListPortfolioRankingsTags(ctx context.Context, params *ListPortfolioRankingsTagsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

ListPortfolioRankingsTags List all ranking tags

**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.

---

Returns the full catalog of ranking tags (industries and sectors) with resolved names. Optionally filter to a single dimension via the `type` query parameter. No pagination.

Corresponds with GET /api/v2/portfolios/rankings/tags (the `ListPortfolioRankingsTags` operationId).

func (*Client) LookupTransfersByRequestReferenceId

func (c *Client) LookupTransfersByRequestReferenceId(ctx context.Context, params *LookupTransfersByRequestReferenceIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

LookupTransfersByRequestReferenceId List transfers by reference ID

**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.

---

Returns a list of transfers for the authenticated customer, keyed by the client requestReferenceId query parameter.

Corresponds with GET /api/v1/money/transfers:lookup (the `LookupTransfersByRequestReferenceId` operationId).

func (*Client) PatchNotificationsMessages

func (c *Client) PatchNotificationsMessages(ctx context.Context, params *PatchNotificationsMessagesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

PatchNotificationsMessages Mark all notifications as read

**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.

---

Marks all notifications as read for the authenticated user. Rate limit: 20 requests per minute.

Corresponds with PATCH /api/v1/notifications/messages (the `PatchNotificationsMessages` operationId).

func (*Client) PatchPriceAlertsByAlertId

func (c *Client) PatchPriceAlertsByAlertId(ctx context.Context, alertId openapi_types.UUID, params *PatchPriceAlertsByAlertIdParams, body PatchPriceAlertsByAlertIdJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

PatchPriceAlertsByAlertId Update a price alert

**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.

---

Updates the target price of an existing price alert.

Takes a body of the `application/json` content type.

Corresponds with PATCH /api/v1/price-alerts/{alertId} (the `PatchPriceAlertsByAlertId` operationId).

func (*Client) PatchPriceAlertsByAlertIdWithBody

func (c *Client) PatchPriceAlertsByAlertIdWithBody(ctx context.Context, alertId openapi_types.UUID, params *PatchPriceAlertsByAlertIdParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

PatchPriceAlertsByAlertIdWithBody Update a price alert

**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.

---

Updates the target price of an existing price alert.

Takes any type of body and a specified content type.

Corresponds with PATCH /api/v1/price-alerts/{alertId} (the `PatchPriceAlertsByAlertId` operationId).

func (*Client) PostAggregatedPortfolio

func (c *Client) PostAggregatedPortfolio(ctx context.Context, params *PostAggregatedPortfolioParams, body PostAggregatedPortfolioJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

PostAggregatedPortfolio Get a filtered aggregated portfolio snapshot

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/aggregate-portfolio`

---

Returns the portfolio using aggregation levels and structured per-mirror instrument filters from the request body. This filter does not affect the account totals, that are still calculated based on the full portfolio.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v1/trading/info/aggregate-portfolio (the `PostAggregatedPortfolio` operationId).

func (*Client) PostAggregatedPortfolioDemo

func (c *Client) PostAggregatedPortfolioDemo(ctx context.Context, params *PostAggregatedPortfolioDemoParams, body PostAggregatedPortfolioDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

PostAggregatedPortfolioDemo Get a filtered aggregated portfolio snapshot

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/demo/aggregate-portfolio`

---

Returns the demo portfolio using aggregation levels and structured per-mirror instrument filters from the request body. This filter does not affect the account totals, that are still calculated based on the full portfolio.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v1/trading/info/demo/aggregate-portfolio (the `PostAggregatedPortfolioDemo` operationId).

func (*Client) PostAggregatedPortfolioDemoWithBody

func (c *Client) PostAggregatedPortfolioDemoWithBody(ctx context.Context, params *PostAggregatedPortfolioDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

PostAggregatedPortfolioDemoWithBody Get a filtered aggregated portfolio snapshot

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/demo/aggregate-portfolio`

---

Returns the demo portfolio using aggregation levels and structured per-mirror instrument filters from the request body. This filter does not affect the account totals, that are still calculated based on the full portfolio.

Takes any type of body and a specified content type.

Corresponds with POST /api/v1/trading/info/demo/aggregate-portfolio (the `PostAggregatedPortfolioDemo` operationId).

func (*Client) PostAggregatedPortfolioWithBody

func (c *Client) PostAggregatedPortfolioWithBody(ctx context.Context, params *PostAggregatedPortfolioParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

PostAggregatedPortfolioWithBody Get a filtered aggregated portfolio snapshot

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/aggregate-portfolio`

---

Returns the portfolio using aggregation levels and structured per-mirror instrument filters from the request body. This filter does not affect the account totals, that are still calculated based on the full portfolio.

Takes any type of body and a specified content type.

Corresponds with POST /api/v1/trading/info/aggregate-portfolio (the `PostAggregatedPortfolio` operationId).

func (*Client) PostMoneyTransfer

func (c *Client) PostMoneyTransfer(ctx context.Context, params *PostMoneyTransferParams, body PostMoneyTransferJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

PostMoneyTransfer Execute an internal account-to-account transfer

**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.

---

Executes an internal transfer from the source account to the destination account for the authenticated customer.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v1/money/transfers (the `PostMoneyTransfer` operationId).

func (*Client) PostMoneyTransferWithBody

func (c *Client) PostMoneyTransferWithBody(ctx context.Context, params *PostMoneyTransferParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

PostMoneyTransferWithBody Execute an internal account-to-account transfer

**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.

---

Executes an internal transfer from the source account to the destination account for the authenticated customer.

Takes any type of body and a specified content type.

Corresponds with POST /api/v1/money/transfers (the `PostMoneyTransfer` operationId).

func (*Client) PostPriceAlerts

func (c *Client) PostPriceAlerts(ctx context.Context, params *PostPriceAlertsParams, body PostPriceAlertsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

PostPriceAlerts Create a price alert

**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.

---

Creates a new price alert for the authenticated user. The alert will fire when the market bid price reaches the target price. Provide a symbol to identify the instrument.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v1/price-alerts (the `PostPriceAlerts` operationId).

func (*Client) PostPriceAlertsWithBody

func (c *Client) PostPriceAlertsWithBody(ctx context.Context, params *PostPriceAlertsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

PostPriceAlertsWithBody Create a price alert

**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.

---

Creates a new price alert for the authenticated user. The alert will fire when the market bid price reaches the target price. Provide a symbol to identify the instrument.

Takes any type of body and a specified content type.

Corresponds with POST /api/v1/price-alerts (the `PostPriceAlerts` operationId).

func (*Client) PostWatchlists

func (c *Client) PostWatchlists(ctx context.Context, params *PostWatchlistsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

PostWatchlists Create a new watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Creates a new watchlist for the authenticated user with the specified name and type.

Corresponds with POST /api/v1/watchlists (the `PostWatchlists` operationId).

func (*Client) PostWatchlistsByWatchlistIdItems

func (c *Client) PostWatchlistsByWatchlistIdItems(ctx context.Context, watchlistId string, params *PostWatchlistsByWatchlistIdItemsParams, body PostWatchlistsByWatchlistIdItemsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

PostWatchlistsByWatchlistIdItems Add items to watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Adds new items to an existing watchlist.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v1/watchlists/{watchlistId}/items (the `PostWatchlistsByWatchlistIdItems` operationId).

func (*Client) PostWatchlistsByWatchlistIdItemsWithBody

func (c *Client) PostWatchlistsByWatchlistIdItemsWithBody(ctx context.Context, watchlistId string, params *PostWatchlistsByWatchlistIdItemsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

PostWatchlistsByWatchlistIdItemsWithBody Add items to watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Adds new items to an existing watchlist.

Takes any type of body and a specified content type.

Corresponds with POST /api/v1/watchlists/{watchlistId}/items (the `PostWatchlistsByWatchlistIdItems` operationId).

func (*Client) PostWatchlistsDefaultWatchlistSelectedItems

PostWatchlistsDefaultWatchlistSelectedItems Create default watchlist with selected items

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Creates a default watchlist populated with the specified items.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v1/watchlists/default-watchlist/selected-items (the `PostWatchlistsDefaultWatchlistSelectedItems` operationId).

func (*Client) PostWatchlistsDefaultWatchlistSelectedItemsWithBody

func (c *Client) PostWatchlistsDefaultWatchlistSelectedItemsWithBody(ctx context.Context, params *PostWatchlistsDefaultWatchlistSelectedItemsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

PostWatchlistsDefaultWatchlistSelectedItemsWithBody Create default watchlist with selected items

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Creates a default watchlist populated with the specified items.

Takes any type of body and a specified content type.

Corresponds with POST /api/v1/watchlists/default-watchlist/selected-items (the `PostWatchlistsDefaultWatchlistSelectedItems` operationId).

func (*Client) PostWatchlistsNewasdefaultWatchlist

func (c *Client) PostWatchlistsNewasdefaultWatchlist(ctx context.Context, params *PostWatchlistsNewasdefaultWatchlistParams, reqEditors ...RequestEditorFn) (*http.Response, error)

PostWatchlistsNewasdefaultWatchlist Create watchlist and set as default

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Creates a new watchlist and immediately sets it as the user's default watchlist.

Corresponds with POST /api/v1/watchlists/newasdefault-watchlist (the `PostWatchlistsNewasdefaultWatchlist` operationId).

func (*Client) PutWatchlistsByWatchlistId

func (c *Client) PutWatchlistsByWatchlistId(ctx context.Context, watchlistId string, params *PutWatchlistsByWatchlistIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

PutWatchlistsByWatchlistId Rename watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Updates the name of an existing watchlist.

Corresponds with PUT /api/v1/watchlists/{watchlistId} (the `PutWatchlistsByWatchlistId` operationId).

func (*Client) PutWatchlistsByWatchlistIdItems

func (c *Client) PutWatchlistsByWatchlistIdItems(ctx context.Context, watchlistId string, params *PutWatchlistsByWatchlistIdItemsParams, body PutWatchlistsByWatchlistIdItemsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

PutWatchlistsByWatchlistIdItems Update items in watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}`

---

Updates existing items in a watchlist (rank, etc.).

Takes a body of the `application/json` content type.

Corresponds with PUT /api/v1/watchlists/{watchlistId}/items (the `PutWatchlistsByWatchlistIdItems` operationId).

func (*Client) PutWatchlistsByWatchlistIdItemsWithBody

func (c *Client) PutWatchlistsByWatchlistIdItemsWithBody(ctx context.Context, watchlistId string, params *PutWatchlistsByWatchlistIdItemsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

PutWatchlistsByWatchlistIdItemsWithBody Update items in watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}`

---

Updates existing items in a watchlist (rank, etc.).

Takes any type of body and a specified content type.

Corresponds with PUT /api/v1/watchlists/{watchlistId}/items (the `PutWatchlistsByWatchlistIdItems` operationId).

func (*Client) PutWatchlistsRankByWatchlistId

func (c *Client) PutWatchlistsRankByWatchlistId(ctx context.Context, watchlistId string, params *PutWatchlistsRankByWatchlistIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

PutWatchlistsRankByWatchlistId Change watchlist rank

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Updates the display rank of a watchlist.

Corresponds with PUT /api/v1/watchlists/rank/{watchlistId} (the `PutWatchlistsRankByWatchlistId` operationId).

func (*Client) PutWatchlistsSetUserSelectedUserDefaultByWatchlistId

func (c *Client) PutWatchlistsSetUserSelectedUserDefaultByWatchlistId(ctx context.Context, watchlistId string, params *PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

PutWatchlistsSetUserSelectedUserDefaultByWatchlistId Set watchlist as default

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Sets the specified watchlist as the user's default watchlist.

Corresponds with PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId} (the `PutWatchlistsSetUserSelectedUserDefaultByWatchlistId` operationId).

func (*Client) RegisterCopyTrading

func (c *Client) RegisterCopyTrading(ctx context.Context, params *RegisterCopyTradingParams, body RegisterCopyTradingJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

RegisterCopyTrading Start copying an investor, or adjust an existing copy

**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.

---

Registers a copy relationship with the given investor for the authenticated account. If the copy already exists, funds will be added to or removed from it; if it does not exist, a new copy will be created and funds transferred into it. Every change of funds causes a realignment process that adjusts all the positions inside the sub-portfolio to match the parent portfolio proportions. Investor account ids (parentCID) are the ids surfaced by the platform's public endpoints (for example, the Rankings endpoints). The operation is asynchronous: the response token acknowledges acceptance, and the outcome can be checked via GET /api/v2/trading/copy/{referenceId} using the referenceID supplied here.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v2/trading/copy (the `RegisterCopyTrading` operationId).

func (*Client) RegisterCopyTradingDemo

func (c *Client) RegisterCopyTradingDemo(ctx context.Context, params *RegisterCopyTradingDemoParams, body RegisterCopyTradingDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

RegisterCopyTradingDemo Start copying an investor, or adjust an existing copy

**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.

---

Registers a copy relationship with the given investor for the authenticated account. If the copy already exists, funds will be added to or removed from it; if it does not exist, a new copy will be created and funds transferred into it. Every change of funds causes a realignment process that adjusts all the positions inside the sub-portfolio to match the parent portfolio proportions. Investor account ids (parentCID) are the ids surfaced by the platform's public endpoints (for example, the Rankings endpoints). The operation is asynchronous: the response token acknowledges acceptance, and the outcome can be checked via GET /api/v2/trading/copy/demo/{referenceId} using the referenceID supplied here.

Takes a body of the `application/json` content type.

Corresponds with POST /api/v2/trading/copy/demo (the `RegisterCopyTradingDemo` operationId).

func (*Client) RegisterCopyTradingDemoWithBody

func (c *Client) RegisterCopyTradingDemoWithBody(ctx context.Context, params *RegisterCopyTradingDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

RegisterCopyTradingDemoWithBody Start copying an investor, or adjust an existing copy

**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.

---

Registers a copy relationship with the given investor for the authenticated account. If the copy already exists, funds will be added to or removed from it; if it does not exist, a new copy will be created and funds transferred into it. Every change of funds causes a realignment process that adjusts all the positions inside the sub-portfolio to match the parent portfolio proportions. Investor account ids (parentCID) are the ids surfaced by the platform's public endpoints (for example, the Rankings endpoints). The operation is asynchronous: the response token acknowledges acceptance, and the outcome can be checked via GET /api/v2/trading/copy/demo/{referenceId} using the referenceID supplied here.

Takes any type of body and a specified content type.

Corresponds with POST /api/v2/trading/copy/demo (the `RegisterCopyTradingDemo` operationId).

func (*Client) RegisterCopyTradingWithBody

func (c *Client) RegisterCopyTradingWithBody(ctx context.Context, params *RegisterCopyTradingParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

RegisterCopyTradingWithBody Start copying an investor, or adjust an existing copy

**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.

---

Registers a copy relationship with the given investor for the authenticated account. If the copy already exists, funds will be added to or removed from it; if it does not exist, a new copy will be created and funds transferred into it. Every change of funds causes a realignment process that adjusts all the positions inside the sub-portfolio to match the parent portfolio proportions. Investor account ids (parentCID) are the ids surfaced by the platform's public endpoints (for example, the Rankings endpoints). The operation is asynchronous: the response token acknowledges acceptance, and the outcome can be checked via GET /api/v2/trading/copy/{referenceId} using the referenceID supplied here.

Takes any type of body and a specified content type.

Corresponds with POST /api/v2/trading/copy (the `RegisterCopyTrading` operationId).

func (*Client) RotateApplicationsClientSecretByClientId

func (c *Client) RotateApplicationsClientSecretByClientId(ctx context.Context, clientId openapi_types.UUID, params *RotateApplicationsClientSecretByClientIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

RotateApplicationsClientSecretByClientId Replace OAuth client secret

**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.

---

Replaces the application's `clientSecret` and returns the new one. Only the application's admin (the caller's GCID must be in `adminGcids`) can rotate. Non-admins receive `404 Not Found` (opaque authorization). **The current secret is not required** - ownership is proven by the access token and the application's `adminGcids`, not by presenting the old secret, which may have been leaked; a leaked secret is the usual reason to rotate. **The previous secret stops working immediately** - there is no overlap window, so anything still using it fails as soon as this call returns. The new secret is returned **only in this response** (one-time reveal) and can never be read again, only replaced. Nothing else about the application changes. An application created moments earlier may briefly answer `404` while it propagates; retry.

Corresponds with POST /api/v1/sso/applications/{clientId}/client-secret (the `RotateApplicationsClientSecretByClientId` operationId).

func (*Client) SearchPortfolios

func (c *Client) SearchPortfolios(ctx context.Context, params *SearchPortfoliosParams, reqEditors ...RequestEditorFn) (*http.Response, error)

SearchPortfolios Search for trader portfolios or Smart Portfolios by free-text query

**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.

---

Returns a relevance-ranked list of publicly visible trader portfolios or Smart Portfolios matching the query string. The required `type` parameter determines which index is searched. Results are capped at `limit`.

Corresponds with GET /api/v1/portfolios/search (the `SearchPortfolios` operationId).

func (*Client) UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2

func (c *Client) UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2(ctx context.Context, agentPortfolioId openapi_types.UUID, userTokenId openapi_types.UUID, params *UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Params, body UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2JSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2 Update User Token (v2)

**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.

---

Updates the settings of an existing user token using scope names. At least one field must be provided. Scopes are specified by name (scopeNames); scope ids are not supported in v2.

Takes a body of the `application/json` content type.

Corresponds with PATCH /api/v2/agent-portfolios/{agentPortfolioId}/user-tokens/{userTokenId} (the `UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2` operationId).

func (*Client) UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2WithBody

func (c *Client) UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2WithBody(ctx context.Context, agentPortfolioId openapi_types.UUID, userTokenId openapi_types.UUID, params *UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2WithBody Update User Token (v2)

**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.

---

Updates the settings of an existing user token using scope names. At least one field must be provided. Scopes are specified by name (scopeNames); scope ids are not supported in v2.

Takes any type of body and a specified content type.

Corresponds with PATCH /api/v2/agent-portfolios/{agentPortfolioId}/user-tokens/{userTokenId} (the `UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2` operationId).

func (*Client) UpdateApplicationsByClientId

func (c *Client) UpdateApplicationsByClientId(ctx context.Context, clientId openapi_types.UUID, params *UpdateApplicationsByClientIdParams, body UpdateApplicationsByClientIdJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

UpdateApplicationsByClientId Update OAuth application

**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.

---

Updates one or more modifiable fields of an existing OAuth application. Only the application's admin (the caller's GCID must be in `adminGcids`) can perform updates. Non-admins receive `404 Not Found` (opaque authorization - the gateway does not disclose whether the application exists). At least one field must be provided in the body; omitted fields are left unchanged. Uniqueness and length constraints match the create endpoint.

Takes a body of the `application/json` content type.

Corresponds with PUT /api/v1/sso/applications/{clientId} (the `UpdateApplicationsByClientId` operationId).

func (*Client) UpdateApplicationsByClientIdWithBody

func (c *Client) UpdateApplicationsByClientIdWithBody(ctx context.Context, clientId openapi_types.UUID, params *UpdateApplicationsByClientIdParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

UpdateApplicationsByClientIdWithBody Update OAuth application

**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.

---

Updates one or more modifiable fields of an existing OAuth application. Only the application's admin (the caller's GCID must be in `adminGcids`) can perform updates. Non-admins receive `404 Not Found` (opaque authorization - the gateway does not disclose whether the application exists). At least one field must be provided in the body; omitted fields are left unchanged. Uniqueness and length constraints match the create endpoint.

Takes any type of body and a specified content type.

Corresponds with PUT /api/v1/sso/applications/{clientId} (the `UpdateApplicationsByClientId` operationId).

func (*Client) UpdateDemoPosition

func (c *Client) UpdateDemoPosition(ctx context.Context, positionId int64, params *UpdateDemoPositionParams, body UpdateDemoPositionJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

UpdateDemoPosition Modify stop-loss and take-profit settings on an open position

**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.

---

Submits an asynchronous request to update stop-loss and/or take-profit on an open position. You can set a new stopLossRate, takeProfitRate, stopLossType, or clear either value (clearStopLoss, clearTakeProfit). At least one SL/TP-related field is required. The response returns acceptance and correlation metadata only.

Takes a body of the `application/json` content type.

Corresponds with PATCH /api/v2/trading/demo/positions/{positionId} (the `UpdateDemoPosition` operationId).

func (*Client) UpdateDemoPositionWithBody

func (c *Client) UpdateDemoPositionWithBody(ctx context.Context, positionId int64, params *UpdateDemoPositionParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

UpdateDemoPositionWithBody Modify stop-loss and take-profit settings on an open position

**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.

---

Submits an asynchronous request to update stop-loss and/or take-profit on an open position. You can set a new stopLossRate, takeProfitRate, stopLossType, or clear either value (clearStopLoss, clearTakeProfit). At least one SL/TP-related field is required. The response returns acceptance and correlation metadata only.

Takes any type of body and a specified content type.

Corresponds with PATCH /api/v2/trading/demo/positions/{positionId} (the `UpdateDemoPosition` operationId).

func (*Client) UpdateRealPosition

func (c *Client) UpdateRealPosition(ctx context.Context, positionId int64, params *UpdateRealPositionParams, body UpdateRealPositionJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

UpdateRealPosition Modify stop-loss and take-profit settings on an open position

**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.

---

Submits an asynchronous request to update stop-loss and/or take-profit on an open position. You can set a new stopLossRate, takeProfitRate, stopLossType, or clear either value (clearStopLoss, clearTakeProfit). At least one SL/TP-related field is required. The response returns acceptance and correlation metadata only.

Takes a body of the `application/json` content type.

Corresponds with PATCH /api/v2/trading/positions/{positionId} (the `UpdateRealPosition` operationId).

func (*Client) UpdateRealPositionWithBody

func (c *Client) UpdateRealPositionWithBody(ctx context.Context, positionId int64, params *UpdateRealPositionParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

UpdateRealPositionWithBody Modify stop-loss and take-profit settings on an open position

**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.

---

Submits an asynchronous request to update stop-loss and/or take-profit on an open position. You can set a new stopLossRate, takeProfitRate, stopLossType, or clear either value (clearStopLoss, clearTakeProfit). At least one SL/TP-related field is required. The response returns acceptance and correlation metadata only.

Takes any type of body and a specified content type.

Corresponds with PATCH /api/v2/trading/positions/{positionId} (the `UpdateRealPosition` operationId).

func (*Client) UpdateSubAccountUserToken

func (c *Client) UpdateSubAccountUserToken(ctx context.Context, userTokenId openapi_types.UUID, params *UpdateSubAccountUserTokenParams, body UpdateSubAccountUserTokenJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

UpdateSubAccountUserToken Update Sub-Account 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.

---

Updates an existing sub-account user token's scopes, IP whitelist, or expiration. At least one field must be provided.

Takes a body of the `application/json` content type.

Corresponds with PATCH /api/v1/sub-accounts/etoro-trading/user-tokens/{userTokenId} (the `UpdateSubAccountUserToken` operationId).

func (*Client) UpdateSubAccountUserTokenWithBody

func (c *Client) UpdateSubAccountUserTokenWithBody(ctx context.Context, userTokenId openapi_types.UUID, params *UpdateSubAccountUserTokenParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

UpdateSubAccountUserTokenWithBody Update Sub-Account 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.

---

Updates an existing sub-account user token's scopes, IP whitelist, or expiration. At least one field must be provided.

Takes any type of body and a specified content type.

Corresponds with PATCH /api/v1/sub-accounts/etoro-trading/user-tokens/{userTokenId} (the `UpdateSubAccountUserToken` operationId).

type ClientInterface

type ClientInterface interface {

	// GetAgentPortfolios Get Agent Portfolios
	//
	// **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.
	//
	// ---
	//
	// Retrieves all agent-portfolios belonging to the authenticated user.
	//
	// Corresponds with GET /api/v1/agent-portfolios (the `GetAgentPortfolios` operationId).
	GetAgentPortfolios(ctx context.Context, params *GetAgentPortfoliosParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// DeleteAgentPortfoliosByAgentPortfolioId Delete Agent Portfolio
	//
	// **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.
	//
	// ---
	//
	// Permanently removes a agent-portfolio by revoking all user tokens, stopping the copy mirror, and deleting from storage.
	//
	// Corresponds with DELETE /api/v1/agent-portfolios/{agentPortfolioId} (the `DeleteAgentPortfoliosByAgentPortfolioId` operationId).
	DeleteAgentPortfoliosByAgentPortfolioId(ctx context.Context, agentPortfolioId openapi_types.UUID, params *DeleteAgentPortfoliosByAgentPortfolioIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenId Delete 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.
	//
	// ---
	//
	// Permanently revokes the specified user token from a agent-portfolio.
	//
	// Corresponds with DELETE /api/v1/agent-portfolios/{agentPortfolioId}/user-tokens/{userTokenId} (the `DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenId` operationId).
	DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenId(ctx context.Context, agentPortfolioId openapi_types.UUID, userTokenId openapi_types.UUID, params *DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetBalances Get aggregated balances
	//
	// **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.
	//
	// ---
	//
	// Returns aggregated balances across all account types for the authenticated user. Optionally filter by account type or specify the display currency for totals.
	//
	// Important: totalBalance and displayBalance are portfolio value, not spendable cash. For Trading, Options, MoneyFarm, Spaceship and Plaee they represent total account value including invested positions; for Crypto, the fiat value of holdings. Only for Cash accounts do they equal available cash. Do not use them to decide whether a trade or withdrawal is affordable — request expand=equityDetails and read equityDetails.available (Trading, Options, MoneyFarm, Cash, Plaee) or equityDetails.spendableBalanceInFiat (Crypto). Spaceship accounts expose no spendable figure. Note that equityDetails amounts are denominated in each account's own native currency, not in displayCurrency, so they must be converted before being compared with displayBalance or totalBalance.
	//
	// Corresponds with GET /api/v1/balances (the `GetBalances` operationId).
	GetBalances(ctx context.Context, params *GetBalancesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetHistoricalBalances Get historical balance snapshots
	//
	// **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.
	//
	// ---
	//
	// Returns end-of-day balance snapshots across all account types for the authenticated user. History is available for the last 12 months. The maximum date range per request is 365 days.
	//
	// Corresponds with GET /api/v1/balances/history (the `GetHistoricalBalances` operationId).
	GetHistoricalBalances(ctx context.Context, params *GetHistoricalBalancesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetBalancesByAccountType Get balances by account type
	//
	// **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.
	//
	// ---
	//
	// Returns balances for a specific account type for the authenticated user. Optionally filter by account IDs.
	//
	// Important: totalBalance and displayBalance are portfolio value, not spendable cash. For Trading, Options, MoneyFarm, Spaceship and Plaee they represent total account value including invested positions; for Crypto, the fiat value of holdings. Only for Cash accounts do they equal available cash. Do not use them to decide whether a trade or withdrawal is affordable — request expand=equityDetails and read equityDetails.available (Trading, Options, MoneyFarm, Cash, Plaee) or equityDetails.spendableBalanceInFiat (Crypto). Spaceship accounts expose no spendable figure. Note that equityDetails amounts are denominated in each account's own native currency, not in displayCurrency, so they must be converted before being compared with displayBalance or totalBalance.
	//
	// Corresponds with GET /api/v1/balances/{accountType} (the `GetBalancesByAccountType` operationId).
	GetBalancesByAccountType(ctx context.Context, accountType AccountTypePathParam, params *GetBalancesByAccountTypeParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetHistoricalBalancesByAccountType Get historical balances by account type
	//
	// **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.
	//
	// ---
	//
	// Returns end-of-day balance snapshots for a specific account type for the authenticated user. History is available for the last 12 months. The maximum date range per request is 365 days.
	//
	// Corresponds with GET /api/v1/balances/{accountType}/history (the `GetHistoricalBalancesByAccountType` operationId).
	GetHistoricalBalancesByAccountType(ctx context.Context, accountType AccountTypePathParam, params *GetHistoricalBalancesByAccountTypeParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetBalanceByAccount Get balance for a specific account
	//
	// **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.
	//
	// ---
	//
	// Returns the balance for a specific account identified by type and account ID for the authenticated user. Zero-balance accounts are always returned by this endpoint, so a 404 means the account does not exist rather than that its balance is zero.
	//
	// Important: totalBalance and displayBalance are portfolio value, not spendable cash. For Trading, Options, MoneyFarm, Spaceship and Plaee they represent total account value including invested positions; for Crypto, the fiat value of holdings. Only for Cash accounts do they equal available cash. Do not use them to decide whether a trade or withdrawal is affordable — request expand=equityDetails and read equityDetails.available (Trading, Options, MoneyFarm, Cash, Plaee) or equityDetails.spendableBalanceInFiat (Crypto). Spaceship accounts expose no spendable figure. Note that equityDetails amounts are denominated in each account's own native currency, not in displayCurrency, so they must be converted before being compared with displayBalance or totalBalance.
	//
	// Corresponds with GET /api/v1/balances/{accountType}/{accountId} (the `GetBalanceByAccount` operationId).
	GetBalanceByAccount(ctx context.Context, accountType AccountTypePathParam, accountId string, params *GetBalanceByAccountParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetHistoricalBalanceByAccount Get account balance history
	//
	// **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.
	//
	// ---
	//
	// Returns end-of-day balance snapshots for a specific account identified by type and account ID for the authenticated user. History is available for the last 12 months. The maximum date range per request is 365 days.
	//
	// Corresponds with GET /api/v1/balances/{accountType}/{accountId}/history (the `GetHistoricalBalanceByAccount` operationId).
	GetHistoricalBalanceByAccount(ctx context.Context, accountType AccountTypePathParam, accountId string, params *GetHistoricalBalanceByAccountParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetClubs Get club dashboard data
	//
	// **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.
	//
	// ---
	//
	// Retrieves club dashboard data for the authenticated user, including tier information, benefits, account manager details, offers, downgrade risk, and webinars.
	//
	// Corresponds with GET /api/v1/clubs (the `GetClubs` operationId).
	GetClubs(ctx context.Context, params *GetClubsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetCuratedLists Get curated lists
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Retrieves curated investment lists available to the authenticated user.
	//
	// Corresponds with GET /api/v1/curated-lists (the `GetCuratedLists` operationId).
	GetCuratedLists(ctx context.Context, params *GetCuratedListsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetPriceCandles Get price candles for an instrument
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/data/instruments/{instrumentId}/candles/coverage`
	//
	// ---
	//
	// Full-history OHLC candles for one instrument and interval, from a public view built and kept current by a DataPlatform job. Not user-scoped: identical for every caller for the same instrument and parameters. A range without `from` returns the most recent slice; a slice covers at most 10,080 periods of the interval (7 days of 1m, up to all history for 1d/1w), and a longer range is paged with the keyset `cursor` in `pagination.nextCursor`. An instrument with no data for the interval, or one etoro shows internally only, returns 200 with an empty `results` array, not 404. Call the coverage endpoint first to find a range that has data.
	//
	// Corresponds with GET /api/v1/data/instruments/{instrumentId}/candles (the `GetPriceCandles` operationId).
	GetPriceCandles(ctx context.Context, instrumentId int32, params *GetPriceCandlesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetPriceCandleCoverage Get where price candles exist for an instrument
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/data/instruments/{instrumentId}/candles`
	//
	// ---
	//
	// Returns, per interval, the oldest and newest candle, how many exist, and when the daily load last refreshed them. Call it before requesting candles to pick an interval and a range that has data: history can span more than 15 years, and ranges outside it return empty pages. Not user-scoped. An instrument with no data, or one etoro shows internally only, returns an empty `intervals` list, not a 404.
	//
	// Corresponds with GET /api/v1/data/instruments/{instrumentId}/candles/coverage (the `GetPriceCandleCoverage` operationId).
	GetPriceCandleCoverage(ctx context.Context, instrumentId int32, params *GetPriceCandleCoverageParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetClosedPositionEventsHistory Get the caller's closed position event history counts
	//
	// **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.
	//
	// ---
	//
	// Returns the calling customer's historical count of closed position events, broken down by close year and asset type, one entry per (closeYear, assetType) combination sorted ascending by year then asset type. This is user-scoped: the caller is identified by their own gateway-issued GCID, not a path or query parameter, so it always answers for 'me'. Results are returned under `results` with a `pagination` block; a customer with no closed-position history returns 200 with an empty `results` array, not 404 - there is no distinguishable 'not found' state for this endpoint.
	//
	// Corresponds with GET /api/v1/data/positions/closed-events/history (the `GetClosedPositionEventsHistory` operationId).
	GetClosedPositionEventsHistory(ctx context.Context, params *GetClosedPositionEventsHistoryParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetStockbackPromoStatus Get the caller's StockBack/Cashback promo status
	//
	// **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.
	//
	// ---
	//
	// Returns the calling customer's current StockBack/Cashback promo enrollment and lifetime USD reward figures - opted-in status, selected stock, professional-investor status, reward channel, club tier, country, this month's expected reward, and lifetime StockBack/Cashback/total USD earned. This is user-scoped: the caller is identified by their own gateway-issued GCID, not a path or query parameter, so it always answers for 'me'. A customer who is not (or not yet) enrolled in the promo still returns 200, with every value field null, rather than 404 - a 404 means no row exists for this GCID at all, which is a data-completeness gap, not simply 'not enrolled'.
	//
	// Corresponds with GET /api/v1/data/stockback/promo-status (the `GetStockbackPromoStatus` operationId).
	GetStockbackPromoStatus(ctx context.Context, params *GetStockbackPromoStatusParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetImpressionsTopassetsUserByGcid Get top assets for a user
	//
	// **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.
	//
	// ---
	//
	// Retrieves a ranked list of top asset scores associated with a specific user, based on impressions data.
	//
	// Corresponds with GET /api/v1/impressions/topassets/user/{gcid} (the `GetImpressionsTopassetsUserByGcid` operationId).
	GetImpressionsTopassetsUserByGcid(ctx context.Context, gcid int32, params *GetImpressionsTopassetsUserByGcidParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetKeydataByApplication Get application key data
	//
	// **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.
	//
	// ---
	//
	// Returns the key/value data configured for the given application.
	//
	// Corresponds with GET /api/v1/keydata/{application} (the `GetKeydataByApplication` operationId).
	GetKeydataByApplication(ctx context.Context, application string, params *GetKeydataByApplicationParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetMarketDataExchanges List supported exchanges
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// Corresponds with GET /api/v1/market-data/exchanges (the `GetMarketDataExchanges` operationId).
	GetMarketDataExchanges(ctx context.Context, params *GetMarketDataExchangesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetMarketDataInstrumentTypes List instrument types
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// Corresponds with GET /api/v1/market-data/instrument-types (the `GetMarketDataInstrumentTypes` operationId).
	GetMarketDataInstrumentTypes(ctx context.Context, params *GetMarketDataInstrumentTypesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetMarketDataInstruments Get instrument display data
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// Corresponds with GET /api/v1/market-data/instruments (the `GetMarketDataInstruments` operationId).
	GetMarketDataInstruments(ctx context.Context, params *GetMarketDataInstrumentsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetMarketDataInstrumentsHistoryClosingPrice Get historical closing prices
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// Corresponds with GET /api/v1/market-data/instruments/history/closing-price (the `GetMarketDataInstrumentsHistoryClosingPrice` operationId).
	GetMarketDataInstrumentsHistoryClosingPrice(ctx context.Context, params *GetMarketDataInstrumentsHistoryClosingPriceParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetMarketDataInstrumentsRates Get instrument market rates
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// ---
	//
	// Provides real-time market data including bid/ask prices, conversion rates, and execution prices for specified financial instruments. Essential for price discovery and trade execution decisions.
	//
	// Corresponds with GET /api/v1/market-data/instruments/rates (the `GetMarketDataInstrumentsRates` operationId).
	GetMarketDataInstrumentsRates(ctx context.Context, params *GetMarketDataInstrumentsRatesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCount Get instrument candle history
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// ---
	//
	// Retrieves historical price data in OHLCV (Open, High, Low, Close, Volume) format for a specified instrument. The data is organized into time-based candles of various intervals, from one minute to one week.
	//
	// Corresponds with GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount} (the `GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCount` operationId).
	GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCount(ctx context.Context, instrumentId int, direction GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsDirection, interval GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsInterval, candlesCount int, params *GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetMarketDataSearch Search for Instruments
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// ---
	//
	// Retrieve a paginated list of instruments. Any field in the Instrument response schema can be projected via the required `fields` parameter and/or used as a query-string filter (e.g. `fields=instrumentId,displayname&displayname=Bitcoin`). Use `pageSize`/`pageNumber` to paginate and `sort` to order. Filters that do not match an indexed instrument field are ignored.
	//
	// Corresponds with GET /api/v1/market-data/search (the `GetMarketDataSearch` operationId).
	GetMarketDataSearch(ctx context.Context, params *GetMarketDataSearchParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetMarketDataStocksIndustries Get stocks industries
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// Corresponds with GET /api/v1/market-data/stocks-industries (the `GetMarketDataStocksIndustries` operationId).
	GetMarketDataStocksIndustries(ctx context.Context, params *GetMarketDataStocksIndustriesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetMarketRecommendationsByItemsCount Get market recommendations
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Retrieves personalized market recommendations for the authenticated user.
	//
	// Corresponds with GET /api/v1/market-recommendations/{itemsCount} (the `GetMarketRecommendationsByItemsCount` operationId).
	GetMarketRecommendationsByItemsCount(ctx context.Context, itemsCount int16, params *GetMarketRecommendationsByItemsCountParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetMe Get authenticated user profile
	//
	// **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.
	//
	// ---
	//
	// Returns the profile of the currently authenticated user, including account identifiers (GCID, real and demo CIDs), profile fields from Scope Data API (username, name, player level, gender, language, date of birth, avatar URL), and the OAuth scopes granted to the current access token.
	//
	// Corresponds with GET /api/v1/me (the `GetMe` operationId).
	GetMe(ctx context.Context, params *GetMeParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// ListCashAccountTransactions List cash account transactions (paginated)
	//
	// **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.
	//
	// ---
	//
	// Returns a cursor-paginated list of transactions for the given cash account. Use pageSize and pageToken for pagination; nextPageToken is null when there is no next page.
	//
	// Corresponds with GET /api/v1/money/accounts/cash/{accountId}/transactions (the `ListCashAccountTransactions` operationId).
	ListCashAccountTransactions(ctx context.Context, accountId openapi_types.UUID, params *ListCashAccountTransactionsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetTransferEligibility Transfer eligibility (source and destination accounts)
	//
	// **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.
	//
	// ---
	//
	// Returns the full eligibility graph for the authenticated customer: for each source account, the destination accounts allowed for transfers.
	//
	// Corresponds with GET /api/v1/money/transfer-eligibility (the `GetTransferEligibility` operationId).
	GetTransferEligibility(ctx context.Context, params *GetTransferEligibilityParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetTransferFeeConfiguration List transfer fees
	//
	// **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.
	//
	// ---
	//
	// Returns transfer fee configuration for the authenticated customer as a list of rows, one per source/destination account type route.
	//
	// Corresponds with GET /api/v1/money/transfer-fee-configurations (the `GetTransferFeeConfiguration` operationId).
	GetTransferFeeConfiguration(ctx context.Context, params *GetTransferFeeConfigurationParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetTransferLimits List transfer limits
	//
	// **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.
	//
	// ---
	//
	// Returns transfer amount limits for each allowed combination of source and destination account types.
	//
	// Corresponds with GET /api/v1/money/transfer-limits (the `GetTransferLimits` operationId).
	GetTransferLimits(ctx context.Context, params *GetTransferLimitsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetTransferableBalance Get max transferable amount
	//
	// **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.
	//
	// ---
	//
	// Returns the maximum amount the customer may transfer from the specified source account to the specified destination account.
	//
	// Corresponds with GET /api/v1/money/transferable-balance (the `GetTransferableBalance` operationId).
	GetTransferableBalance(ctx context.Context, params *GetTransferableBalanceParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PostMoneyTransferWithBody Execute an internal account-to-account transfer
	//
	// **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.
	//
	// ---
	//
	// Executes an internal transfer from the source account to the destination account for the authenticated customer.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v1/money/transfers (the `PostMoneyTransfer` operationId).
	PostMoneyTransferWithBody(ctx context.Context, params *PostMoneyTransferParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PostMoneyTransfer Execute an internal account-to-account transfer
	//
	// **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.
	//
	// ---
	//
	// Executes an internal transfer from the source account to the destination account for the authenticated customer.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v1/money/transfers (the `PostMoneyTransfer` operationId).
	PostMoneyTransfer(ctx context.Context, params *PostMoneyTransferParams, body PostMoneyTransferJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetTransferById Get transfer by ID
	//
	// **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.
	//
	// ---
	//
	// Returns the TransferLookupResult wrapper containing exactly one TransferLookupResponse matching the server transferId. Returns 404 when the transfer does not exist or is not visible to the authenticated customer.
	//
	// Corresponds with GET /api/v1/money/transfers/{transferId} (the `GetTransferById` operationId).
	GetTransferById(ctx context.Context, transferId int64, params *GetTransferByIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// LookupTransfersByRequestReferenceId List transfers by reference ID
	//
	// **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.
	//
	// ---
	//
	// Returns a list of transfers for the authenticated customer, keyed by the client requestReferenceId query parameter.
	//
	// Corresponds with GET /api/v1/money/transfers:lookup (the `LookupTransfersByRequestReferenceId` operationId).
	LookupTransfersByRequestReferenceId(ctx context.Context, params *LookupTransfersByRequestReferenceIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetNotificationsMessages Get in-app notifications
	//
	// **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.
	//
	// ---
	//
	// Retrieves all in-app notifications for the authenticated user. Rate limit: 1 request per second.
	//
	// Corresponds with GET /api/v1/notifications/messages (the `GetNotificationsMessages` operationId).
	GetNotificationsMessages(ctx context.Context, params *GetNotificationsMessagesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PatchNotificationsMessages Mark all notifications as read
	//
	// **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.
	//
	// ---
	//
	// Marks all notifications as read for the authenticated user. Rate limit: 20 requests per minute.
	//
	// Corresponds with PATCH /api/v1/notifications/messages (the `PatchNotificationsMessages` operationId).
	PatchNotificationsMessages(ctx context.Context, params *PatchNotificationsMessagesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetPiDataCopiers Get copiers public info
	//
	// **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.
	//
	// Corresponds with GET /api/v1/pi-data/copiers (the `GetPiDataCopiers` operationId).
	GetPiDataCopiers(ctx context.Context, params *GetPiDataCopiersParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// SearchPortfolios Search for trader portfolios or Smart Portfolios by free-text query
	//
	// **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.
	//
	// ---
	//
	// Returns a relevance-ranked list of publicly visible trader portfolios or Smart Portfolios matching the query string. The required `type` parameter determines which index is searched. Results are capped at `limit`.
	//
	// Corresponds with GET /api/v1/portfolios/search (the `SearchPortfolios` operationId).
	SearchPortfolios(ctx context.Context, params *SearchPortfoliosParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetPriceAlerts Get price alerts
	//
	// **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.
	//
	// ---
	//
	// Returns all active price alerts for the authenticated user. Supports optional filtering by alertIds, instrumentIds, or symbols. The instrumentIds and symbols filters refer to the same dimension and are OR-combined with each other. The resulting instrument filter is AND-combined with alertIds. When no filters are provided, returns all active alerts.
	//
	// Corresponds with GET /api/v1/price-alerts (the `GetPriceAlerts` operationId).
	GetPriceAlerts(ctx context.Context, params *GetPriceAlertsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PostPriceAlertsWithBody Create a price alert
	//
	// **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.
	//
	// ---
	//
	// Creates a new price alert for the authenticated user. The alert will fire when the market bid price reaches the target price. Provide a symbol to identify the instrument.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v1/price-alerts (the `PostPriceAlerts` operationId).
	PostPriceAlertsWithBody(ctx context.Context, params *PostPriceAlertsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PostPriceAlerts Create a price alert
	//
	// **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.
	//
	// ---
	//
	// Creates a new price alert for the authenticated user. The alert will fire when the market bid price reaches the target price. Provide a symbol to identify the instrument.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v1/price-alerts (the `PostPriceAlerts` operationId).
	PostPriceAlerts(ctx context.Context, params *PostPriceAlertsParams, body PostPriceAlertsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// DeletePriceAlertsByAlertId Delete a price alert
	//
	// **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.
	//
	// ---
	//
	// Permanently deletes a price alert owned by the authenticated user.
	//
	// Corresponds with DELETE /api/v1/price-alerts/{alertId} (the `DeletePriceAlertsByAlertId` operationId).
	DeletePriceAlertsByAlertId(ctx context.Context, alertId openapi_types.UUID, params *DeletePriceAlertsByAlertIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PatchPriceAlertsByAlertIdWithBody Update a price alert
	//
	// **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.
	//
	// ---
	//
	// Updates the target price of an existing price alert.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with PATCH /api/v1/price-alerts/{alertId} (the `PatchPriceAlertsByAlertId` operationId).
	PatchPriceAlertsByAlertIdWithBody(ctx context.Context, alertId openapi_types.UUID, params *PatchPriceAlertsByAlertIdParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PatchPriceAlertsByAlertId Update a price alert
	//
	// **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.
	//
	// ---
	//
	// Updates the target price of an existing price alert.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with PATCH /api/v1/price-alerts/{alertId} (the `PatchPriceAlertsByAlertId` operationId).
	PatchPriceAlertsByAlertId(ctx context.Context, alertId openapi_types.UUID, params *PatchPriceAlertsByAlertIdParams, body PatchPriceAlertsByAlertIdJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetApplications List my OAuth applications
	//
	// **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.
	//
	// ---
	//
	// Returns every OAuth application where the authenticated user (matched by GCID) is listed as an administrator. The `clientSecret` is never included in this response - it is revealed only when the application is created, or when it is replaced via `POST /api/v1/sso/applications/{clientId}/client-secret`.
	//
	// Corresponds with GET /api/v1/sso/applications (the `GetApplications` operationId).
	GetApplications(ctx context.Context, params *GetApplicationsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateApplicationsWithBody Register OAuth application
	//
	// **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.
	//
	// ---
	//
	// Creates a new OAuth application. The authenticated user automatically becomes the application admin. Both `clientId` and `clientSecret` are auto-generated server-side. The `clientSecret` is returned **only in this response** (one-time reveal) - subsequent reads will never expose it again, so callers must store it securely. Auto-populated defaults (audience, applicationType, supported flows, token expirations) come from service configuration. Validation: `applicationName` max 100 chars, `applicationIconUrl` max 500 chars, each `redirectUri` max 500 chars and unique, each `scopeId` positive and recognized in the scope catalog.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v1/sso/applications (the `CreateApplications` operationId).
	CreateApplicationsWithBody(ctx context.Context, params *CreateApplicationsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateApplications Register OAuth application
	//
	// **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.
	//
	// ---
	//
	// Creates a new OAuth application. The authenticated user automatically becomes the application admin. Both `clientId` and `clientSecret` are auto-generated server-side. The `clientSecret` is returned **only in this response** (one-time reveal) - subsequent reads will never expose it again, so callers must store it securely. Auto-populated defaults (audience, applicationType, supported flows, token expirations) come from service configuration. Validation: `applicationName` max 100 chars, `applicationIconUrl` max 500 chars, each `redirectUri` max 500 chars and unique, each `scopeId` positive and recognized in the scope catalog.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v1/sso/applications (the `CreateApplications` operationId).
	CreateApplications(ctx context.Context, params *CreateApplicationsParams, body CreateApplicationsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// DeleteApplicationsByClientId Delete OAuth application
	//
	// **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.
	//
	// ---
	//
	// Permanently deletes an OAuth application. Only the application's admin can delete it. Non-admins receive `404 Not Found` (opaque authorization). The application stops appearing in `GET /api/v1/sso/applications` within a few seconds.
	//
	// Corresponds with DELETE /api/v1/sso/applications/{clientId} (the `DeleteApplicationsByClientId` operationId).
	DeleteApplicationsByClientId(ctx context.Context, clientId openapi_types.UUID, params *DeleteApplicationsByClientIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// UpdateApplicationsByClientIdWithBody Update OAuth application
	//
	// **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.
	//
	// ---
	//
	// Updates one or more modifiable fields of an existing OAuth application. Only the application's admin (the caller's GCID must be in `adminGcids`) can perform updates. Non-admins receive `404 Not Found` (opaque authorization - the gateway does not disclose whether the application exists). At least one field must be provided in the body; omitted fields are left unchanged. Uniqueness and length constraints match the create endpoint.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with PUT /api/v1/sso/applications/{clientId} (the `UpdateApplicationsByClientId` operationId).
	UpdateApplicationsByClientIdWithBody(ctx context.Context, clientId openapi_types.UUID, params *UpdateApplicationsByClientIdParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// UpdateApplicationsByClientId Update OAuth application
	//
	// **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.
	//
	// ---
	//
	// Updates one or more modifiable fields of an existing OAuth application. Only the application's admin (the caller's GCID must be in `adminGcids`) can perform updates. Non-admins receive `404 Not Found` (opaque authorization - the gateway does not disclose whether the application exists). At least one field must be provided in the body; omitted fields are left unchanged. Uniqueness and length constraints match the create endpoint.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with PUT /api/v1/sso/applications/{clientId} (the `UpdateApplicationsByClientId` operationId).
	UpdateApplicationsByClientId(ctx context.Context, clientId openapi_types.UUID, params *UpdateApplicationsByClientIdParams, body UpdateApplicationsByClientIdJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// RotateApplicationsClientSecretByClientId Replace OAuth client secret
	//
	// **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.
	//
	// ---
	//
	// Replaces the application's `clientSecret` and returns the new one. Only the application's admin (the caller's GCID must be in `adminGcids`) can rotate. Non-admins receive `404 Not Found` (opaque authorization). **The current secret is not required** - ownership is proven by the access token and the application's `adminGcids`, not by presenting the old secret, which may have been leaked; a leaked secret is the usual reason to rotate. **The previous secret stops working immediately** - there is no overlap window, so anything still using it fails as soon as this call returns. The new secret is returned **only in this response** (one-time reveal) and can never be read again, only replaced. Nothing else about the application changes. An application created moments earlier may briefly answer `404` while it propagates; retry.
	//
	// Corresponds with POST /api/v1/sso/applications/{clientId}/client-secret (the `RotateApplicationsClientSecretByClientId` operationId).
	RotateApplicationsClientSecretByClientId(ctx context.Context, clientId openapi_types.UUID, params *RotateApplicationsClientSecretByClientIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetScopes List available OAuth scopes
	//
	// **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.
	//
	// ---
	//
	// Returns the public catalog of OAuth scopes that can be requested when creating or updating an application. Use this endpoint to render scope pickers and to validate scope ids client-side before calling create/update.
	//
	// Corresponds with GET /api/v1/sso/scopes (the `GetScopes` operationId).
	GetScopes(ctx context.Context, params *GetScopesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateSubAccountMoneyTransferWithBody Create Sub-Account Money Transfer
	//
	// **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.
	//
	// ---
	//
	// Executes a money transfer between the authenticated caller and the sub-account identified by the x-sub-account-id header. The amount must be positive with up to two decimal places. Direction ToSubAccount moves funds from the caller to the sub-account; FromSubAccount moves funds from the sub-account back to the caller.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v1/sub-accounts/etoro-trading/money-transfers (the `CreateSubAccountMoneyTransfer` operationId).
	CreateSubAccountMoneyTransferWithBody(ctx context.Context, params *CreateSubAccountMoneyTransferParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateSubAccountMoneyTransfer Create Sub-Account Money Transfer
	//
	// **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.
	//
	// ---
	//
	// Executes a money transfer between the authenticated caller and the sub-account identified by the x-sub-account-id header. The amount must be positive with up to two decimal places. Direction ToSubAccount moves funds from the caller to the sub-account; FromSubAccount moves funds from the sub-account back to the caller.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v1/sub-accounts/etoro-trading/money-transfers (the `CreateSubAccountMoneyTransfer` operationId).
	CreateSubAccountMoneyTransfer(ctx context.Context, params *CreateSubAccountMoneyTransferParams, body CreateSubAccountMoneyTransferJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetSubAccountUserTokens List Sub-Account User Tokens
	//
	// **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.
	//
	// ---
	//
	// Lists all sub-account non-interactive user tokens owned by the authenticated user, across all their etoro trading sub-accounts. The secret token value is never included in list results.
	//
	// Corresponds with GET /api/v1/sub-accounts/etoro-trading/user-tokens (the `GetSubAccountUserTokens` operationId).
	GetSubAccountUserTokens(ctx context.Context, params *GetSubAccountUserTokensParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateSubAccountUserTokenWithBody Create Sub-Account 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.
	//
	// ---
	//
	// Generates a non-interactive user token for the sub-account identified by the x-sub-account-id header. The secret token value is returned only once, in this response.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v1/sub-accounts/etoro-trading/user-tokens (the `CreateSubAccountUserToken` operationId).
	CreateSubAccountUserTokenWithBody(ctx context.Context, params *CreateSubAccountUserTokenParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateSubAccountUserToken Create Sub-Account 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.
	//
	// ---
	//
	// Generates a non-interactive user token for the sub-account identified by the x-sub-account-id header. The secret token value is returned only once, in this response.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v1/sub-accounts/etoro-trading/user-tokens (the `CreateSubAccountUserToken` operationId).
	CreateSubAccountUserToken(ctx context.Context, params *CreateSubAccountUserTokenParams, body CreateSubAccountUserTokenJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetSubAccountUserTokenScopes Get Allowed Sub-Account Token Scopes
	//
	// **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.
	//
	// ---
	//
	// Returns the scope names that may be assigned to sub-account non-interactive user tokens (the etoro-trading-subaccount application's scopes).
	//
	// Corresponds with GET /api/v1/sub-accounts/etoro-trading/user-tokens/scopes (the `GetSubAccountUserTokenScopes` operationId).
	GetSubAccountUserTokenScopes(ctx context.Context, params *GetSubAccountUserTokenScopesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// DeleteSubAccountUserToken Revoke Sub-Account 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.
	//
	// ---
	//
	// Revokes a sub-account user token. Revocation is idempotent, so revoking a token that does not exist also succeeds.
	//
	// Corresponds with DELETE /api/v1/sub-accounts/etoro-trading/user-tokens/{userTokenId} (the `DeleteSubAccountUserToken` operationId).
	DeleteSubAccountUserToken(ctx context.Context, userTokenId openapi_types.UUID, params *DeleteSubAccountUserTokenParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// UpdateSubAccountUserTokenWithBody Update Sub-Account 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.
	//
	// ---
	//
	// Updates an existing sub-account user token's scopes, IP whitelist, or expiration. At least one field must be provided.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with PATCH /api/v1/sub-accounts/etoro-trading/user-tokens/{userTokenId} (the `UpdateSubAccountUserToken` operationId).
	UpdateSubAccountUserTokenWithBody(ctx context.Context, userTokenId openapi_types.UUID, params *UpdateSubAccountUserTokenParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// UpdateSubAccountUserToken Update Sub-Account 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.
	//
	// ---
	//
	// Updates an existing sub-account user token's scopes, IP whitelist, or expiration. At least one field must be provided.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with PATCH /api/v1/sub-accounts/etoro-trading/user-tokens/{userTokenId} (the `UpdateSubAccountUserToken` operationId).
	UpdateSubAccountUserToken(ctx context.Context, userTokenId openapi_types.UUID, params *UpdateSubAccountUserTokenParams, body UpdateSubAccountUserTokenJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetMySubAccounts Get My Sub-Accounts
	//
	// **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.
	//
	// ---
	//
	// Returns the authenticated user's sub-accounts. Currently the supported provider is `etoro-trading` (etoro trading sub-accounts); additional sub-account providers will be added over time.
	//
	// Corresponds with GET /api/v1/sub-accounts/me/accounts (the `GetMySubAccounts` operationId).
	GetMySubAccounts(ctx context.Context, params *GetMySubAccountsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateMySubAccountWithBody Create My Sub-Account
	//
	// **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.
	//
	// ---
	//
	// Creates a sub-account for the authenticated user with the given provider. Currently the supported provider is `etoro-trading` (creates an etoro trading sub-account); additional sub-account providers will be added over time. For `etoro-trading`, `additionalParams.username` is required.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v1/sub-accounts/me/accounts (the `CreateMySubAccount` operationId).
	CreateMySubAccountWithBody(ctx context.Context, params *CreateMySubAccountParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateMySubAccount Create My Sub-Account
	//
	// **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.
	//
	// ---
	//
	// Creates a sub-account for the authenticated user with the given provider. Currently the supported provider is `etoro-trading` (creates an etoro trading sub-account); additional sub-account providers will be added over time. For `etoro-trading`, `additionalParams.username` is required.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v1/sub-accounts/me/accounts (the `CreateMySubAccount` operationId).
	CreateMySubAccount(ctx context.Context, params *CreateMySubAccountParams, body CreateMySubAccountJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdWithBody Close demo position by units
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/demo/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/demo/orders`
	// - `POST /api/v3/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint allows traders to close an entire position or a portion of it at the current market rate. If `UnitsToDeduct` is provided, only the specified portion will be closed. If `UnitsToDeduct` is omitted or set to null, the full position will be closed. A 200 response means the close order was submitted, not that the position was closed. Confirm the outcome with GET /api/v1/trading/info/demo/close-orders/{orderId}, using the orderID returned under orderForClose.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId} (the `CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId` operationId).
	CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdWithBody(ctx context.Context, positionId int64, params *CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId Close demo position by units
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/demo/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/demo/orders`
	// - `POST /api/v3/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint allows traders to close an entire position or a portion of it at the current market rate. If `UnitsToDeduct` is provided, only the specified portion will be closed. If `UnitsToDeduct` is omitted or set to null, the full position will be closed. A 200 response means the close order was submitted, not that the position was closed. Confirm the outcome with GET /api/v1/trading/info/demo/close-orders/{orderId}, using the orderID returned under orderForClose.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId} (the `CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId` operationId).
	CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId(ctx context.Context, positionId int64, params *CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdParams, body CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// DeleteTradingExecutionDemoMarketCloseOrdersByOrderId Cancel pending demo close order
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/demo/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/demo/orders`
	// - `POST /api/v3/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint allows traders to cancel a previously placed market order for close before execution. If the order has already been processed, cancellation will not be possible. A 200 response confirms the cancellation request was received, not that the order was cancelled. Confirm with GET /api/v1/trading/info/demo/close-orders/{orderId}, using the orderId of the close order you tried to cancel. If the DELETE response is lost (timeout or network error), do not resend the cancel - poll that GET endpoint with the same orderId. Units reported as executed in its positions[] array were closed before the cancel took effect; the remainder was not closed. No executed entries in positions[] means nothing was closed. Poll until statusID is terminal: 7 (CANCELED) = cancelled with nothing executed, 9 (CANCELED_PARTIALLY_FILLED) = cancelled after a partial fill (executed units in positions[]), 3 (FILLED) = fully executed before the cancel; 1, 2, 5, 6 and 11 are still pending.
	//
	// Corresponds with DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId} (the `DeleteTradingExecutionDemoMarketCloseOrdersByOrderId` operationId).
	DeleteTradingExecutionDemoMarketCloseOrdersByOrderId(ctx context.Context, orderId int64, params *DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdWithBody Close position by units
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/orders`
	// - `POST /api/v3/trading/execution/orders`
	//
	// ---
	//
	// This endpoint allows traders to close an entire position or a portion of it at the current market rate. If `UnitsToDeduct` is provided, only the specified portion will be closed. If `UnitsToDeduct` is omitted or set to null, the full position will be closed. A 200 response means the close order was submitted, not that the position was closed. Confirm the outcome with GET /api/v1/trading/info/real/close-orders/{orderId}, using the orderID returned under orderForClose.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v1/trading/execution/market-close-orders/positions/{positionId} (the `CreateTradingExecutionMarketCloseOrdersPositionsByPositionId` operationId).
	CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdWithBody(ctx context.Context, positionId int64, params *CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateTradingExecutionMarketCloseOrdersPositionsByPositionId Close position by units
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/orders`
	// - `POST /api/v3/trading/execution/orders`
	//
	// ---
	//
	// This endpoint allows traders to close an entire position or a portion of it at the current market rate. If `UnitsToDeduct` is provided, only the specified portion will be closed. If `UnitsToDeduct` is omitted or set to null, the full position will be closed. A 200 response means the close order was submitted, not that the position was closed. Confirm the outcome with GET /api/v1/trading/info/real/close-orders/{orderId}, using the orderID returned under orderForClose.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v1/trading/execution/market-close-orders/positions/{positionId} (the `CreateTradingExecutionMarketCloseOrdersPositionsByPositionId` operationId).
	CreateTradingExecutionMarketCloseOrdersPositionsByPositionId(ctx context.Context, positionId int64, params *CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdParams, body CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// DeleteTradingExecutionMarketCloseOrdersByOrderId Cancel pending close order
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/orders`
	// - `POST /api/v3/trading/execution/orders`
	//
	// ---
	//
	// This endpoint allows traders to cancel a previously placed market order for close before execution. If the order has already been processed, cancellation will not be possible. A 200 response confirms the cancellation request was received, not that the order was cancelled. Confirm with GET /api/v1/trading/info/real/close-orders/{orderId}, using the orderId of the close order you tried to cancel. If the DELETE response is lost (timeout or network error), do not resend the cancel - poll that GET endpoint with the same orderId. Units reported as executed in its positions[] array were closed before the cancel took effect; the remainder was not closed. No executed entries in positions[] means nothing was closed. Poll until statusID is terminal: 7 (CANCELED) = cancelled with nothing executed, 9 (CANCELED_PARTIALLY_FILLED) = cancelled after a partial fill (executed units in positions[]), 3 (FILLED) = fully executed before the cancel; 1, 2, 5, 6 and 11 are still pending.
	//
	// Corresponds with DELETE /api/v1/trading/execution/market-close-orders/{orderId} (the `DeleteTradingExecutionMarketCloseOrdersByOrderId` operationId).
	DeleteTradingExecutionMarketCloseOrdersByOrderId(ctx context.Context, orderId int64, params *DeleteTradingExecutionMarketCloseOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetAggregatedPortfolio Get aggregated portfolio snapshot
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `POST /api/v1/trading/info/aggregate-portfolio`
	//
	// ---
	//
	// Returns a complete snapshot of the authenticated user's investment portfolio, organized by asset. The response includes account-level balances and equity, individually held positions grouped by asset, and any copy-trading relationships the user has active. Use the instrumentIds filter to scope results to a specific set of assets, or mirrorIds to isolate specific copy-trading relationships. Account totals always reflect the full portfolio regardless of filters applied.
	//
	// Corresponds with GET /api/v1/trading/info/aggregate-portfolio (the `GetAggregatedPortfolio` operationId).
	GetAggregatedPortfolio(ctx context.Context, params *GetAggregatedPortfolioParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PostAggregatedPortfolioWithBody Get a filtered aggregated portfolio snapshot
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/aggregate-portfolio`
	//
	// ---
	//
	// Returns the portfolio using aggregation levels and structured per-mirror instrument filters from the request body. This filter does not affect the account totals, that are still calculated based on the full portfolio.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v1/trading/info/aggregate-portfolio (the `PostAggregatedPortfolio` operationId).
	PostAggregatedPortfolioWithBody(ctx context.Context, params *PostAggregatedPortfolioParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PostAggregatedPortfolio Get a filtered aggregated portfolio snapshot
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/aggregate-portfolio`
	//
	// ---
	//
	// Returns the portfolio using aggregation levels and structured per-mirror instrument filters from the request body. This filter does not affect the account totals, that are still calculated based on the full portfolio.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v1/trading/info/aggregate-portfolio (the `PostAggregatedPortfolio` operationId).
	PostAggregatedPortfolio(ctx context.Context, params *PostAggregatedPortfolioParams, body PostAggregatedPortfolioJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetAggregatedPortfolioDemo Get aggregated portfolio snapshot
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `POST /api/v1/trading/info/demo/aggregate-portfolio`
	//
	// ---
	//
	// Returns a complete snapshot of the authenticated user's demo account investment portfolio, organized by asset. The response includes account-level balances and equity, individually held positions grouped by asset, and any copy-trading relationships the user has active. Use the instrumentIds filter to scope results to a specific set of assets, or mirrorIds to isolate specific copy-trading relationships. Account totals always reflect the full portfolio regardless of filters applied.
	//
	// Corresponds with GET /api/v1/trading/info/demo/aggregate-portfolio (the `GetAggregatedPortfolioDemo` operationId).
	GetAggregatedPortfolioDemo(ctx context.Context, params *GetAggregatedPortfolioDemoParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PostAggregatedPortfolioDemoWithBody Get a filtered aggregated portfolio snapshot
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/demo/aggregate-portfolio`
	//
	// ---
	//
	// Returns the demo portfolio using aggregation levels and structured per-mirror instrument filters from the request body. This filter does not affect the account totals, that are still calculated based on the full portfolio.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v1/trading/info/demo/aggregate-portfolio (the `PostAggregatedPortfolioDemo` operationId).
	PostAggregatedPortfolioDemoWithBody(ctx context.Context, params *PostAggregatedPortfolioDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PostAggregatedPortfolioDemo Get a filtered aggregated portfolio snapshot
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/demo/aggregate-portfolio`
	//
	// ---
	//
	// Returns the demo portfolio using aggregation levels and structured per-mirror instrument filters from the request body. This filter does not affect the account totals, that are still calculated based on the full portfolio.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v1/trading/info/demo/aggregate-portfolio (the `PostAggregatedPortfolioDemo` operationId).
	PostAggregatedPortfolioDemo(ctx context.Context, params *PostAggregatedPortfolioDemoParams, body PostAggregatedPortfolioDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetTradingInfoDemoCloseOrdersByOrderId Get close order information and closed position details
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/demo/orders/{orderId}`
	// - `GET /api/v2/trading/info/demo/orders:lookup`
	//
	// ---
	//
	// Retrieves information about a close order, including its execution status and the positions that were closed as a result of the request. Use this to track the outcome of a position-closing order and identify which positions were affected. This is a read-only call and is the supported way to confirm the outcome of POST or DELETE /api/v1/trading/execution/demo/market-close-orders/... - including when the DELETE response was lost: poll this endpoint with the same close orderId instead of resending the cancel. Executed quantity is reported per affected position in positions[] (units and amount, with occurred and rate set once that position was closed); the order-level proceeds field totals what was realized. A close order that was cancelled before anything executed has no executed entries in positions[]. Any requested units that do not appear as executed in positions[] were not closed. errorCode and errorMessage are populated when processing failed.
	//
	// Corresponds with GET /api/v1/trading/info/demo/close-orders/{orderId} (the `GetTradingInfoDemoCloseOrdersByOrderId` operationId).
	GetTradingInfoDemoCloseOrdersByOrderId(ctx context.Context, orderId int64, params *GetTradingInfoDemoCloseOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetTradingInfoDemoPnl Get account PnL and portfolio details
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/demo/portfolio`
	// - `GET /api/v2/trading/info/demo/instrument-breakdown`
	//
	// ---
	//
	// Retrieves the demo account's current portfolio, including credit, open positions, orders, mirrors, and PnL details.
	//
	// Corresponds with GET /api/v1/trading/info/demo/pnl (the `GetTradingInfoDemoPnl` operationId).
	GetTradingInfoDemoPnl(ctx context.Context, params *GetTradingInfoDemoPnlParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetTradingInfoDemoPortfolio Get demo portfolio breakdown
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/demo/pnl`
	// - `GET /api/v2/trading/info/demo/instrument-breakdown`
	//
	// ---
	//
	// Returns detailed portfolio information including active positions, pending orders, mirror trading details, and account balances. This endpoint provides a complete overview of the user's trading activity and current market exposure.
	//
	// Corresponds with GET /api/v1/trading/info/demo/portfolio (the `GetTradingInfoDemoPortfolio` operationId).
	GetTradingInfoDemoPortfolio(ctx context.Context, params *GetTradingInfoDemoPortfolioParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetTradingInfoPortfolio Get portfolio breakdown
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/real/pnl`
	// - `GET /api/v2/trading/info/instrument-breakdown`
	//
	// ---
	//
	// Returns detailed portfolio information including active positions, pending orders, mirror trading details, and account balances. This endpoint provides a complete overview of the user's trading activity and current market exposure.
	//
	// Corresponds with GET /api/v1/trading/info/portfolio (the `GetTradingInfoPortfolio` operationId).
	GetTradingInfoPortfolio(ctx context.Context, params *GetTradingInfoPortfolioParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetTradingInfoRealCloseOrdersByOrderId Get close order information and closed position details
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/real/orders/{orderId}`
	// - `GET /api/v2/trading/info/orders:lookup`
	//
	// ---
	//
	// Retrieves information about a close order, including its execution status and the positions that were closed as a result of the request. Use this to track the outcome of a position-closing order and identify which positions were affected. This is a read-only call and is the supported way to confirm the outcome of POST or DELETE /api/v1/trading/execution/market-close-orders/... - including when the DELETE response was lost: poll this endpoint with the same close orderId instead of resending the cancel. Executed quantity is reported per affected position in positions[] (units and amount, with occurred and rate set once that position was closed); the order-level proceeds field totals what was realized. A close order that was cancelled before anything executed has no executed entries in positions[]. Any requested units that do not appear as executed in positions[] were not closed. errorCode and errorMessage are populated when processing failed.
	//
	// Corresponds with GET /api/v1/trading/info/real/close-orders/{orderId} (the `GetTradingInfoRealCloseOrdersByOrderId` operationId).
	GetTradingInfoRealCloseOrdersByOrderId(ctx context.Context, orderId int64, params *GetTradingInfoRealCloseOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetTradingInfoRealPnl Get account PnL and portfolio details
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/portfolio`
	// - `GET /api/v2/trading/info/instrument-breakdown`
	//
	// ---
	//
	// Retrieves the real account's current portfolio, including credit, open positions, orders, mirrors, and PnL details.
	//
	// Corresponds with GET /api/v1/trading/info/real/pnl (the `GetTradingInfoRealPnl` operationId).
	GetTradingInfoRealPnl(ctx context.Context, params *GetTradingInfoRealPnlParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetTradingInfoTradeDemoHistory List trading history
	//
	// **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.
	//
	// ---
	//
	// Returns closed trades for the authenticated account from `minDate` through the present. Keep each request's lookback to less than 1 year (maximum 1 year minus 1 day). For longer history, split the range into successive windows of at most that length (advance `minDate` per batch) and use `page` / `pageSize` within each window.
	//
	// Corresponds with GET /api/v1/trading/info/trade/demo/history (the `GetTradingInfoTradeDemoHistory` operationId).
	GetTradingInfoTradeDemoHistory(ctx context.Context, params *GetTradingInfoTradeDemoHistoryParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetTradingInfoTradeHistory List trading history
	//
	// **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.
	//
	// ---
	//
	// Returns closed trades for the authenticated account from `minDate` through the present. Keep each request's lookback to less than 1 year (maximum 1 year minus 1 day). For longer history, split the range into successive windows of at most that length (advance `minDate` per batch) and use `page` / `pageSize` within each window.
	//
	// Corresponds with GET /api/v1/trading/info/trade/history (the `GetTradingInfoTradeHistory` operationId).
	GetTradingInfoTradeHistory(ctx context.Context, params *GetTradingInfoTradeHistoryParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetUserInfoPeople Get user profile and account summary
	//
	// **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.
	//
	// ---
	//
	// Returns detailed user profile information including account status, verification levels, biographical data, and associated metadata. This endpoint aggregates essential user information from multiple sources to provide a complete user profile overview.
	//
	// Corresponds with GET /api/v1/user-info/people (the `GetUserInfoPeople` operationId).
	GetUserInfoPeople(ctx context.Context, params *GetUserInfoPeopleParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetUserInfoPeopleSearch Search users
	//
	// **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.
	//
	// ---
	//
	// Powerful search platform that enables advanced user discovery with comprehensive filtering capabilities. Supports complex queries across multiple dimensions including performance metrics, risk profiles, investment patterns, and account characteristics. Ideal for identifying users based on specific trading behaviors and performance criteria.
	//
	// Corresponds with GET /api/v1/user-info/people/search (the `GetUserInfoPeopleSearch` operationId).
	GetUserInfoPeopleSearch(ctx context.Context, params *GetUserInfoPeopleSearchParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetUserInfoPeopleByUsernameDailyGain Get user daily performance
	//
	// **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.
	//
	// ---
	//
	// Provides detailed performance analytics including daily gains, cumulative returns, and period-specific metrics within a specified date range. Supports various time-based analyses and performance reporting requirements.
	//
	// Corresponds with GET /api/v1/user-info/people/{username}/daily-gain (the `GetUserInfoPeopleByUsernameDailyGain` operationId).
	GetUserInfoPeopleByUsernameDailyGain(ctx context.Context, username string, params *GetUserInfoPeopleByUsernameDailyGainParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetUserInfoPeopleByUsernameGain Get user performance history
	//
	// **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.
	//
	// ---
	//
	// Returns comprehensive historical monthly and yearly performance data including gain percentages, risk-adjusted returns, and detailed trading statistics. This endpoint provides both aggregated and time-series performance metrics.
	//
	// Corresponds with GET /api/v1/user-info/people/{username}/gain (the `GetUserInfoPeopleByUsernameGain` operationId).
	GetUserInfoPeopleByUsernameGain(ctx context.Context, username string, params *GetUserInfoPeopleByUsernameGainParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetUserInfoPeopleByUsernamePortfolioLive Get user live portfolio
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// Corresponds with GET /api/v1/user-info/people/{username}/portfolio/live (the `GetUserInfoPeopleByUsernamePortfolioLive` operationId).
	GetUserInfoPeopleByUsernamePortfolioLive(ctx context.Context, username string, params *GetUserInfoPeopleByUsernamePortfolioLiveParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetUserInfoPeopleByUsernameTradeinfo Get user trade info
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// Corresponds with GET /api/v1/user-info/people/{username}/tradeinfo (the `GetUserInfoPeopleByUsernameTradeinfo` operationId).
	GetUserInfoPeopleByUsernameTradeinfo(ctx context.Context, username string, params *GetUserInfoPeopleByUsernameTradeinfoParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetWatchlists Get user watchlists
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/watchlists/default-watchlists/items`
	// - `GET /api/v1/watchlists/public/{userId}`
	// - `GET /api/v1/watchlists/public/{userId}/{watchlistId}`
	// - `GET /api/v1/watchlists/{watchlistId}`
	//
	// ---
	//
	// Retrieves all watchlists for the authenticated user with optional pagination and built-in watchlist management.
	//
	// Corresponds with GET /api/v1/watchlists (the `GetWatchlists` operationId).
	GetWatchlists(ctx context.Context, params *GetWatchlistsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PostWatchlists Create a new watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Creates a new watchlist for the authenticated user with the specified name and type.
	//
	// Corresponds with POST /api/v1/watchlists (the `PostWatchlists` operationId).
	PostWatchlists(ctx context.Context, params *PostWatchlistsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PostWatchlistsDefaultWatchlistSelectedItemsWithBody Create default watchlist with selected items
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Creates a default watchlist populated with the specified items.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v1/watchlists/default-watchlist/selected-items (the `PostWatchlistsDefaultWatchlistSelectedItems` operationId).
	PostWatchlistsDefaultWatchlistSelectedItemsWithBody(ctx context.Context, params *PostWatchlistsDefaultWatchlistSelectedItemsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PostWatchlistsDefaultWatchlistSelectedItems Create default watchlist with selected items
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Creates a default watchlist populated with the specified items.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v1/watchlists/default-watchlist/selected-items (the `PostWatchlistsDefaultWatchlistSelectedItems` operationId).
	PostWatchlistsDefaultWatchlistSelectedItems(ctx context.Context, params *PostWatchlistsDefaultWatchlistSelectedItemsParams, body PostWatchlistsDefaultWatchlistSelectedItemsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetWatchlistsDefaultWatchlistsItems Get default watchlist items
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/watchlists`
	// - `GET /api/v1/watchlists/public/{userId}`
	// - `GET /api/v1/watchlists/public/{userId}/{watchlistId}`
	// - `GET /api/v1/watchlists/{watchlistId}`
	//
	// ---
	//
	// Retrieves items from user's default watchlists with optional pagination.
	//
	// Corresponds with GET /api/v1/watchlists/default-watchlists/items (the `GetWatchlistsDefaultWatchlistsItems` operationId).
	GetWatchlistsDefaultWatchlistsItems(ctx context.Context, params *GetWatchlistsDefaultWatchlistsItemsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PostWatchlistsNewasdefaultWatchlist Create watchlist and set as default
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Creates a new watchlist and immediately sets it as the user's default watchlist.
	//
	// Corresponds with POST /api/v1/watchlists/newasdefault-watchlist (the `PostWatchlistsNewasdefaultWatchlist` operationId).
	PostWatchlistsNewasdefaultWatchlist(ctx context.Context, params *PostWatchlistsNewasdefaultWatchlistParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetWatchlistsPublicByUserId Get user's public watchlists
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/watchlists`
	// - `GET /api/v1/watchlists/default-watchlists/items`
	// - `GET /api/v1/watchlists/public/{userId}/{watchlistId}`
	// - `GET /api/v1/watchlists/{watchlistId}`
	//
	// ---
	//
	// Retrieves all public watchlists for a specific user.
	//
	// Corresponds with GET /api/v1/watchlists/public/{userId} (the `GetWatchlistsPublicByUserId` operationId).
	GetWatchlistsPublicByUserId(ctx context.Context, userId int32, params *GetWatchlistsPublicByUserIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetWatchlistsPublicByUserIdByWatchlistId Get single public watchlist
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/watchlists`
	// - `GET /api/v1/watchlists/default-watchlists/items`
	// - `GET /api/v1/watchlists/public/{userId}`
	// - `GET /api/v1/watchlists/{watchlistId}`
	//
	// ---
	//
	// Retrieves a specific public watchlist from a user.
	//
	// Corresponds with GET /api/v1/watchlists/public/{userId}/{watchlistId} (the `GetWatchlistsPublicByUserIdByWatchlistId` operationId).
	GetWatchlistsPublicByUserIdByWatchlistId(ctx context.Context, userId int32, watchlistId string, params *GetWatchlistsPublicByUserIdByWatchlistIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PutWatchlistsRankByWatchlistId Change watchlist rank
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Updates the display rank of a watchlist.
	//
	// Corresponds with PUT /api/v1/watchlists/rank/{watchlistId} (the `PutWatchlistsRankByWatchlistId` operationId).
	PutWatchlistsRankByWatchlistId(ctx context.Context, watchlistId string, params *PutWatchlistsRankByWatchlistIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PutWatchlistsSetUserSelectedUserDefaultByWatchlistId Set watchlist as default
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Sets the specified watchlist as the user's default watchlist.
	//
	// Corresponds with PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId} (the `PutWatchlistsSetUserSelectedUserDefaultByWatchlistId` operationId).
	PutWatchlistsSetUserSelectedUserDefaultByWatchlistId(ctx context.Context, watchlistId string, params *PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// DeleteWatchlistsByWatchlistId Delete watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Removes a watchlist and all its items.
	//
	// Corresponds with DELETE /api/v1/watchlists/{watchlistId} (the `DeleteWatchlistsByWatchlistId` operationId).
	DeleteWatchlistsByWatchlistId(ctx context.Context, watchlistId string, params *DeleteWatchlistsByWatchlistIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetWatchlistsByWatchlistId Get single watchlist
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/watchlists`
	// - `GET /api/v1/watchlists/default-watchlists/items`
	// - `GET /api/v1/watchlists/public/{userId}`
	// - `GET /api/v1/watchlists/public/{userId}/{watchlistId}`
	//
	// ---
	//
	// Retrieves a specific watchlist with its items using pagination.
	//
	// Corresponds with GET /api/v1/watchlists/{watchlistId} (the `GetWatchlistsByWatchlistId` operationId).
	GetWatchlistsByWatchlistId(ctx context.Context, watchlistId string, params *GetWatchlistsByWatchlistIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PutWatchlistsByWatchlistId Rename watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Updates the name of an existing watchlist.
	//
	// Corresponds with PUT /api/v1/watchlists/{watchlistId} (the `PutWatchlistsByWatchlistId` operationId).
	PutWatchlistsByWatchlistId(ctx context.Context, watchlistId string, params *PutWatchlistsByWatchlistIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// DeleteWatchlistsByWatchlistIdItemsWithBody Remove items from watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Removes specified items from a watchlist.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with DELETE /api/v1/watchlists/{watchlistId}/items (the `DeleteWatchlistsByWatchlistIdItems` operationId).
	DeleteWatchlistsByWatchlistIdItemsWithBody(ctx context.Context, watchlistId string, params *DeleteWatchlistsByWatchlistIdItemsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// DeleteWatchlistsByWatchlistIdItems Remove items from watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Removes specified items from a watchlist.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with DELETE /api/v1/watchlists/{watchlistId}/items (the `DeleteWatchlistsByWatchlistIdItems` operationId).
	DeleteWatchlistsByWatchlistIdItems(ctx context.Context, watchlistId string, params *DeleteWatchlistsByWatchlistIdItemsParams, body DeleteWatchlistsByWatchlistIdItemsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PostWatchlistsByWatchlistIdItemsWithBody Add items to watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Adds new items to an existing watchlist.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v1/watchlists/{watchlistId}/items (the `PostWatchlistsByWatchlistIdItems` operationId).
	PostWatchlistsByWatchlistIdItemsWithBody(ctx context.Context, watchlistId string, params *PostWatchlistsByWatchlistIdItemsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PostWatchlistsByWatchlistIdItems Add items to watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Adds new items to an existing watchlist.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v1/watchlists/{watchlistId}/items (the `PostWatchlistsByWatchlistIdItems` operationId).
	PostWatchlistsByWatchlistIdItems(ctx context.Context, watchlistId string, params *PostWatchlistsByWatchlistIdItemsParams, body PostWatchlistsByWatchlistIdItemsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PutWatchlistsByWatchlistIdItemsWithBody Update items in watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	//
	// ---
	//
	// Updates existing items in a watchlist (rank, etc.).
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with PUT /api/v1/watchlists/{watchlistId}/items (the `PutWatchlistsByWatchlistIdItems` operationId).
	PutWatchlistsByWatchlistIdItemsWithBody(ctx context.Context, watchlistId string, params *PutWatchlistsByWatchlistIdItemsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// PutWatchlistsByWatchlistIdItems Update items in watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	//
	// ---
	//
	// Updates existing items in a watchlist (rank, etc.).
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with PUT /api/v1/watchlists/{watchlistId}/items (the `PutWatchlistsByWatchlistIdItems` operationId).
	PutWatchlistsByWatchlistIdItems(ctx context.Context, watchlistId string, params *PutWatchlistsByWatchlistIdItemsParams, body PutWatchlistsByWatchlistIdItemsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateAgentPortfoliosV2WithBody Create Agent Portfolio (v2)
	//
	// **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.
	//
	// ---
	//
	// Creates a new agent-portfolio using scope names. Scopes are specified by name (scopeNames); scope ids are not supported in v2. IMPORTANT: investmentAmountInUsd is the amount deducted from YOUR (the caller's) account balance to copy-trade this agent-portfolio — it is NOT the agent-portfolio's own balance. Positions are mirrored proportionally: e.g. if you invest $2,000 and agentPortfolioVirtualBalance is $10,000, each position is copied at 20% of its size into your account.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v2/agent-portfolios (the `CreateAgentPortfoliosV2` operationId).
	CreateAgentPortfoliosV2WithBody(ctx context.Context, params *CreateAgentPortfoliosV2Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateAgentPortfoliosV2 Create Agent Portfolio (v2)
	//
	// **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.
	//
	// ---
	//
	// Creates a new agent-portfolio using scope names. Scopes are specified by name (scopeNames); scope ids are not supported in v2. IMPORTANT: investmentAmountInUsd is the amount deducted from YOUR (the caller's) account balance to copy-trade this agent-portfolio — it is NOT the agent-portfolio's own balance. Positions are mirrored proportionally: e.g. if you invest $2,000 and agentPortfolioVirtualBalance is $10,000, each position is copied at 20% of its size into your account.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v2/agent-portfolios (the `CreateAgentPortfoliosV2` operationId).
	CreateAgentPortfoliosV2(ctx context.Context, params *CreateAgentPortfoliosV2Params, body CreateAgentPortfoliosV2JSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetAgentPortfoliosScopes Get Allowed Scopes (v2)
	//
	// **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.
	//
	// ---
	//
	// Returns the permission scope names that may be assigned to agent-portfolio user tokens.
	//
	// Corresponds with GET /api/v2/agent-portfolios/user-tokens/scopes (the `GetAgentPortfoliosScopes` operationId).
	GetAgentPortfoliosScopes(ctx context.Context, params *GetAgentPortfoliosScopesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2WithBody Create User Token (v2)
	//
	// **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.
	//
	// ---
	//
	// Creates a new user token for the specified agent-portfolio using scope names. Scopes are specified by name (scopeNames); scope ids are not supported in v2.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v2/agent-portfolios/{agentPortfolioId}/user-tokens (the `CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2` operationId).
	CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2WithBody(ctx context.Context, agentPortfolioId openapi_types.UUID, params *CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2 Create User Token (v2)
	//
	// **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.
	//
	// ---
	//
	// Creates a new user token for the specified agent-portfolio using scope names. Scopes are specified by name (scopeNames); scope ids are not supported in v2.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v2/agent-portfolios/{agentPortfolioId}/user-tokens (the `CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2` operationId).
	CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2(ctx context.Context, agentPortfolioId openapi_types.UUID, params *CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Params, body CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2JSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2WithBody Update User Token (v2)
	//
	// **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.
	//
	// ---
	//
	// Updates the settings of an existing user token using scope names. At least one field must be provided. Scopes are specified by name (scopeNames); scope ids are not supported in v2.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with PATCH /api/v2/agent-portfolios/{agentPortfolioId}/user-tokens/{userTokenId} (the `UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2` operationId).
	UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2WithBody(ctx context.Context, agentPortfolioId openapi_types.UUID, userTokenId openapi_types.UUID, params *UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2 Update User Token (v2)
	//
	// **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.
	//
	// ---
	//
	// Updates the settings of an existing user token using scope names. At least one field must be provided. Scopes are specified by name (scopeNames); scope ids are not supported in v2.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with PATCH /api/v2/agent-portfolios/{agentPortfolioId}/user-tokens/{userTokenId} (the `UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2` operationId).
	UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2(ctx context.Context, agentPortfolioId openapi_types.UUID, userTokenId openapi_types.UUID, params *UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Params, body UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2JSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetSecurities Search for securities (instruments) by ID or symbol
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// ---
	//
	// Returns instrument (security) metadata, optionally filtered by instrument IDs or symbols, with cursor-based pagination.
	//
	// `instrumentsIds` and `symbols` are mutually exclusive. All filters are optional and independent; if neither `instrumentsIds` nor `symbols` is provided, results are not filtered by instrument and are simply paginated by `pageSize`.
	//
	// Corresponds with GET /api/v2/market-data/instruments (the `GetSecurities` operationId).
	GetSecurities(ctx context.Context, params *GetSecuritiesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetInstrumentsSearch Search instruments by free-text query
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/rates`
	//
	// ---
	//
	// Free-text search of instruments by name or symbol. Results are relevance-ranked by the upstream search index; non-public instruments are filtered out.
	//
	// Corresponds with GET /api/v2/market-data/instruments/search (the `GetInstrumentsSearch` operationId).
	GetInstrumentsSearch(ctx context.Context, params *GetInstrumentsSearchParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetRates Retrieve bid/ask rates for one or more instruments
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	//
	// ---
	//
	// Returns current bid/ask rates keyed by instrument ID. Each rate carries a `quoteType` indicating whether it is `realtime` or `delayed`.
	//
	// Returns 200 when all requested instruments are found, 206 when only a subset is available.
	//
	// Corresponds with GET /api/v2/market-data/rates (the `GetRates` operationId).
	GetRates(ctx context.Context, params *GetRatesParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetPortfoliosRankings Get paginated investor rankings
	//
	// **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.
	//
	// ---
	//
	// Returns a paged list of investor ranking rows filtered and sorted by query parameters. `period` is required; all filter parameters are optional.
	//
	// Corresponds with GET /api/v2/portfolios/rankings (the `GetPortfoliosRankings` operationId).
	GetPortfoliosRankings(ctx context.Context, params *GetPortfoliosRankingsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetMultiplePortfoliosRankingsWithBody Bulk-fetch ranking rows
	//
	// **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.
	//
	// ---
	//
	// Returns ranking rows for a list of investors identified by username. Missing, private, or unranked users are silently omitted. Maximum 100 usernames per request.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v2/portfolios/rankings/multiple (the `GetMultiplePortfoliosRankings` operationId).
	GetMultiplePortfoliosRankingsWithBody(ctx context.Context, params *GetMultiplePortfoliosRankingsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetMultiplePortfoliosRankings Bulk-fetch ranking rows
	//
	// **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.
	//
	// ---
	//
	// Returns ranking rows for a list of investors identified by username. Missing, private, or unranked users are silently omitted. Maximum 100 usernames per request.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v2/portfolios/rankings/multiple (the `GetMultiplePortfoliosRankings` operationId).
	GetMultiplePortfoliosRankings(ctx context.Context, params *GetMultiplePortfoliosRankingsParams, body GetMultiplePortfoliosRankingsJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// ListPortfolioRankingsPresets List available ranking presets
	//
	// **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.
	//
	// ---
	//
	// Returns the names of all publicly available ranking presets. Use a preset name as the `{type}` path parameter in GET /portfolios/rankings/presets/{type}. No pagination.
	//
	// Corresponds with GET /api/v2/portfolios/rankings/presets (the `ListPortfolioRankingsPresets` operationId).
	ListPortfolioRankingsPresets(ctx context.Context, params *ListPortfolioRankingsPresetsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetPortfolioRankingsByPreset Get rankings by named preset
	//
	// **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.
	//
	// ---
	//
	// Applies a predefined filter preset. Equivalent to GET /rankings with the preset's filters pre-applied. Unknown or non-whitelisted presets return 404 with the verbatim JSON string "Filter Not Found".
	//
	// Corresponds with GET /api/v2/portfolios/rankings/presets/{type} (the `GetPortfolioRankingsByPreset` operationId).
	GetPortfolioRankingsByPreset(ctx context.Context, pType string, params *GetPortfolioRankingsByPresetParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetPortfoliosRankingsSummary Get ranking universe aggregated by sector or industry
	//
	// **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.
	//
	// ---
	//
	// Aggregates ranked investors into tag-bucketed summaries. The required `summary` query parameter must be "industries" or "sectors". TagIds from the internal service are resolved to readable names.
	//
	// Corresponds with GET /api/v2/portfolios/rankings/summary (the `GetPortfoliosRankingsSummary` operationId).
	GetPortfoliosRankingsSummary(ctx context.Context, params *GetPortfoliosRankingsSummaryParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// ListPortfolioRankingsTags List all ranking tags
	//
	// **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.
	//
	// ---
	//
	// Returns the full catalog of ranking tags (industries and sectors) with resolved names. Optionally filter to a single dimension via the `type` query parameter. No pagination.
	//
	// Corresponds with GET /api/v2/portfolios/rankings/tags (the `ListPortfolioRankingsTags` operationId).
	ListPortfolioRankingsTags(ctx context.Context, params *ListPortfolioRankingsTagsParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetAssetsHistory Get asset allocation history
	//
	// **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.
	//
	// ---
	//
	// Returns a daily asset-allocation breakdown for a publicly visible portfolio. Data is only available for investors who have not opted out — opted-out portfolios return 403 for third-party callers. Callers must authenticate with their own token. Use period OR minDate+maxDate (mutually exclusive). All ratio fields use decimal fraction format: 0.5 = 50%.
	//
	// Corresponds with GET /api/v2/portfolios/{username}/assets/history (the `GetAssetsHistory` operationId).
	GetAssetsHistory(ctx context.Context, username string, params *GetAssetsHistoryParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetPortfolioCopiers Get portfolio copier stats
	//
	// **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.
	//
	// ---
	//
	// Returns the investor's live copier count and assets-under-management tier for a public username. Requires `etoro-public:user-info:read`.
	//
	// Corresponds with GET /api/v2/portfolios/{username}/copiers (the `GetPortfolioCopiers` operationId).
	GetPortfolioCopiers(ctx context.Context, username string, params *GetPortfolioCopiersParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetExposureHistory Get market exposure history
	//
	// **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.
	//
	// ---
	//
	// Returns daily directional exposure breakdown per instrument for a publicly visible portfolio. Data is only available for investors who have not opted out - opted-out portfolios return 403 for third-party callers. Callers must authenticate with their own token. Use period OR minDate+maxDate (mutually exclusive). All values are decimal fractions of total daily investment: 0.5 = 50%. Simulated positions are excluded.
	//
	// Corresponds with GET /api/v2/portfolios/{username}/exposure/history (the `GetExposureHistory` operationId).
	GetExposureHistory(ctx context.Context, username string, params *GetExposureHistoryParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetGainHistory Get investor gain time-series
	//
	// **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.
	//
	// ---
	//
	// Returns a gain time-series scoped by date range, count, or a combination of one date and a count. Gain values are decimal fractions: 0.06 = 6%, -0.03 = -3%.
	//
	// Corresponds with GET /api/v2/portfolios/{username}/gain/{granularity} (the `GetGainHistory` operationId).
	GetGainHistory(ctx context.Context, username string, granularity GetGainHistoryParamsGranularity, params *GetGainHistoryParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetPortfolioRanking Get ranking row for a single investor
	//
	// **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.
	//
	// ---
	//
	// Returns the full ranking row for the specified investor for a given time period. Returns 404 if the user is private, not found, or not ranked. `period` is required because every performance field is computed over a defined time window.
	//
	// Corresponds with GET /api/v2/portfolios/{username}/rankings (the `GetPortfolioRanking` operationId).
	GetPortfolioRanking(ctx context.Context, username string, params *GetPortfolioRankingParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CloseCopyTrading Close or detach a copy relationship
	//
	// **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.
	//
	// ---
	//
	// This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. The relationship is selected by mirrorID; identity is resolved from the authenticated caller. This binding takes all fields as query parameters and rejects any request carrying a body — use POST /api/v2/trading/copy/close for a JSON-body equivalent. The operation is asynchronous and the response token is an acknowledgment only: close completion is not pollable through this API.
	//
	// Corresponds with DELETE /api/v2/trading/copy (the `CloseCopyTrading` operationId).
	CloseCopyTrading(ctx context.Context, params *CloseCopyTradingParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// RegisterCopyTradingWithBody Start copying an investor, or adjust an existing copy
	//
	// **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.
	//
	// ---
	//
	// Registers a copy relationship with the given investor for the authenticated account. If the copy already exists, funds will be added to or removed from it; if it does not exist, a new copy will be created and funds transferred into it. Every change of funds causes a realignment process that adjusts all the positions inside the sub-portfolio to match the parent portfolio proportions. Investor account ids (parentCID) are the ids surfaced by the platform's public endpoints (for example, the Rankings endpoints). The operation is asynchronous: the response token acknowledges acceptance, and the outcome can be checked via GET /api/v2/trading/copy/{referenceId} using the referenceID supplied here.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v2/trading/copy (the `RegisterCopyTrading` operationId).
	RegisterCopyTradingWithBody(ctx context.Context, params *RegisterCopyTradingParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// RegisterCopyTrading Start copying an investor, or adjust an existing copy
	//
	// **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.
	//
	// ---
	//
	// Registers a copy relationship with the given investor for the authenticated account. If the copy already exists, funds will be added to or removed from it; if it does not exist, a new copy will be created and funds transferred into it. Every change of funds causes a realignment process that adjusts all the positions inside the sub-portfolio to match the parent portfolio proportions. Investor account ids (parentCID) are the ids surfaced by the platform's public endpoints (for example, the Rankings endpoints). The operation is asynchronous: the response token acknowledges acceptance, and the outcome can be checked via GET /api/v2/trading/copy/{referenceId} using the referenceID supplied here.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v2/trading/copy (the `RegisterCopyTrading` operationId).
	RegisterCopyTrading(ctx context.Context, params *RegisterCopyTradingParams, body RegisterCopyTradingJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CloseCopyTradingViaPostWithBody Close or detach a copy relationship (JSON body)
	//
	// **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.
	//
	// ---
	//
	// This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. Identical semantics to DELETE /api/v2/trading/copy, with the fields carried in a JSON body instead of query parameters — provided because some HTTP clients and proxies handle DELETE requests with bodies unreliably. The response token is an acknowledgment only: close completion is not pollable through this API.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v2/trading/copy/close (the `CloseCopyTradingViaPost` operationId).
	CloseCopyTradingViaPostWithBody(ctx context.Context, params *CloseCopyTradingViaPostParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CloseCopyTradingViaPost Close or detach a copy relationship (JSON body)
	//
	// **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.
	//
	// ---
	//
	// This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. Identical semantics to DELETE /api/v2/trading/copy, with the fields carried in a JSON body instead of query parameters — provided because some HTTP clients and proxies handle DELETE requests with bodies unreliably. The response token is an acknowledgment only: close completion is not pollable through this API.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v2/trading/copy/close (the `CloseCopyTradingViaPost` operationId).
	CloseCopyTradingViaPost(ctx context.Context, params *CloseCopyTradingViaPostParams, body CloseCopyTradingViaPostJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CloseCopyTradingDemo Close or detach a copy relationship
	//
	// **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.
	//
	// ---
	//
	// This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. The relationship is selected by mirrorID; identity is resolved from the authenticated caller. This binding takes all fields as query parameters and rejects any request carrying a body — use POST /api/v2/trading/copy/demo/close for a JSON-body equivalent. The operation is asynchronous and the response token is an acknowledgment only: close completion is not pollable through this API.
	//
	// Corresponds with DELETE /api/v2/trading/copy/demo (the `CloseCopyTradingDemo` operationId).
	CloseCopyTradingDemo(ctx context.Context, params *CloseCopyTradingDemoParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// RegisterCopyTradingDemoWithBody Start copying an investor, or adjust an existing copy
	//
	// **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.
	//
	// ---
	//
	// Registers a copy relationship with the given investor for the authenticated account. If the copy already exists, funds will be added to or removed from it; if it does not exist, a new copy will be created and funds transferred into it. Every change of funds causes a realignment process that adjusts all the positions inside the sub-portfolio to match the parent portfolio proportions. Investor account ids (parentCID) are the ids surfaced by the platform's public endpoints (for example, the Rankings endpoints). The operation is asynchronous: the response token acknowledges acceptance, and the outcome can be checked via GET /api/v2/trading/copy/demo/{referenceId} using the referenceID supplied here.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v2/trading/copy/demo (the `RegisterCopyTradingDemo` operationId).
	RegisterCopyTradingDemoWithBody(ctx context.Context, params *RegisterCopyTradingDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// RegisterCopyTradingDemo Start copying an investor, or adjust an existing copy
	//
	// **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.
	//
	// ---
	//
	// Registers a copy relationship with the given investor for the authenticated account. If the copy already exists, funds will be added to or removed from it; if it does not exist, a new copy will be created and funds transferred into it. Every change of funds causes a realignment process that adjusts all the positions inside the sub-portfolio to match the parent portfolio proportions. Investor account ids (parentCID) are the ids surfaced by the platform's public endpoints (for example, the Rankings endpoints). The operation is asynchronous: the response token acknowledges acceptance, and the outcome can be checked via GET /api/v2/trading/copy/demo/{referenceId} using the referenceID supplied here.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v2/trading/copy/demo (the `RegisterCopyTradingDemo` operationId).
	RegisterCopyTradingDemo(ctx context.Context, params *RegisterCopyTradingDemoParams, body RegisterCopyTradingDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CloseCopyTradingViaPostDemoWithBody Close or detach a copy relationship (JSON body)
	//
	// **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.
	//
	// ---
	//
	// This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. Identical semantics to DELETE /api/v2/trading/copy/demo, with the fields carried in a JSON body instead of query parameters — provided because some HTTP clients and proxies handle DELETE requests with bodies unreliably. The response token is an acknowledgment only: close completion is not pollable through this API.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v2/trading/copy/demo/close (the `CloseCopyTradingViaPostDemo` operationId).
	CloseCopyTradingViaPostDemoWithBody(ctx context.Context, params *CloseCopyTradingViaPostDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CloseCopyTradingViaPostDemo Close or detach a copy relationship (JSON body)
	//
	// **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.
	//
	// ---
	//
	// This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. Identical semantics to DELETE /api/v2/trading/copy/demo, with the fields carried in a JSON body instead of query parameters — provided because some HTTP clients and proxies handle DELETE requests with bodies unreliably. The response token is an acknowledgment only: close completion is not pollable through this API.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v2/trading/copy/demo/close (the `CloseCopyTradingViaPostDemo` operationId).
	CloseCopyTradingViaPostDemo(ctx context.Context, params *CloseCopyTradingViaPostDemoParams, body CloseCopyTradingViaPostDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CheckCopyTradingEligibilityDemoWithBody Pre-check whether a copy registration would be allowed
	//
	// **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.
	//
	// ---
	//
	// A dry run of the register operation that changes nothing: verifies whether the authenticated account can copy the given investor with the given amount. Request body is the same as starting a new copy (POST /api/v2/trading/copy/demo). A positive verdict is a point-in-time check, not a reservation. When isSuccess is false, errorCode and errorMessage may be absent.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v2/trading/copy/demo/eligibility (the `CheckCopyTradingEligibilityDemo` operationId).
	CheckCopyTradingEligibilityDemoWithBody(ctx context.Context, params *CheckCopyTradingEligibilityDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CheckCopyTradingEligibilityDemo Pre-check whether a copy registration would be allowed
	//
	// **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.
	//
	// ---
	//
	// A dry run of the register operation that changes nothing: verifies whether the authenticated account can copy the given investor with the given amount. Request body is the same as starting a new copy (POST /api/v2/trading/copy/demo). A positive verdict is a point-in-time check, not a reservation. When isSuccess is false, errorCode and errorMessage may be absent.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v2/trading/copy/demo/eligibility (the `CheckCopyTradingEligibilityDemo` operationId).
	CheckCopyTradingEligibilityDemo(ctx context.Context, params *CheckCopyTradingEligibilityDemoParams, body CheckCopyTradingEligibilityDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetCopyTradingStatusDemo Poll a copy operation's outcome
	//
	// **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.
	//
	// ---
	//
	// Returns the terminal outcome of a copy request for register, add or remove funds, looked up by the referenceID supplied on the copy request. The lookup is case-sensitive and scoped to the authenticated account. On success the response carries the mirrorID used to close the copy later; parentCID and parentUsername are either both present or both absent. This endpoint returns only the status of the copy request, not the status of the mirror sub-portfolio. For sub-portfolio status use a portfolio endpoint.
	//
	// Corresponds with GET /api/v2/trading/copy/demo/{referenceId} (the `GetCopyTradingStatusDemo` operationId).
	GetCopyTradingStatusDemo(ctx context.Context, referenceId string, params *GetCopyTradingStatusDemoParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CheckCopyTradingEligibilityWithBody Pre-check whether a copy registration would be allowed
	//
	// **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.
	//
	// ---
	//
	// A dry run of the register operation that changes nothing: verifies whether the authenticated account can copy the given investor with the given amount. Request body is the same as starting a new copy (POST /api/v2/trading/copy). A positive verdict is a point-in-time check, not a reservation. When isSuccess is false, errorCode and errorMessage may be absent.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v2/trading/copy/eligibility (the `CheckCopyTradingEligibility` operationId).
	CheckCopyTradingEligibilityWithBody(ctx context.Context, params *CheckCopyTradingEligibilityParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CheckCopyTradingEligibility Pre-check whether a copy registration would be allowed
	//
	// **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.
	//
	// ---
	//
	// A dry run of the register operation that changes nothing: verifies whether the authenticated account can copy the given investor with the given amount. Request body is the same as starting a new copy (POST /api/v2/trading/copy). A positive verdict is a point-in-time check, not a reservation. When isSuccess is false, errorCode and errorMessage may be absent.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v2/trading/copy/eligibility (the `CheckCopyTradingEligibility` operationId).
	CheckCopyTradingEligibility(ctx context.Context, params *CheckCopyTradingEligibilityParams, body CheckCopyTradingEligibilityJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetCopyTradingStatus Poll a copy operation's outcome
	//
	// **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.
	//
	// ---
	//
	// Returns the terminal outcome of a copy request for register, add or remove funds, looked up by the referenceID supplied on the copy request. The lookup is case-sensitive and scoped to the authenticated account. On success the response carries the mirrorID used to close the copy later; parentCID and parentUsername are either both present or both absent. This endpoint returns only the status of the copy request, not the status of the mirror sub-portfolio. For sub-portfolio status use a portfolio endpoint.
	//
	// Corresponds with GET /api/v2/trading/copy/{referenceId} (the `GetCopyTradingStatus` operationId).
	GetCopyTradingStatus(ctx context.Context, referenceId string, params *GetCopyTradingStatusParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// UpdateDemoPositionWithBody Modify stop-loss and take-profit settings on an open position
	//
	// **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.
	//
	// ---
	//
	// Submits an asynchronous request to update stop-loss and/or take-profit on an open position. You can set a new stopLossRate, takeProfitRate, stopLossType, or clear either value (clearStopLoss, clearTakeProfit). At least one SL/TP-related field is required. The response returns acceptance and correlation metadata only.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with PATCH /api/v2/trading/demo/positions/{positionId} (the `UpdateDemoPosition` operationId).
	UpdateDemoPositionWithBody(ctx context.Context, positionId int64, params *UpdateDemoPositionParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// UpdateDemoPosition Modify stop-loss and take-profit settings on an open position
	//
	// **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.
	//
	// ---
	//
	// Submits an asynchronous request to update stop-loss and/or take-profit on an open position. You can set a new stopLossRate, takeProfitRate, stopLossType, or clear either value (clearStopLoss, clearTakeProfit). At least one SL/TP-related field is required. The response returns acceptance and correlation metadata only.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with PATCH /api/v2/trading/demo/positions/{positionId} (the `UpdateDemoPosition` operationId).
	UpdateDemoPosition(ctx context.Context, positionId int64, params *UpdateDemoPositionParams, body UpdateDemoPositionJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateTradingExecutionDemoOrdersWithBody Create an order
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/demo/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v3/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v2 create path, settlementType remains optional (stricter settlementType rules apply only on v3). A 200 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/demo/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v2/trading/execution/demo/orders (the `CreateTradingExecutionDemoOrders` operationId).
	CreateTradingExecutionDemoOrdersWithBody(ctx context.Context, params *CreateTradingExecutionDemoOrdersParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateTradingExecutionDemoOrders Create an order
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/demo/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v3/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v2 create path, settlementType remains optional (stricter settlementType rules apply only on v3). A 200 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/demo/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v2/trading/execution/demo/orders (the `CreateTradingExecutionDemoOrders` operationId).
	CreateTradingExecutionDemoOrders(ctx context.Context, params *CreateTradingExecutionDemoOrdersParams, body CreateTradingExecutionDemoOrdersJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// DeleteTradingExecutionDemoOrdersByOrderId Cancels an order before it is executed
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/demo/orders`
	// - `POST /api/v3/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint sends a cancellation request to cancel an order before execution. An order can be cancelled if it is waiting for the market to open, or for the trigger rate to be published (MIT orders). The cancellation request may be successful, and the order is cancelled, or unsuccessful, and the order is not cancelled. This operation is idempotent when the order is already closed or cancelled. A 200 response confirms the cancellation request was accepted, not that the order was cancelled - it may already have executed. Confirm with GET /api/v2/trading/info/demo/orders:lookup: status.id 7 (Canceled) or 9 (CanceledPartiallyFilled) means the cancellation took effect, while 6 (PendingCancel) means it is still being processed.
	//
	// Corresponds with DELETE /api/v2/trading/execution/demo/orders/{orderId} (the `DeleteTradingExecutionDemoOrdersByOrderId` operationId).
	DeleteTradingExecutionDemoOrdersByOrderId(ctx context.Context, orderId int64, params *DeleteTradingExecutionDemoOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateTradingExecutionOrdersWithBody Create an order
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v3/trading/execution/orders`
	//
	// ---
	//
	// This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v2 create path, settlementType remains optional (stricter settlementType rules apply only on v3). A 200 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v2/trading/execution/orders (the `CreateTradingExecutionOrders` operationId).
	CreateTradingExecutionOrdersWithBody(ctx context.Context, params *CreateTradingExecutionOrdersParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateTradingExecutionOrders Create an order
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v3/trading/execution/orders`
	//
	// ---
	//
	// This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v2 create path, settlementType remains optional (stricter settlementType rules apply only on v3). A 200 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v2/trading/execution/orders (the `CreateTradingExecutionOrders` operationId).
	CreateTradingExecutionOrders(ctx context.Context, params *CreateTradingExecutionOrdersParams, body CreateTradingExecutionOrdersJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// DeleteTradingExecutionOrdersByOrderId Cancels an order before it is executed
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/orders`
	// - `POST /api/v3/trading/execution/orders`
	//
	// ---
	//
	// This endpoint sends a cancellation request to cancel an order before execution. An order can be cancelled if it is waiting for the market to open, or for the trigger rate to be published (MIT orders). The cancellation request may be successful, and the order is cancelled, or unsuccessful, and the order is not cancelled. This operation is idempotent when the order is already closed or cancelled. A 200 response confirms the cancellation request was accepted, not that the order was cancelled - it may already have executed. Confirm with GET /api/v2/trading/info/orders:lookup: status.id 7 (Canceled) or 9 (CanceledPartiallyFilled) means the cancellation took effect, while 6 (PendingCancel) means it is still being processed.
	//
	// Corresponds with DELETE /api/v2/trading/execution/orders/{orderId} (the `DeleteTradingExecutionOrdersByOrderId` operationId).
	DeleteTradingExecutionOrdersByOrderId(ctx context.Context, orderId int64, params *DeleteTradingExecutionOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetCostWithBody Get what-if trading cost breakdown
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Returns the markup, market spread, transaction fee, overnight fee, over-weekend fee, and tax that would apply if the supplied order were executed now. For `action: open`, exactly one of `symbol` or `instrumentId` must be provided and `leverage` must be at least 1. For `action: close`, `positionIds` must be non-empty.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v2/trading/info/costs (the `GetCost` operationId).
	GetCostWithBody(ctx context.Context, params *GetCostParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetCost Get what-if trading cost breakdown
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Returns the markup, market spread, transaction fee, overnight fee, over-weekend fee, and tax that would apply if the supplied order were executed now. For `action: open`, exactly one of `symbol` or `instrumentId` must be provided and `leverage` must be at least 1. For `action: close`, `positionIds` must be non-empty.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v2/trading/info/costs (the `GetCost` operationId).
	GetCost(ctx context.Context, params *GetCostParams, body GetCostJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetCostDemoWithBody Get what-if trading cost breakdown
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Returns the markup, market spread, transaction fee, overnight fee, over-weekend fee, and tax that would apply if the supplied order were executed now against the demo account. For `action: open`, exactly one of `symbol` or `instrumentId` must be provided and `leverage` must be at least 1. For `action: close`, `positionIds` must be non-empty.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v2/trading/info/demo/costs (the `GetCostDemo` operationId).
	GetCostDemoWithBody(ctx context.Context, params *GetCostDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetCostDemo Get what-if trading cost breakdown
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Returns the markup, market spread, transaction fee, overnight fee, over-weekend fee, and tax that would apply if the supplied order were executed now against the demo account. For `action: open`, exactly one of `symbol` or `instrumentId` must be provided and `leverage` must be at least 1. For `action: close`, `positionIds` must be non-empty.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v2/trading/info/demo/costs (the `GetCostDemo` operationId).
	GetCostDemo(ctx context.Context, params *GetCostDemoParams, body GetCostDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetInstrumentEligibilityDemoWithBody Check instrument trading eligibility
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Returns per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments. This configuration changes rarely for a given instrument and account, so call it once and reuse the result for the rest of the session instead of re-querying before every order.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v2/trading/info/demo/eligibility (the `GetInstrumentEligibilityDemo` operationId).
	GetInstrumentEligibilityDemoWithBody(ctx context.Context, params *GetInstrumentEligibilityDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetInstrumentEligibilityDemo Check instrument trading eligibility
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Returns per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments. This configuration changes rarely for a given instrument and account, so call it once and reuse the result for the rest of the session instead of re-querying before every order.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v2/trading/info/demo/eligibility (the `GetInstrumentEligibilityDemo` operationId).
	GetInstrumentEligibilityDemo(ctx context.Context, params *GetInstrumentEligibilityDemoParams, body GetInstrumentEligibilityDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetTradingInfoDemoPortfolioInstrumentBreakdown Get instrument breakdown (demo)
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/demo/pnl`
	// - `GET /api/v1/trading/info/demo/portfolio`
	//
	// ---
	//
	// Returns the demo portfolio grouped by instrument, including per-position data, pending orders, and PnL.
	//
	// Corresponds with GET /api/v2/trading/info/demo/instrument-breakdown (the `GetTradingInfoDemoPortfolioInstrumentBreakdown` operationId).
	GetTradingInfoDemoPortfolioInstrumentBreakdown(ctx context.Context, params *GetTradingInfoDemoPortfolioInstrumentBreakdownParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetTradingInfoDemoOrdersLookup Get order information and position details
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/demo/close-orders/{orderId}`
	// - `GET /api/v1/trading/info/demo/orders/{orderId}`
	//
	// ---
	//
	// Retrieves comprehensive information about a specific order, including the order status, execution details, and all positions that were opened or closed from this order. This endpoint is essential for tracking order execution and identifying which positions were created as a result of a specific order request. The response includes detailed position information with PositionID values that can be used to query position-specific details. Provide exactly one of orderId or referenceId.
	//
	// Corresponds with GET /api/v2/trading/info/demo/orders:lookup (the `GetTradingInfoDemoOrdersLookup` operationId).
	GetTradingInfoDemoOrdersLookup(ctx context.Context, params *GetTradingInfoDemoOrdersLookupParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetInstrumentEligibilityWithBody Check instrument trading eligibility
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Returns per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments. This configuration changes rarely for a given instrument and account, so call it once and reuse the result for the rest of the session instead of re-querying before every order.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v2/trading/info/eligibility (the `GetInstrumentEligibility` operationId).
	GetInstrumentEligibilityWithBody(ctx context.Context, params *GetInstrumentEligibilityParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetInstrumentEligibility Check instrument trading eligibility
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Returns per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments. This configuration changes rarely for a given instrument and account, so call it once and reuse the result for the rest of the session instead of re-querying before every order.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v2/trading/info/eligibility (the `GetInstrumentEligibility` operationId).
	GetInstrumentEligibility(ctx context.Context, params *GetInstrumentEligibilityParams, body GetInstrumentEligibilityJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetTradingInfoPortfolioInstrumentBreakdown Get instrument breakdown
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/portfolio`
	// - `GET /api/v1/trading/info/real/pnl`
	//
	// ---
	//
	// Returns the portfolio data grouped by instrument, including per-position data, pending orders, and PnL.
	//
	// Corresponds with GET /api/v2/trading/info/instrument-breakdown (the `GetTradingInfoPortfolioInstrumentBreakdown` operationId).
	GetTradingInfoPortfolioInstrumentBreakdown(ctx context.Context, params *GetTradingInfoPortfolioInstrumentBreakdownParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetTradingInfoOrdersLookup Get order information and position details
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/real/close-orders/{orderId}`
	// - `GET /api/v1/trading/info/real/orders/{orderId}`
	//
	// ---
	//
	// Retrieves comprehensive information about a specific order, including the order status, execution details, and all positions that were opened or closed from this order. This endpoint is essential for tracking order execution and identifying which positions were created as a result of a specific order request. The response includes detailed position information with PositionID values that can be used to query position-specific details. Provide exactly one of orderId or referenceId.
	//
	// Corresponds with GET /api/v2/trading/info/orders:lookup (the `GetTradingInfoOrdersLookup` operationId).
	GetTradingInfoOrdersLookup(ctx context.Context, params *GetTradingInfoOrdersLookupParams, reqEditors ...RequestEditorFn) (*http.Response, error)

	// UpdateRealPositionWithBody Modify stop-loss and take-profit settings on an open position
	//
	// **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.
	//
	// ---
	//
	// Submits an asynchronous request to update stop-loss and/or take-profit on an open position. You can set a new stopLossRate, takeProfitRate, stopLossType, or clear either value (clearStopLoss, clearTakeProfit). At least one SL/TP-related field is required. The response returns acceptance and correlation metadata only.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with PATCH /api/v2/trading/positions/{positionId} (the `UpdateRealPosition` operationId).
	UpdateRealPositionWithBody(ctx context.Context, positionId int64, params *UpdateRealPositionParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// UpdateRealPosition Modify stop-loss and take-profit settings on an open position
	//
	// **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.
	//
	// ---
	//
	// Submits an asynchronous request to update stop-loss and/or take-profit on an open position. You can set a new stopLossRate, takeProfitRate, stopLossType, or clear either value (clearStopLoss, clearTakeProfit). At least one SL/TP-related field is required. The response returns acceptance and correlation metadata only.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with PATCH /api/v2/trading/positions/{positionId} (the `UpdateRealPosition` operationId).
	UpdateRealPosition(ctx context.Context, positionId int64, params *UpdateRealPositionParams, body UpdateRealPositionJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetWatchlistsV2WithBody Get user watchlists (BFF V2)
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Retrieves the authenticated user's watchlists as a BFF component response (V2 facade). The request body selects the userWatchlists component and its params.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v2/watchlists (the `GetWatchlistsV2` operationId).
	GetWatchlistsV2WithBody(ctx context.Context, params *GetWatchlistsV2Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// GetWatchlistsV2 Get user watchlists (BFF V2)
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Retrieves the authenticated user's watchlists as a BFF component response (V2 facade). The request body selects the userWatchlists component and its params.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v2/watchlists (the `GetWatchlistsV2` operationId).
	GetWatchlistsV2(ctx context.Context, params *GetWatchlistsV2Params, body GetWatchlistsV2JSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateTradingExecutionDemoOrdersV3WithBody Submit an order for asynchronous processing
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/demo/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v3 create path, settlementType is mandatory for non-MIT orders and must be omitted for MIT orders. A 202 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/demo/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v3/trading/execution/demo/orders (the `CreateTradingExecutionDemoOrdersV3` operationId).
	CreateTradingExecutionDemoOrdersV3WithBody(ctx context.Context, params *CreateTradingExecutionDemoOrdersV3Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateTradingExecutionDemoOrdersV3 Submit an order for asynchronous processing
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/demo/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v3 create path, settlementType is mandatory for non-MIT orders and must be omitted for MIT orders. A 202 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/demo/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v3/trading/execution/demo/orders (the `CreateTradingExecutionDemoOrdersV3` operationId).
	CreateTradingExecutionDemoOrdersV3(ctx context.Context, params *CreateTradingExecutionDemoOrdersV3Params, body CreateTradingExecutionDemoOrdersV3JSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// DeleteTradingExecutionDemoOrdersByOrderIdV3 Request cancellation of a pending order
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/demo/orders`
	// - `POST /api/v3/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint sends a cancellation request to cancel an order before execution. An order can be cancelled if it is waiting for the market to open, or for the trigger rate to be published (MIT orders). The cancellation request may be successful, and the order is cancelled, or unsuccessful, and the order is not cancelled. This operation is idempotent when the order is already closed or cancelled. A 202 response confirms the cancellation request was accepted, not that the order was cancelled - it may already have executed. Confirm with GET /api/v2/trading/info/demo/orders:lookup: status.id 7 (Canceled) or 9 (CanceledPartiallyFilled) means the cancellation took effect, while 6 (PendingCancel) means it is still being processed.
	//
	// Corresponds with DELETE /api/v3/trading/execution/demo/orders/{orderId} (the `DeleteTradingExecutionDemoOrdersByOrderIdV3` operationId).
	DeleteTradingExecutionDemoOrdersByOrderIdV3(ctx context.Context, orderId int64, params *DeleteTradingExecutionDemoOrdersByOrderIdV3Params, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateTradingExecutionOrdersV3WithBody Submit an order for asynchronous processing
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/orders`
	//
	// ---
	//
	// This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v3 create path, settlementType is mandatory for non-MIT orders and must be omitted for MIT orders. A 202 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.
	//
	// Takes any type of body and a specified content type.
	//
	// Corresponds with POST /api/v3/trading/execution/orders (the `CreateTradingExecutionOrdersV3` operationId).
	CreateTradingExecutionOrdersV3WithBody(ctx context.Context, params *CreateTradingExecutionOrdersV3Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)

	// CreateTradingExecutionOrdersV3 Submit an order for asynchronous processing
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/orders`
	//
	// ---
	//
	// This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v3 create path, settlementType is mandatory for non-MIT orders and must be omitted for MIT orders. A 202 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.
	//
	// Takes a body of the `application/json` content type.
	//
	// Corresponds with POST /api/v3/trading/execution/orders (the `CreateTradingExecutionOrdersV3` operationId).
	CreateTradingExecutionOrdersV3(ctx context.Context, params *CreateTradingExecutionOrdersV3Params, body CreateTradingExecutionOrdersV3JSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)

	// DeleteTradingExecutionOrdersByOrderIdV3 Request cancellation of a pending order
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/orders`
	// - `POST /api/v3/trading/execution/orders`
	//
	// ---
	//
	// This endpoint sends a cancellation request to cancel an order before execution. An order can be cancelled if it is waiting for the market to open, or for the trigger rate to be published (MIT orders). The cancellation request may be successful, and the order is cancelled, or unsuccessful, and the order is not cancelled. This operation is idempotent when the order is already closed or cancelled. A 202 response confirms the cancellation request was accepted, not that the order was cancelled - it may already have executed. Confirm with GET /api/v2/trading/info/orders:lookup: status.id 7 (Canceled) or 9 (CanceledPartiallyFilled) means the cancellation took effect, while 6 (PendingCancel) means it is still being processed.
	//
	// Corresponds with DELETE /api/v3/trading/execution/orders/{orderId} (the `DeleteTradingExecutionOrdersByOrderIdV3` operationId).
	DeleteTradingExecutionOrdersByOrderIdV3(ctx context.Context, orderId int64, params *DeleteTradingExecutionOrdersByOrderIdV3Params, reqEditors ...RequestEditorFn) (*http.Response, error)
}

The interface specification for the client above.

type ClientOption

type ClientOption func(*Client) error

ClientOption allows setting custom parameters during construction

func WithBaseURL

func WithBaseURL(baseURL string) ClientOption

WithBaseURL overrides the baseURL.

func WithHTTPClient

func WithHTTPClient(doer HttpRequestDoer) ClientOption

WithHTTPClient allows overriding the default Doer, which is automatically created using http.Client. This is useful for tests.

func WithRequestEditorFn

func WithRequestEditorFn(fn RequestEditorFn) ClientOption

WithRequestEditorFn allows setting up a callback function, which will be called right before sending the request. This can be used to mutate the request.

type ClientPortfolio

type ClientPortfolio struct {
	// AccountCurrencyId Currency ID of the account (1 = USD)
	AccountCurrencyId *int `json:"accountCurrencyId,omitempty"`

	// BonusCredit Bonus credit amount in USD in the account
	BonusCredit *float32 `json:"bonusCredit,omitempty"`

	// Credit Available trading balance in USD, representing funds available for new actions
	Credit *float32 `json:"credit,omitempty"`

	// EntryOrders Entry orders awaiting execution
	EntryOrders *[]map[string]interface{} `json:"entryOrders,omitempty"`

	// ExitOrders Exit orders awaiting execution
	ExitOrders *[]map[string]interface{} `json:"exitOrders,omitempty"`

	// Mirrors Copy trading configurations and positions
	Mirrors *[]Mirror `json:"mirrors,omitempty"`

	// Orders List of pending orders
	Orders *[]Order `json:"orders,omitempty"`

	// OrdersForClose Active orders to close positions
	OrdersForClose *[]OrderForClose `json:"ordersForClose,omitempty"`

	// OrdersForCloseMultiple Active orders to close multiple positions
	OrdersForCloseMultiple *[]OrderForCloseMultiple `json:"ordersForCloseMultiple,omitempty"`

	// OrdersForOpen Active orders to open positions
	OrdersForOpen *[]OrderForOpen `json:"ordersForOpen,omitempty"`

	// Positions List of currently open trading positions
	Positions *[]TradingRealAdminApiPosition `json:"positions,omitempty"`

	// StockOrders Stock-specific pending orders
	StockOrders *[]map[string]interface{} `json:"stockOrders,omitempty"`

	// UnrealizedPnL Total unrealized profit and loss across all open positions in the portfolio
	UnrealizedPnL *float32 `json:"unrealizedPnL,omitempty"`
}

ClientPortfolio defines model for ClientPortfolio.

type ClientWithResponses

type ClientWithResponses struct {
	ClientInterface
}

ClientWithResponses builds on ClientInterface to offer response payloads

func NewClientWithResponses

func NewClientWithResponses(server string, opts ...ClientOption) (*ClientWithResponses, error)

NewClientWithResponses creates a new ClientWithResponses, which wraps Client with return type handling

func (*ClientWithResponses) CheckCopyTradingEligibilityDemoWithBodyWithResponse

func (c *ClientWithResponses) CheckCopyTradingEligibilityDemoWithBodyWithResponse(ctx context.Context, params *CheckCopyTradingEligibilityDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CheckCopyTradingEligibilityDemoResponse, error)

CheckCopyTradingEligibilityDemoWithBodyWithResponse Pre-check whether a copy registration would be allowed

**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.

---

A dry run of the register operation that changes nothing: verifies whether the authenticated account can copy the given investor with the given amount. Request body is the same as starting a new copy (POST /api/v2/trading/copy/demo). A positive verdict is a point-in-time check, not a reservation. When isSuccess is false, errorCode and errorMessage may be absent.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/copy/demo/eligibility (the `CheckCopyTradingEligibilityDemo` operationId).

func (*ClientWithResponses) CheckCopyTradingEligibilityDemoWithResponse

CheckCopyTradingEligibilityDemoWithResponse Pre-check whether a copy registration would be allowed

**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.

---

A dry run of the register operation that changes nothing: verifies whether the authenticated account can copy the given investor with the given amount. Request body is the same as starting a new copy (POST /api/v2/trading/copy/demo). A positive verdict is a point-in-time check, not a reservation. When isSuccess is false, errorCode and errorMessage may be absent.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/copy/demo/eligibility (the `CheckCopyTradingEligibilityDemo` operationId).

func (*ClientWithResponses) CheckCopyTradingEligibilityWithBodyWithResponse

func (c *ClientWithResponses) CheckCopyTradingEligibilityWithBodyWithResponse(ctx context.Context, params *CheckCopyTradingEligibilityParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CheckCopyTradingEligibilityResponse, error)

CheckCopyTradingEligibilityWithBodyWithResponse Pre-check whether a copy registration would be allowed

**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.

---

A dry run of the register operation that changes nothing: verifies whether the authenticated account can copy the given investor with the given amount. Request body is the same as starting a new copy (POST /api/v2/trading/copy). A positive verdict is a point-in-time check, not a reservation. When isSuccess is false, errorCode and errorMessage may be absent.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/copy/eligibility (the `CheckCopyTradingEligibility` operationId).

func (*ClientWithResponses) CheckCopyTradingEligibilityWithResponse

CheckCopyTradingEligibilityWithResponse Pre-check whether a copy registration would be allowed

**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.

---

A dry run of the register operation that changes nothing: verifies whether the authenticated account can copy the given investor with the given amount. Request body is the same as starting a new copy (POST /api/v2/trading/copy). A positive verdict is a point-in-time check, not a reservation. When isSuccess is false, errorCode and errorMessage may be absent.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/copy/eligibility (the `CheckCopyTradingEligibility` operationId).

func (*ClientWithResponses) CloseCopyTradingDemoWithResponse

func (c *ClientWithResponses) CloseCopyTradingDemoWithResponse(ctx context.Context, params *CloseCopyTradingDemoParams, reqEditors ...RequestEditorFn) (*CloseCopyTradingDemoResponse, error)

CloseCopyTradingDemoWithResponse Close or detach a copy relationship

**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.

---

This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. The relationship is selected by mirrorID; identity is resolved from the authenticated caller. This binding takes all fields as query parameters and rejects any request carrying a body — use POST /api/v2/trading/copy/demo/close for a JSON-body equivalent. The operation is asynchronous and the response token is an acknowledgment only: close completion is not pollable through this API.

Returns a wrapper object for the known response body format(s).

Corresponds with DELETE /api/v2/trading/copy/demo (the `CloseCopyTradingDemo` operationId).

func (*ClientWithResponses) CloseCopyTradingViaPostDemoWithBodyWithResponse

func (c *ClientWithResponses) CloseCopyTradingViaPostDemoWithBodyWithResponse(ctx context.Context, params *CloseCopyTradingViaPostDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CloseCopyTradingViaPostDemoResponse, error)

CloseCopyTradingViaPostDemoWithBodyWithResponse Close or detach a copy relationship (JSON body)

**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.

---

This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. Identical semantics to DELETE /api/v2/trading/copy/demo, with the fields carried in a JSON body instead of query parameters — provided because some HTTP clients and proxies handle DELETE requests with bodies unreliably. The response token is an acknowledgment only: close completion is not pollable through this API.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/copy/demo/close (the `CloseCopyTradingViaPostDemo` operationId).

func (*ClientWithResponses) CloseCopyTradingViaPostDemoWithResponse

CloseCopyTradingViaPostDemoWithResponse Close or detach a copy relationship (JSON body)

**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.

---

This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. Identical semantics to DELETE /api/v2/trading/copy/demo, with the fields carried in a JSON body instead of query parameters — provided because some HTTP clients and proxies handle DELETE requests with bodies unreliably. The response token is an acknowledgment only: close completion is not pollable through this API.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/copy/demo/close (the `CloseCopyTradingViaPostDemo` operationId).

func (*ClientWithResponses) CloseCopyTradingViaPostWithBodyWithResponse

func (c *ClientWithResponses) CloseCopyTradingViaPostWithBodyWithResponse(ctx context.Context, params *CloseCopyTradingViaPostParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CloseCopyTradingViaPostResponse, error)

CloseCopyTradingViaPostWithBodyWithResponse Close or detach a copy relationship (JSON body)

**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.

---

This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. Identical semantics to DELETE /api/v2/trading/copy, with the fields carried in a JSON body instead of query parameters — provided because some HTTP clients and proxies handle DELETE requests with bodies unreliably. The response token is an acknowledgment only: close completion is not pollable through this API.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/copy/close (the `CloseCopyTradingViaPost` operationId).

func (*ClientWithResponses) CloseCopyTradingViaPostWithResponse

CloseCopyTradingViaPostWithResponse Close or detach a copy relationship (JSON body)

**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.

---

This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. Identical semantics to DELETE /api/v2/trading/copy, with the fields carried in a JSON body instead of query parameters — provided because some HTTP clients and proxies handle DELETE requests with bodies unreliably. The response token is an acknowledgment only: close completion is not pollable through this API.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/copy/close (the `CloseCopyTradingViaPost` operationId).

func (*ClientWithResponses) CloseCopyTradingWithResponse

func (c *ClientWithResponses) CloseCopyTradingWithResponse(ctx context.Context, params *CloseCopyTradingParams, reqEditors ...RequestEditorFn) (*CloseCopyTradingResponse, error)

CloseCopyTradingWithResponse Close or detach a copy relationship

**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.

---

This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. The relationship is selected by mirrorID; identity is resolved from the authenticated caller. This binding takes all fields as query parameters and rejects any request carrying a body — use POST /api/v2/trading/copy/close for a JSON-body equivalent. The operation is asynchronous and the response token is an acknowledgment only: close completion is not pollable through this API.

Returns a wrapper object for the known response body format(s).

Corresponds with DELETE /api/v2/trading/copy (the `CloseCopyTrading` operationId).

func (*ClientWithResponses) CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2WithBodyWithResponse

func (c *ClientWithResponses) CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2WithBodyWithResponse(ctx context.Context, agentPortfolioId openapi_types.UUID, params *CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response, error)

CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2WithBodyWithResponse Create User Token (v2)

**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.

---

Creates a new user token for the specified agent-portfolio using scope names. Scopes are specified by name (scopeNames); scope ids are not supported in v2.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/agent-portfolios/{agentPortfolioId}/user-tokens (the `CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2` operationId).

func (*ClientWithResponses) CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2WithResponse

CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2WithResponse Create User Token (v2)

**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.

---

Creates a new user token for the specified agent-portfolio using scope names. Scopes are specified by name (scopeNames); scope ids are not supported in v2.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/agent-portfolios/{agentPortfolioId}/user-tokens (the `CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2` operationId).

func (*ClientWithResponses) CreateAgentPortfoliosV2WithBodyWithResponse

func (c *ClientWithResponses) CreateAgentPortfoliosV2WithBodyWithResponse(ctx context.Context, params *CreateAgentPortfoliosV2Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateAgentPortfoliosV2Response, error)

CreateAgentPortfoliosV2WithBodyWithResponse Create Agent Portfolio (v2)

**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.

---

Creates a new agent-portfolio using scope names. Scopes are specified by name (scopeNames); scope ids are not supported in v2. IMPORTANT: investmentAmountInUsd is the amount deducted from YOUR (the caller's) account balance to copy-trade this agent-portfolio — it is NOT the agent-portfolio's own balance. Positions are mirrored proportionally: e.g. if you invest $2,000 and agentPortfolioVirtualBalance is $10,000, each position is copied at 20% of its size into your account.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/agent-portfolios (the `CreateAgentPortfoliosV2` operationId).

func (*ClientWithResponses) CreateAgentPortfoliosV2WithResponse

CreateAgentPortfoliosV2WithResponse Create Agent Portfolio (v2)

**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.

---

Creates a new agent-portfolio using scope names. Scopes are specified by name (scopeNames); scope ids are not supported in v2. IMPORTANT: investmentAmountInUsd is the amount deducted from YOUR (the caller's) account balance to copy-trade this agent-portfolio — it is NOT the agent-portfolio's own balance. Positions are mirrored proportionally: e.g. if you invest $2,000 and agentPortfolioVirtualBalance is $10,000, each position is copied at 20% of its size into your account.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/agent-portfolios (the `CreateAgentPortfoliosV2` operationId).

func (*ClientWithResponses) CreateApplicationsWithBodyWithResponse

func (c *ClientWithResponses) CreateApplicationsWithBodyWithResponse(ctx context.Context, params *CreateApplicationsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateApplicationsResponse, error)

CreateApplicationsWithBodyWithResponse Register OAuth application

**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.

---

Creates a new OAuth application. The authenticated user automatically becomes the application admin. Both `clientId` and `clientSecret` are auto-generated server-side. The `clientSecret` is returned **only in this response** (one-time reveal) - subsequent reads will never expose it again, so callers must store it securely. Auto-populated defaults (audience, applicationType, supported flows, token expirations) come from service configuration. Validation: `applicationName` max 100 chars, `applicationIconUrl` max 500 chars, each `redirectUri` max 500 chars and unique, each `scopeId` positive and recognized in the scope catalog.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/sso/applications (the `CreateApplications` operationId).

func (*ClientWithResponses) CreateApplicationsWithResponse

CreateApplicationsWithResponse Register OAuth application

**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.

---

Creates a new OAuth application. The authenticated user automatically becomes the application admin. Both `clientId` and `clientSecret` are auto-generated server-side. The `clientSecret` is returned **only in this response** (one-time reveal) - subsequent reads will never expose it again, so callers must store it securely. Auto-populated defaults (audience, applicationType, supported flows, token expirations) come from service configuration. Validation: `applicationName` max 100 chars, `applicationIconUrl` max 500 chars, each `redirectUri` max 500 chars and unique, each `scopeId` positive and recognized in the scope catalog.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/sso/applications (the `CreateApplications` operationId).

func (*ClientWithResponses) CreateMySubAccountWithBodyWithResponse

func (c *ClientWithResponses) CreateMySubAccountWithBodyWithResponse(ctx context.Context, params *CreateMySubAccountParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateMySubAccountResponse, error)

CreateMySubAccountWithBodyWithResponse Create My Sub-Account

**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.

---

Creates a sub-account for the authenticated user with the given provider. Currently the supported provider is `etoro-trading` (creates an etoro trading sub-account); additional sub-account providers will be added over time. For `etoro-trading`, `additionalParams.username` is required.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/sub-accounts/me/accounts (the `CreateMySubAccount` operationId).

func (*ClientWithResponses) CreateMySubAccountWithResponse

CreateMySubAccountWithResponse Create My Sub-Account

**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.

---

Creates a sub-account for the authenticated user with the given provider. Currently the supported provider is `etoro-trading` (creates an etoro trading sub-account); additional sub-account providers will be added over time. For `etoro-trading`, `additionalParams.username` is required.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/sub-accounts/me/accounts (the `CreateMySubAccount` operationId).

func (*ClientWithResponses) CreateSubAccountMoneyTransferWithBodyWithResponse

func (c *ClientWithResponses) CreateSubAccountMoneyTransferWithBodyWithResponse(ctx context.Context, params *CreateSubAccountMoneyTransferParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateSubAccountMoneyTransferResponse, error)

CreateSubAccountMoneyTransferWithBodyWithResponse Create Sub-Account Money Transfer

**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.

---

Executes a money transfer between the authenticated caller and the sub-account identified by the x-sub-account-id header. The amount must be positive with up to two decimal places. Direction ToSubAccount moves funds from the caller to the sub-account; FromSubAccount moves funds from the sub-account back to the caller.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/sub-accounts/etoro-trading/money-transfers (the `CreateSubAccountMoneyTransfer` operationId).

func (*ClientWithResponses) CreateSubAccountMoneyTransferWithResponse

CreateSubAccountMoneyTransferWithResponse Create Sub-Account Money Transfer

**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.

---

Executes a money transfer between the authenticated caller and the sub-account identified by the x-sub-account-id header. The amount must be positive with up to two decimal places. Direction ToSubAccount moves funds from the caller to the sub-account; FromSubAccount moves funds from the sub-account back to the caller.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/sub-accounts/etoro-trading/money-transfers (the `CreateSubAccountMoneyTransfer` operationId).

func (*ClientWithResponses) CreateSubAccountUserTokenWithBodyWithResponse

func (c *ClientWithResponses) CreateSubAccountUserTokenWithBodyWithResponse(ctx context.Context, params *CreateSubAccountUserTokenParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateSubAccountUserTokenResponse, error)

CreateSubAccountUserTokenWithBodyWithResponse Create Sub-Account 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.

---

Generates a non-interactive user token for the sub-account identified by the x-sub-account-id header. The secret token value is returned only once, in this response.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/sub-accounts/etoro-trading/user-tokens (the `CreateSubAccountUserToken` operationId).

func (*ClientWithResponses) CreateSubAccountUserTokenWithResponse

CreateSubAccountUserTokenWithResponse Create Sub-Account 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.

---

Generates a non-interactive user token for the sub-account identified by the x-sub-account-id header. The secret token value is returned only once, in this response.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/sub-accounts/etoro-trading/user-tokens (the `CreateSubAccountUserToken` operationId).

func (*ClientWithResponses) CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdWithBodyWithResponse

func (c *ClientWithResponses) CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdWithBodyWithResponse(ctx context.Context, positionId int64, params *CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse, error)

CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdWithBodyWithResponse Close demo position by units

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/demo/orders/{orderId}` - `DELETE /api/v3/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v2/trading/execution/demo/orders` - `POST /api/v3/trading/execution/demo/orders`

---

This endpoint allows traders to close an entire position or a portion of it at the current market rate. If `UnitsToDeduct` is provided, only the specified portion will be closed. If `UnitsToDeduct` is omitted or set to null, the full position will be closed. A 200 response means the close order was submitted, not that the position was closed. Confirm the outcome with GET /api/v1/trading/info/demo/close-orders/{orderId}, using the orderID returned under orderForClose.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId} (the `CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId` operationId).

func (*ClientWithResponses) CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdWithResponse

CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdWithResponse Close demo position by units

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/demo/orders/{orderId}` - `DELETE /api/v3/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v2/trading/execution/demo/orders` - `POST /api/v3/trading/execution/demo/orders`

---

This endpoint allows traders to close an entire position or a portion of it at the current market rate. If `UnitsToDeduct` is provided, only the specified portion will be closed. If `UnitsToDeduct` is omitted or set to null, the full position will be closed. A 200 response means the close order was submitted, not that the position was closed. Confirm the outcome with GET /api/v1/trading/info/demo/close-orders/{orderId}, using the orderID returned under orderForClose.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId} (the `CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId` operationId).

func (*ClientWithResponses) CreateTradingExecutionDemoOrdersV3WithBodyWithResponse

func (c *ClientWithResponses) CreateTradingExecutionDemoOrdersV3WithBodyWithResponse(ctx context.Context, params *CreateTradingExecutionDemoOrdersV3Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTradingExecutionDemoOrdersV3Response, error)

CreateTradingExecutionDemoOrdersV3WithBodyWithResponse Submit an order for asynchronous processing

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/demo/orders/{orderId}` - `DELETE /api/v3/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v2/trading/execution/demo/orders`

---

This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v3 create path, settlementType is mandatory for non-MIT orders and must be omitted for MIT orders. A 202 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/demo/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v3/trading/execution/demo/orders (the `CreateTradingExecutionDemoOrdersV3` operationId).

func (*ClientWithResponses) CreateTradingExecutionDemoOrdersV3WithResponse

CreateTradingExecutionDemoOrdersV3WithResponse Submit an order for asynchronous processing

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/demo/orders/{orderId}` - `DELETE /api/v3/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v2/trading/execution/demo/orders`

---

This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v3 create path, settlementType is mandatory for non-MIT orders and must be omitted for MIT orders. A 202 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/demo/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v3/trading/execution/demo/orders (the `CreateTradingExecutionDemoOrdersV3` operationId).

func (*ClientWithResponses) CreateTradingExecutionDemoOrdersWithBodyWithResponse

func (c *ClientWithResponses) CreateTradingExecutionDemoOrdersWithBodyWithResponse(ctx context.Context, params *CreateTradingExecutionDemoOrdersParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTradingExecutionDemoOrdersResponse, error)

CreateTradingExecutionDemoOrdersWithBodyWithResponse Create an order

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/demo/orders/{orderId}` - `DELETE /api/v3/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v3/trading/execution/demo/orders`

---

This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v2 create path, settlementType remains optional (stricter settlementType rules apply only on v3). A 200 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/demo/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/execution/demo/orders (the `CreateTradingExecutionDemoOrders` operationId).

func (*ClientWithResponses) CreateTradingExecutionDemoOrdersWithResponse

CreateTradingExecutionDemoOrdersWithResponse Create an order

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/demo/orders/{orderId}` - `DELETE /api/v3/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v3/trading/execution/demo/orders`

---

This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v2 create path, settlementType remains optional (stricter settlementType rules apply only on v3). A 200 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/demo/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/execution/demo/orders (the `CreateTradingExecutionDemoOrders` operationId).

func (*ClientWithResponses) CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdWithBodyWithResponse

func (c *ClientWithResponses) CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdWithBodyWithResponse(ctx context.Context, positionId int64, params *CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse, error)

CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdWithBodyWithResponse Close position by units

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/orders/{orderId}` - `DELETE /api/v3/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v2/trading/execution/orders` - `POST /api/v3/trading/execution/orders`

---

This endpoint allows traders to close an entire position or a portion of it at the current market rate. If `UnitsToDeduct` is provided, only the specified portion will be closed. If `UnitsToDeduct` is omitted or set to null, the full position will be closed. A 200 response means the close order was submitted, not that the position was closed. Confirm the outcome with GET /api/v1/trading/info/real/close-orders/{orderId}, using the orderID returned under orderForClose.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/trading/execution/market-close-orders/positions/{positionId} (the `CreateTradingExecutionMarketCloseOrdersPositionsByPositionId` operationId).

func (*ClientWithResponses) CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdWithResponse

CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdWithResponse Close position by units

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/orders/{orderId}` - `DELETE /api/v3/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v2/trading/execution/orders` - `POST /api/v3/trading/execution/orders`

---

This endpoint allows traders to close an entire position or a portion of it at the current market rate. If `UnitsToDeduct` is provided, only the specified portion will be closed. If `UnitsToDeduct` is omitted or set to null, the full position will be closed. A 200 response means the close order was submitted, not that the position was closed. Confirm the outcome with GET /api/v1/trading/info/real/close-orders/{orderId}, using the orderID returned under orderForClose.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/trading/execution/market-close-orders/positions/{positionId} (the `CreateTradingExecutionMarketCloseOrdersPositionsByPositionId` operationId).

func (*ClientWithResponses) CreateTradingExecutionOrdersV3WithBodyWithResponse

func (c *ClientWithResponses) CreateTradingExecutionOrdersV3WithBodyWithResponse(ctx context.Context, params *CreateTradingExecutionOrdersV3Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTradingExecutionOrdersV3Response, error)

CreateTradingExecutionOrdersV3WithBodyWithResponse Submit an order for asynchronous processing

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/orders/{orderId}` - `DELETE /api/v3/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v2/trading/execution/orders`

---

This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v3 create path, settlementType is mandatory for non-MIT orders and must be omitted for MIT orders. A 202 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v3/trading/execution/orders (the `CreateTradingExecutionOrdersV3` operationId).

func (*ClientWithResponses) CreateTradingExecutionOrdersV3WithResponse

CreateTradingExecutionOrdersV3WithResponse Submit an order for asynchronous processing

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/orders/{orderId}` - `DELETE /api/v3/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v2/trading/execution/orders`

---

This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v3 create path, settlementType is mandatory for non-MIT orders and must be omitted for MIT orders. A 202 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v3/trading/execution/orders (the `CreateTradingExecutionOrdersV3` operationId).

func (*ClientWithResponses) CreateTradingExecutionOrdersWithBodyWithResponse

func (c *ClientWithResponses) CreateTradingExecutionOrdersWithBodyWithResponse(ctx context.Context, params *CreateTradingExecutionOrdersParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTradingExecutionOrdersResponse, error)

CreateTradingExecutionOrdersWithBodyWithResponse Create an order

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/orders/{orderId}` - `DELETE /api/v3/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v3/trading/execution/orders`

---

This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v2 create path, settlementType remains optional (stricter settlementType rules apply only on v3). A 200 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/execution/orders (the `CreateTradingExecutionOrders` operationId).

func (*ClientWithResponses) CreateTradingExecutionOrdersWithResponse

CreateTradingExecutionOrdersWithResponse Create an order

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/orders/{orderId}` - `DELETE /api/v3/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v3/trading/execution/orders`

---

This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v2 create path, settlementType remains optional (stricter settlementType rules apply only on v3). A 200 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/execution/orders (the `CreateTradingExecutionOrders` operationId).

func (*ClientWithResponses) DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdWithResponse

func (c *ClientWithResponses) DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdWithResponse(ctx context.Context, agentPortfolioId openapi_types.UUID, userTokenId openapi_types.UUID, params *DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdParams, reqEditors ...RequestEditorFn) (*DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse, error)

DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdWithResponse Delete 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.

---

Permanently revokes the specified user token from a agent-portfolio.

Returns a wrapper object for the known response body format(s).

Corresponds with DELETE /api/v1/agent-portfolios/{agentPortfolioId}/user-tokens/{userTokenId} (the `DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenId` operationId).

func (*ClientWithResponses) DeleteAgentPortfoliosByAgentPortfolioIdWithResponse

func (c *ClientWithResponses) DeleteAgentPortfoliosByAgentPortfolioIdWithResponse(ctx context.Context, agentPortfolioId openapi_types.UUID, params *DeleteAgentPortfoliosByAgentPortfolioIdParams, reqEditors ...RequestEditorFn) (*DeleteAgentPortfoliosByAgentPortfolioIdResponse, error)

DeleteAgentPortfoliosByAgentPortfolioIdWithResponse Delete Agent Portfolio

**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.

---

Permanently removes a agent-portfolio by revoking all user tokens, stopping the copy mirror, and deleting from storage.

Returns a wrapper object for the known response body format(s).

Corresponds with DELETE /api/v1/agent-portfolios/{agentPortfolioId} (the `DeleteAgentPortfoliosByAgentPortfolioId` operationId).

func (*ClientWithResponses) DeleteApplicationsByClientIdWithResponse

func (c *ClientWithResponses) DeleteApplicationsByClientIdWithResponse(ctx context.Context, clientId openapi_types.UUID, params *DeleteApplicationsByClientIdParams, reqEditors ...RequestEditorFn) (*DeleteApplicationsByClientIdResponse, error)

DeleteApplicationsByClientIdWithResponse Delete OAuth application

**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.

---

Permanently deletes an OAuth application. Only the application's admin can delete it. Non-admins receive `404 Not Found` (opaque authorization). The application stops appearing in `GET /api/v1/sso/applications` within a few seconds.

Returns a wrapper object for the known response body format(s).

Corresponds with DELETE /api/v1/sso/applications/{clientId} (the `DeleteApplicationsByClientId` operationId).

func (*ClientWithResponses) DeletePriceAlertsByAlertIdWithResponse

func (c *ClientWithResponses) DeletePriceAlertsByAlertIdWithResponse(ctx context.Context, alertId openapi_types.UUID, params *DeletePriceAlertsByAlertIdParams, reqEditors ...RequestEditorFn) (*DeletePriceAlertsByAlertIdResponse, error)

DeletePriceAlertsByAlertIdWithResponse Delete a price alert

**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.

---

Permanently deletes a price alert owned by the authenticated user.

Returns a wrapper object for the known response body format(s).

Corresponds with DELETE /api/v1/price-alerts/{alertId} (the `DeletePriceAlertsByAlertId` operationId).

func (*ClientWithResponses) DeleteSubAccountUserTokenWithResponse

func (c *ClientWithResponses) DeleteSubAccountUserTokenWithResponse(ctx context.Context, userTokenId openapi_types.UUID, params *DeleteSubAccountUserTokenParams, reqEditors ...RequestEditorFn) (*DeleteSubAccountUserTokenResponse, error)

DeleteSubAccountUserTokenWithResponse Revoke Sub-Account 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.

---

Revokes a sub-account user token. Revocation is idempotent, so revoking a token that does not exist also succeeds.

Returns a wrapper object for the known response body format(s).

Corresponds with DELETE /api/v1/sub-accounts/etoro-trading/user-tokens/{userTokenId} (the `DeleteSubAccountUserToken` operationId).

func (*ClientWithResponses) DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdWithResponse

func (c *ClientWithResponses) DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdWithResponse(ctx context.Context, orderId int64, params *DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse, error)

DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdWithResponse Cancel pending demo close order

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/demo/orders/{orderId}` - `DELETE /api/v3/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v2/trading/execution/demo/orders` - `POST /api/v3/trading/execution/demo/orders`

---

This endpoint allows traders to cancel a previously placed market order for close before execution. If the order has already been processed, cancellation will not be possible. A 200 response confirms the cancellation request was received, not that the order was cancelled. Confirm with GET /api/v1/trading/info/demo/close-orders/{orderId}, using the orderId of the close order you tried to cancel. If the DELETE response is lost (timeout or network error), do not resend the cancel - poll that GET endpoint with the same orderId. Units reported as executed in its positions[] array were closed before the cancel took effect; the remainder was not closed. No executed entries in positions[] means nothing was closed. Poll until statusID is terminal: 7 (CANCELED) = cancelled with nothing executed, 9 (CANCELED_PARTIALLY_FILLED) = cancelled after a partial fill (executed units in positions[]), 3 (FILLED) = fully executed before the cancel; 1, 2, 5, 6 and 11 are still pending.

Returns a wrapper object for the known response body format(s).

Corresponds with DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId} (the `DeleteTradingExecutionDemoMarketCloseOrdersByOrderId` operationId).

func (*ClientWithResponses) DeleteTradingExecutionDemoOrdersByOrderIdV3WithResponse

func (c *ClientWithResponses) DeleteTradingExecutionDemoOrdersByOrderIdV3WithResponse(ctx context.Context, orderId int64, params *DeleteTradingExecutionDemoOrdersByOrderIdV3Params, reqEditors ...RequestEditorFn) (*DeleteTradingExecutionDemoOrdersByOrderIdV3Response, error)

DeleteTradingExecutionDemoOrdersByOrderIdV3WithResponse Request cancellation of a pending order

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v2/trading/execution/demo/orders` - `POST /api/v3/trading/execution/demo/orders`

---

This endpoint sends a cancellation request to cancel an order before execution. An order can be cancelled if it is waiting for the market to open, or for the trigger rate to be published (MIT orders). The cancellation request may be successful, and the order is cancelled, or unsuccessful, and the order is not cancelled. This operation is idempotent when the order is already closed or cancelled. A 202 response confirms the cancellation request was accepted, not that the order was cancelled - it may already have executed. Confirm with GET /api/v2/trading/info/demo/orders:lookup: status.id 7 (Canceled) or 9 (CanceledPartiallyFilled) means the cancellation took effect, while 6 (PendingCancel) means it is still being processed.

Returns a wrapper object for the known response body format(s).

Corresponds with DELETE /api/v3/trading/execution/demo/orders/{orderId} (the `DeleteTradingExecutionDemoOrdersByOrderIdV3` operationId).

func (*ClientWithResponses) DeleteTradingExecutionDemoOrdersByOrderIdWithResponse

func (c *ClientWithResponses) DeleteTradingExecutionDemoOrdersByOrderIdWithResponse(ctx context.Context, orderId int64, params *DeleteTradingExecutionDemoOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*DeleteTradingExecutionDemoOrdersByOrderIdResponse, error)

DeleteTradingExecutionDemoOrdersByOrderIdWithResponse Cancels an order before it is executed

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}` - `DELETE /api/v3/trading/execution/demo/orders/{orderId}` - `POST /api/v1/trading/execution/demo/limit-orders` - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount` - `POST /api/v1/trading/execution/demo/market-open-orders/by-units` - `POST /api/v2/trading/execution/demo/orders` - `POST /api/v3/trading/execution/demo/orders`

---

This endpoint sends a cancellation request to cancel an order before execution. An order can be cancelled if it is waiting for the market to open, or for the trigger rate to be published (MIT orders). The cancellation request may be successful, and the order is cancelled, or unsuccessful, and the order is not cancelled. This operation is idempotent when the order is already closed or cancelled. A 200 response confirms the cancellation request was accepted, not that the order was cancelled - it may already have executed. Confirm with GET /api/v2/trading/info/demo/orders:lookup: status.id 7 (Canceled) or 9 (CanceledPartiallyFilled) means the cancellation took effect, while 6 (PendingCancel) means it is still being processed.

Returns a wrapper object for the known response body format(s).

Corresponds with DELETE /api/v2/trading/execution/demo/orders/{orderId} (the `DeleteTradingExecutionDemoOrdersByOrderId` operationId).

func (*ClientWithResponses) DeleteTradingExecutionMarketCloseOrdersByOrderIdWithResponse

func (c *ClientWithResponses) DeleteTradingExecutionMarketCloseOrdersByOrderIdWithResponse(ctx context.Context, orderId int64, params *DeleteTradingExecutionMarketCloseOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse, error)

DeleteTradingExecutionMarketCloseOrdersByOrderIdWithResponse Cancel pending close order

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/orders/{orderId}` - `DELETE /api/v3/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v2/trading/execution/orders` - `POST /api/v3/trading/execution/orders`

---

This endpoint allows traders to cancel a previously placed market order for close before execution. If the order has already been processed, cancellation will not be possible. A 200 response confirms the cancellation request was received, not that the order was cancelled. Confirm with GET /api/v1/trading/info/real/close-orders/{orderId}, using the orderId of the close order you tried to cancel. If the DELETE response is lost (timeout or network error), do not resend the cancel - poll that GET endpoint with the same orderId. Units reported as executed in its positions[] array were closed before the cancel took effect; the remainder was not closed. No executed entries in positions[] means nothing was closed. Poll until statusID is terminal: 7 (CANCELED) = cancelled with nothing executed, 9 (CANCELED_PARTIALLY_FILLED) = cancelled after a partial fill (executed units in positions[]), 3 (FILLED) = fully executed before the cancel; 1, 2, 5, 6 and 11 are still pending.

Returns a wrapper object for the known response body format(s).

Corresponds with DELETE /api/v1/trading/execution/market-close-orders/{orderId} (the `DeleteTradingExecutionMarketCloseOrdersByOrderId` operationId).

func (*ClientWithResponses) DeleteTradingExecutionOrdersByOrderIdV3WithResponse

func (c *ClientWithResponses) DeleteTradingExecutionOrdersByOrderIdV3WithResponse(ctx context.Context, orderId int64, params *DeleteTradingExecutionOrdersByOrderIdV3Params, reqEditors ...RequestEditorFn) (*DeleteTradingExecutionOrdersByOrderIdV3Response, error)

DeleteTradingExecutionOrdersByOrderIdV3WithResponse Request cancellation of a pending order

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v2/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v2/trading/execution/orders` - `POST /api/v3/trading/execution/orders`

---

This endpoint sends a cancellation request to cancel an order before execution. An order can be cancelled if it is waiting for the market to open, or for the trigger rate to be published (MIT orders). The cancellation request may be successful, and the order is cancelled, or unsuccessful, and the order is not cancelled. This operation is idempotent when the order is already closed or cancelled. A 202 response confirms the cancellation request was accepted, not that the order was cancelled - it may already have executed. Confirm with GET /api/v2/trading/info/orders:lookup: status.id 7 (Canceled) or 9 (CanceledPartiallyFilled) means the cancellation took effect, while 6 (PendingCancel) means it is still being processed.

Returns a wrapper object for the known response body format(s).

Corresponds with DELETE /api/v3/trading/execution/orders/{orderId} (the `DeleteTradingExecutionOrdersByOrderIdV3` operationId).

func (*ClientWithResponses) DeleteTradingExecutionOrdersByOrderIdWithResponse

func (c *ClientWithResponses) DeleteTradingExecutionOrdersByOrderIdWithResponse(ctx context.Context, orderId int64, params *DeleteTradingExecutionOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*DeleteTradingExecutionOrdersByOrderIdResponse, error)

DeleteTradingExecutionOrdersByOrderIdWithResponse Cancels an order before it is executed

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/trading/execution/limit-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}` - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}` - `DELETE /api/v3/trading/execution/orders/{orderId}` - `POST /api/v1/trading/execution/limit-orders` - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}` - `POST /api/v1/trading/execution/market-open-orders/by-amount` - `POST /api/v1/trading/execution/market-open-orders/by-units` - `POST /api/v2/trading/execution/orders` - `POST /api/v3/trading/execution/orders`

---

This endpoint sends a cancellation request to cancel an order before execution. An order can be cancelled if it is waiting for the market to open, or for the trigger rate to be published (MIT orders). The cancellation request may be successful, and the order is cancelled, or unsuccessful, and the order is not cancelled. This operation is idempotent when the order is already closed or cancelled. A 200 response confirms the cancellation request was accepted, not that the order was cancelled - it may already have executed. Confirm with GET /api/v2/trading/info/orders:lookup: status.id 7 (Canceled) or 9 (CanceledPartiallyFilled) means the cancellation took effect, while 6 (PendingCancel) means it is still being processed.

Returns a wrapper object for the known response body format(s).

Corresponds with DELETE /api/v2/trading/execution/orders/{orderId} (the `DeleteTradingExecutionOrdersByOrderId` operationId).

func (*ClientWithResponses) DeleteWatchlistsByWatchlistIdItemsWithBodyWithResponse

func (c *ClientWithResponses) DeleteWatchlistsByWatchlistIdItemsWithBodyWithResponse(ctx context.Context, watchlistId string, params *DeleteWatchlistsByWatchlistIdItemsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*DeleteWatchlistsByWatchlistIdItemsResponse, error)

DeleteWatchlistsByWatchlistIdItemsWithBodyWithResponse Remove items from watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Removes specified items from a watchlist.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with DELETE /api/v1/watchlists/{watchlistId}/items (the `DeleteWatchlistsByWatchlistIdItems` operationId).

func (*ClientWithResponses) DeleteWatchlistsByWatchlistIdItemsWithResponse

DeleteWatchlistsByWatchlistIdItemsWithResponse Remove items from watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Removes specified items from a watchlist.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with DELETE /api/v1/watchlists/{watchlistId}/items (the `DeleteWatchlistsByWatchlistIdItems` operationId).

func (*ClientWithResponses) DeleteWatchlistsByWatchlistIdWithResponse

func (c *ClientWithResponses) DeleteWatchlistsByWatchlistIdWithResponse(ctx context.Context, watchlistId string, params *DeleteWatchlistsByWatchlistIdParams, reqEditors ...RequestEditorFn) (*DeleteWatchlistsByWatchlistIdResponse, error)

DeleteWatchlistsByWatchlistIdWithResponse Delete watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Removes a watchlist and all its items.

Returns a wrapper object for the known response body format(s).

Corresponds with DELETE /api/v1/watchlists/{watchlistId} (the `DeleteWatchlistsByWatchlistId` operationId).

func (*ClientWithResponses) GetAgentPortfoliosScopesWithResponse

func (c *ClientWithResponses) GetAgentPortfoliosScopesWithResponse(ctx context.Context, params *GetAgentPortfoliosScopesParams, reqEditors ...RequestEditorFn) (*GetAgentPortfoliosScopesResponse, error)

GetAgentPortfoliosScopesWithResponse Get Allowed Scopes (v2)

**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.

---

Returns the permission scope names that may be assigned to agent-portfolio user tokens.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/agent-portfolios/user-tokens/scopes (the `GetAgentPortfoliosScopes` operationId).

func (*ClientWithResponses) GetAgentPortfoliosWithResponse

func (c *ClientWithResponses) GetAgentPortfoliosWithResponse(ctx context.Context, params *GetAgentPortfoliosParams, reqEditors ...RequestEditorFn) (*GetAgentPortfoliosResponse2, error)

GetAgentPortfoliosWithResponse Get Agent Portfolios

**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.

---

Retrieves all agent-portfolios belonging to the authenticated user.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/agent-portfolios (the `GetAgentPortfolios` operationId).

func (*ClientWithResponses) GetAggregatedPortfolioDemoWithResponse

func (c *ClientWithResponses) GetAggregatedPortfolioDemoWithResponse(ctx context.Context, params *GetAggregatedPortfolioDemoParams, reqEditors ...RequestEditorFn) (*GetAggregatedPortfolioDemoResponse, error)

GetAggregatedPortfolioDemoWithResponse Get aggregated portfolio snapshot

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `POST /api/v1/trading/info/demo/aggregate-portfolio`

---

Returns a complete snapshot of the authenticated user's demo account investment portfolio, organized by asset. The response includes account-level balances and equity, individually held positions grouped by asset, and any copy-trading relationships the user has active. Use the instrumentIds filter to scope results to a specific set of assets, or mirrorIds to isolate specific copy-trading relationships. Account totals always reflect the full portfolio regardless of filters applied.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/trading/info/demo/aggregate-portfolio (the `GetAggregatedPortfolioDemo` operationId).

func (*ClientWithResponses) GetAggregatedPortfolioWithResponse

func (c *ClientWithResponses) GetAggregatedPortfolioWithResponse(ctx context.Context, params *GetAggregatedPortfolioParams, reqEditors ...RequestEditorFn) (*GetAggregatedPortfolioResponse, error)

GetAggregatedPortfolioWithResponse Get aggregated portfolio snapshot

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `POST /api/v1/trading/info/aggregate-portfolio`

---

Returns a complete snapshot of the authenticated user's investment portfolio, organized by asset. The response includes account-level balances and equity, individually held positions grouped by asset, and any copy-trading relationships the user has active. Use the instrumentIds filter to scope results to a specific set of assets, or mirrorIds to isolate specific copy-trading relationships. Account totals always reflect the full portfolio regardless of filters applied.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/trading/info/aggregate-portfolio (the `GetAggregatedPortfolio` operationId).

func (*ClientWithResponses) GetApplicationsWithResponse

func (c *ClientWithResponses) GetApplicationsWithResponse(ctx context.Context, params *GetApplicationsParams, reqEditors ...RequestEditorFn) (*GetApplicationsResponse2, error)

GetApplicationsWithResponse List my OAuth applications

**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.

---

Returns every OAuth application where the authenticated user (matched by GCID) is listed as an administrator. The `clientSecret` is never included in this response - it is revealed only when the application is created, or when it is replaced via `POST /api/v1/sso/applications/{clientId}/client-secret`.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/sso/applications (the `GetApplications` operationId).

func (*ClientWithResponses) GetAssetsHistoryWithResponse

func (c *ClientWithResponses) GetAssetsHistoryWithResponse(ctx context.Context, username string, params *GetAssetsHistoryParams, reqEditors ...RequestEditorFn) (*GetAssetsHistoryResponse, error)

GetAssetsHistoryWithResponse Get asset allocation history

**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.

---

Returns a daily asset-allocation breakdown for a publicly visible portfolio. Data is only available for investors who have not opted out — opted-out portfolios return 403 for third-party callers. Callers must authenticate with their own token. Use period OR minDate+maxDate (mutually exclusive). All ratio fields use decimal fraction format: 0.5 = 50%.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/portfolios/{username}/assets/history (the `GetAssetsHistory` operationId).

func (*ClientWithResponses) GetBalanceByAccountWithResponse

func (c *ClientWithResponses) GetBalanceByAccountWithResponse(ctx context.Context, accountType AccountTypePathParam, accountId string, params *GetBalanceByAccountParams, reqEditors ...RequestEditorFn) (*GetBalanceByAccountResponse, error)

GetBalanceByAccountWithResponse Get balance for a specific account

**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.

---

Returns the balance for a specific account identified by type and account ID for the authenticated user. Zero-balance accounts are always returned by this endpoint, so a 404 means the account does not exist rather than that its balance is zero.

Important: totalBalance and displayBalance are portfolio value, not spendable cash. For Trading, Options, MoneyFarm, Spaceship and Plaee they represent total account value including invested positions; for Crypto, the fiat value of holdings. Only for Cash accounts do they equal available cash. Do not use them to decide whether a trade or withdrawal is affordable — request expand=equityDetails and read equityDetails.available (Trading, Options, MoneyFarm, Cash, Plaee) or equityDetails.spendableBalanceInFiat (Crypto). Spaceship accounts expose no spendable figure. Note that equityDetails amounts are denominated in each account's own native currency, not in displayCurrency, so they must be converted before being compared with displayBalance or totalBalance.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/balances/{accountType}/{accountId} (the `GetBalanceByAccount` operationId).

func (*ClientWithResponses) GetBalancesByAccountTypeWithResponse

func (c *ClientWithResponses) GetBalancesByAccountTypeWithResponse(ctx context.Context, accountType AccountTypePathParam, params *GetBalancesByAccountTypeParams, reqEditors ...RequestEditorFn) (*GetBalancesByAccountTypeResponse, error)

GetBalancesByAccountTypeWithResponse Get balances by account type

**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.

---

Returns balances for a specific account type for the authenticated user. Optionally filter by account IDs.

Important: totalBalance and displayBalance are portfolio value, not spendable cash. For Trading, Options, MoneyFarm, Spaceship and Plaee they represent total account value including invested positions; for Crypto, the fiat value of holdings. Only for Cash accounts do they equal available cash. Do not use them to decide whether a trade or withdrawal is affordable — request expand=equityDetails and read equityDetails.available (Trading, Options, MoneyFarm, Cash, Plaee) or equityDetails.spendableBalanceInFiat (Crypto). Spaceship accounts expose no spendable figure. Note that equityDetails amounts are denominated in each account's own native currency, not in displayCurrency, so they must be converted before being compared with displayBalance or totalBalance.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/balances/{accountType} (the `GetBalancesByAccountType` operationId).

func (*ClientWithResponses) GetBalancesWithResponse

func (c *ClientWithResponses) GetBalancesWithResponse(ctx context.Context, params *GetBalancesParams, reqEditors ...RequestEditorFn) (*GetBalancesResponse2, error)

GetBalancesWithResponse Get aggregated balances

**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.

---

Returns aggregated balances across all account types for the authenticated user. Optionally filter by account type or specify the display currency for totals.

Important: totalBalance and displayBalance are portfolio value, not spendable cash. For Trading, Options, MoneyFarm, Spaceship and Plaee they represent total account value including invested positions; for Crypto, the fiat value of holdings. Only for Cash accounts do they equal available cash. Do not use them to decide whether a trade or withdrawal is affordable — request expand=equityDetails and read equityDetails.available (Trading, Options, MoneyFarm, Cash, Plaee) or equityDetails.spendableBalanceInFiat (Crypto). Spaceship accounts expose no spendable figure. Note that equityDetails amounts are denominated in each account's own native currency, not in displayCurrency, so they must be converted before being compared with displayBalance or totalBalance.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/balances (the `GetBalances` operationId).

func (*ClientWithResponses) GetClosedPositionEventsHistoryWithResponse

func (c *ClientWithResponses) GetClosedPositionEventsHistoryWithResponse(ctx context.Context, params *GetClosedPositionEventsHistoryParams, reqEditors ...RequestEditorFn) (*GetClosedPositionEventsHistoryResponse, error)

GetClosedPositionEventsHistoryWithResponse Get the caller's closed position event history counts

**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.

---

Returns the calling customer's historical count of closed position events, broken down by close year and asset type, one entry per (closeYear, assetType) combination sorted ascending by year then asset type. This is user-scoped: the caller is identified by their own gateway-issued GCID, not a path or query parameter, so it always answers for 'me'. Results are returned under `results` with a `pagination` block; a customer with no closed-position history returns 200 with an empty `results` array, not 404 - there is no distinguishable 'not found' state for this endpoint.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/data/positions/closed-events/history (the `GetClosedPositionEventsHistory` operationId).

func (*ClientWithResponses) GetClubsWithResponse

func (c *ClientWithResponses) GetClubsWithResponse(ctx context.Context, params *GetClubsParams, reqEditors ...RequestEditorFn) (*GetClubsResponse, error)

GetClubsWithResponse Get club dashboard data

**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.

---

Retrieves club dashboard data for the authenticated user, including tier information, benefits, account manager details, offers, downgrade risk, and webinars.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/clubs (the `GetClubs` operationId).

func (*ClientWithResponses) GetCopyTradingStatusDemoWithResponse

func (c *ClientWithResponses) GetCopyTradingStatusDemoWithResponse(ctx context.Context, referenceId string, params *GetCopyTradingStatusDemoParams, reqEditors ...RequestEditorFn) (*GetCopyTradingStatusDemoResponse, error)

GetCopyTradingStatusDemoWithResponse Poll a copy operation's outcome

**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.

---

Returns the terminal outcome of a copy request for register, add or remove funds, looked up by the referenceID supplied on the copy request. The lookup is case-sensitive and scoped to the authenticated account. On success the response carries the mirrorID used to close the copy later; parentCID and parentUsername are either both present or both absent. This endpoint returns only the status of the copy request, not the status of the mirror sub-portfolio. For sub-portfolio status use a portfolio endpoint.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/trading/copy/demo/{referenceId} (the `GetCopyTradingStatusDemo` operationId).

func (*ClientWithResponses) GetCopyTradingStatusWithResponse

func (c *ClientWithResponses) GetCopyTradingStatusWithResponse(ctx context.Context, referenceId string, params *GetCopyTradingStatusParams, reqEditors ...RequestEditorFn) (*GetCopyTradingStatusResponse, error)

GetCopyTradingStatusWithResponse Poll a copy operation's outcome

**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.

---

Returns the terminal outcome of a copy request for register, add or remove funds, looked up by the referenceID supplied on the copy request. The lookup is case-sensitive and scoped to the authenticated account. On success the response carries the mirrorID used to close the copy later; parentCID and parentUsername are either both present or both absent. This endpoint returns only the status of the copy request, not the status of the mirror sub-portfolio. For sub-portfolio status use a portfolio endpoint.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/trading/copy/{referenceId} (the `GetCopyTradingStatus` operationId).

func (*ClientWithResponses) GetCostDemoWithBodyWithResponse

func (c *ClientWithResponses) GetCostDemoWithBodyWithResponse(ctx context.Context, params *GetCostDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GetCostDemoResponse, error)

GetCostDemoWithBodyWithResponse Get what-if trading cost breakdown

**Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Returns the markup, market spread, transaction fee, overnight fee, over-weekend fee, and tax that would apply if the supplied order were executed now against the demo account. For `action: open`, exactly one of `symbol` or `instrumentId` must be provided and `leverage` must be at least 1. For `action: close`, `positionIds` must be non-empty.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/info/demo/costs (the `GetCostDemo` operationId).

func (*ClientWithResponses) GetCostDemoWithResponse

func (c *ClientWithResponses) GetCostDemoWithResponse(ctx context.Context, params *GetCostDemoParams, body GetCostDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*GetCostDemoResponse, error)

GetCostDemoWithResponse Get what-if trading cost breakdown

**Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Returns the markup, market spread, transaction fee, overnight fee, over-weekend fee, and tax that would apply if the supplied order were executed now against the demo account. For `action: open`, exactly one of `symbol` or `instrumentId` must be provided and `leverage` must be at least 1. For `action: close`, `positionIds` must be non-empty.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/info/demo/costs (the `GetCostDemo` operationId).

func (*ClientWithResponses) GetCostWithBodyWithResponse

func (c *ClientWithResponses) GetCostWithBodyWithResponse(ctx context.Context, params *GetCostParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GetCostResponse2, error)

GetCostWithBodyWithResponse Get what-if trading cost breakdown

**Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Returns the markup, market spread, transaction fee, overnight fee, over-weekend fee, and tax that would apply if the supplied order were executed now. For `action: open`, exactly one of `symbol` or `instrumentId` must be provided and `leverage` must be at least 1. For `action: close`, `positionIds` must be non-empty.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/info/costs (the `GetCost` operationId).

func (*ClientWithResponses) GetCostWithResponse

func (c *ClientWithResponses) GetCostWithResponse(ctx context.Context, params *GetCostParams, body GetCostJSONRequestBody, reqEditors ...RequestEditorFn) (*GetCostResponse2, error)

GetCostWithResponse Get what-if trading cost breakdown

**Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Returns the markup, market spread, transaction fee, overnight fee, over-weekend fee, and tax that would apply if the supplied order were executed now. For `action: open`, exactly one of `symbol` or `instrumentId` must be provided and `leverage` must be at least 1. For `action: close`, `positionIds` must be non-empty.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/info/costs (the `GetCost` operationId).

func (*ClientWithResponses) GetCuratedListsWithResponse

func (c *ClientWithResponses) GetCuratedListsWithResponse(ctx context.Context, params *GetCuratedListsParams, reqEditors ...RequestEditorFn) (*GetCuratedListsResponse, error)

GetCuratedListsWithResponse Get curated lists

**Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Retrieves curated investment lists available to the authenticated user.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/curated-lists (the `GetCuratedLists` operationId).

func (*ClientWithResponses) GetExposureHistoryWithResponse

func (c *ClientWithResponses) GetExposureHistoryWithResponse(ctx context.Context, username string, params *GetExposureHistoryParams, reqEditors ...RequestEditorFn) (*GetExposureHistoryResponse, error)

GetExposureHistoryWithResponse Get market exposure history

**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.

---

Returns daily directional exposure breakdown per instrument for a publicly visible portfolio. Data is only available for investors who have not opted out - opted-out portfolios return 403 for third-party callers. Callers must authenticate with their own token. Use period OR minDate+maxDate (mutually exclusive). All values are decimal fractions of total daily investment: 0.5 = 50%. Simulated positions are excluded.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/portfolios/{username}/exposure/history (the `GetExposureHistory` operationId).

func (*ClientWithResponses) GetGainHistoryWithResponse

func (c *ClientWithResponses) GetGainHistoryWithResponse(ctx context.Context, username string, granularity GetGainHistoryParamsGranularity, params *GetGainHistoryParams, reqEditors ...RequestEditorFn) (*GetGainHistoryResponse, error)

GetGainHistoryWithResponse Get investor gain time-series

**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.

---

Returns a gain time-series scoped by date range, count, or a combination of one date and a count. Gain values are decimal fractions: 0.06 = 6%, -0.03 = -3%.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/portfolios/{username}/gain/{granularity} (the `GetGainHistory` operationId).

func (*ClientWithResponses) GetHistoricalBalanceByAccountWithResponse

func (c *ClientWithResponses) GetHistoricalBalanceByAccountWithResponse(ctx context.Context, accountType AccountTypePathParam, accountId string, params *GetHistoricalBalanceByAccountParams, reqEditors ...RequestEditorFn) (*GetHistoricalBalanceByAccountResponse, error)

GetHistoricalBalanceByAccountWithResponse Get account balance history

**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.

---

Returns end-of-day balance snapshots for a specific account identified by type and account ID for the authenticated user. History is available for the last 12 months. The maximum date range per request is 365 days.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/balances/{accountType}/{accountId}/history (the `GetHistoricalBalanceByAccount` operationId).

func (*ClientWithResponses) GetHistoricalBalancesByAccountTypeWithResponse

func (c *ClientWithResponses) GetHistoricalBalancesByAccountTypeWithResponse(ctx context.Context, accountType AccountTypePathParam, params *GetHistoricalBalancesByAccountTypeParams, reqEditors ...RequestEditorFn) (*GetHistoricalBalancesByAccountTypeResponse, error)

GetHistoricalBalancesByAccountTypeWithResponse Get historical balances by account type

**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.

---

Returns end-of-day balance snapshots for a specific account type for the authenticated user. History is available for the last 12 months. The maximum date range per request is 365 days.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/balances/{accountType}/history (the `GetHistoricalBalancesByAccountType` operationId).

func (*ClientWithResponses) GetHistoricalBalancesWithResponse

func (c *ClientWithResponses) GetHistoricalBalancesWithResponse(ctx context.Context, params *GetHistoricalBalancesParams, reqEditors ...RequestEditorFn) (*GetHistoricalBalancesResponse2, error)

GetHistoricalBalancesWithResponse Get historical balance snapshots

**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.

---

Returns end-of-day balance snapshots across all account types for the authenticated user. History is available for the last 12 months. The maximum date range per request is 365 days.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/balances/history (the `GetHistoricalBalances` operationId).

func (*ClientWithResponses) GetImpressionsTopassetsUserByGcidWithResponse

func (c *ClientWithResponses) GetImpressionsTopassetsUserByGcidWithResponse(ctx context.Context, gcid int32, params *GetImpressionsTopassetsUserByGcidParams, reqEditors ...RequestEditorFn) (*GetImpressionsTopassetsUserByGcidResponse, error)

GetImpressionsTopassetsUserByGcidWithResponse Get top assets for a user

**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.

---

Retrieves a ranked list of top asset scores associated with a specific user, based on impressions data.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/impressions/topassets/user/{gcid} (the `GetImpressionsTopassetsUserByGcid` operationId).

func (*ClientWithResponses) GetInstrumentEligibilityDemoWithBodyWithResponse

func (c *ClientWithResponses) GetInstrumentEligibilityDemoWithBodyWithResponse(ctx context.Context, params *GetInstrumentEligibilityDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GetInstrumentEligibilityDemoResponse, error)

GetInstrumentEligibilityDemoWithBodyWithResponse Check instrument trading eligibility

**Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Returns per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments. This configuration changes rarely for a given instrument and account, so call it once and reuse the result for the rest of the session instead of re-querying before every order.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/info/demo/eligibility (the `GetInstrumentEligibilityDemo` operationId).

func (*ClientWithResponses) GetInstrumentEligibilityDemoWithResponse

GetInstrumentEligibilityDemoWithResponse Check instrument trading eligibility

**Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Returns per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments. This configuration changes rarely for a given instrument and account, so call it once and reuse the result for the rest of the session instead of re-querying before every order.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/info/demo/eligibility (the `GetInstrumentEligibilityDemo` operationId).

func (*ClientWithResponses) GetInstrumentEligibilityWithBodyWithResponse

func (c *ClientWithResponses) GetInstrumentEligibilityWithBodyWithResponse(ctx context.Context, params *GetInstrumentEligibilityParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GetInstrumentEligibilityResponse, error)

GetInstrumentEligibilityWithBodyWithResponse Check instrument trading eligibility

**Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Returns per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments. This configuration changes rarely for a given instrument and account, so call it once and reuse the result for the rest of the session instead of re-querying before every order.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/info/eligibility (the `GetInstrumentEligibility` operationId).

func (*ClientWithResponses) GetInstrumentEligibilityWithResponse

GetInstrumentEligibilityWithResponse Check instrument trading eligibility

**Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Returns per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments. This configuration changes rarely for a given instrument and account, so call it once and reuse the result for the rest of the session instead of re-querying before every order.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/info/eligibility (the `GetInstrumentEligibility` operationId).

func (*ClientWithResponses) GetInstrumentsSearchWithResponse

func (c *ClientWithResponses) GetInstrumentsSearchWithResponse(ctx context.Context, params *GetInstrumentsSearchParams, reqEditors ...RequestEditorFn) (*GetInstrumentsSearchResponse, error)

GetInstrumentsSearchWithResponse Search instruments by free-text query

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/rates`

---

Free-text search of instruments by name or symbol. Results are relevance-ranked by the upstream search index; non-public instruments are filtered out.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/market-data/instruments/search (the `GetInstrumentsSearch` operationId).

func (*ClientWithResponses) GetKeydataByApplicationWithResponse

func (c *ClientWithResponses) GetKeydataByApplicationWithResponse(ctx context.Context, application string, params *GetKeydataByApplicationParams, reqEditors ...RequestEditorFn) (*GetKeydataByApplicationResponse, error)

GetKeydataByApplicationWithResponse Get application key data

**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.

---

Returns the key/value data configured for the given application.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/keydata/{application} (the `GetKeydataByApplication` operationId).

func (*ClientWithResponses) GetMarketDataExchangesWithResponse

func (c *ClientWithResponses) GetMarketDataExchangesWithResponse(ctx context.Context, params *GetMarketDataExchangesParams, reqEditors ...RequestEditorFn) (*GetMarketDataExchangesResponse, error)

GetMarketDataExchangesWithResponse List supported exchanges

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/market-data/exchanges (the `GetMarketDataExchanges` operationId).

func (*ClientWithResponses) GetMarketDataInstrumentTypesWithResponse

func (c *ClientWithResponses) GetMarketDataInstrumentTypesWithResponse(ctx context.Context, params *GetMarketDataInstrumentTypesParams, reqEditors ...RequestEditorFn) (*GetMarketDataInstrumentTypesResponse, error)

GetMarketDataInstrumentTypesWithResponse List instrument types

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/market-data/instrument-types (the `GetMarketDataInstrumentTypes` operationId).

func (*ClientWithResponses) GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountWithResponse

GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountWithResponse Get instrument candle history

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

---

Retrieves historical price data in OHLCV (Open, High, Low, Close, Volume) format for a specified instrument. The data is organized into time-based candles of various intervals, from one minute to one week.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount} (the `GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCount` operationId).

func (*ClientWithResponses) GetMarketDataInstrumentsHistoryClosingPriceWithResponse

func (c *ClientWithResponses) GetMarketDataInstrumentsHistoryClosingPriceWithResponse(ctx context.Context, params *GetMarketDataInstrumentsHistoryClosingPriceParams, reqEditors ...RequestEditorFn) (*GetMarketDataInstrumentsHistoryClosingPriceResponse, error)

GetMarketDataInstrumentsHistoryClosingPriceWithResponse Get historical closing prices

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/market-data/instruments/history/closing-price (the `GetMarketDataInstrumentsHistoryClosingPrice` operationId).

func (*ClientWithResponses) GetMarketDataInstrumentsRatesWithResponse

func (c *ClientWithResponses) GetMarketDataInstrumentsRatesWithResponse(ctx context.Context, params *GetMarketDataInstrumentsRatesParams, reqEditors ...RequestEditorFn) (*GetMarketDataInstrumentsRatesResponse, error)

GetMarketDataInstrumentsRatesWithResponse Get instrument market rates

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

---

Provides real-time market data including bid/ask prices, conversion rates, and execution prices for specified financial instruments. Essential for price discovery and trade execution decisions.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/market-data/instruments/rates (the `GetMarketDataInstrumentsRates` operationId).

func (*ClientWithResponses) GetMarketDataInstrumentsWithResponse

func (c *ClientWithResponses) GetMarketDataInstrumentsWithResponse(ctx context.Context, params *GetMarketDataInstrumentsParams, reqEditors ...RequestEditorFn) (*GetMarketDataInstrumentsResponse, error)

GetMarketDataInstrumentsWithResponse Get instrument display data

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/market-data/instruments (the `GetMarketDataInstruments` operationId).

func (*ClientWithResponses) GetMarketDataSearchWithResponse

func (c *ClientWithResponses) GetMarketDataSearchWithResponse(ctx context.Context, params *GetMarketDataSearchParams, reqEditors ...RequestEditorFn) (*GetMarketDataSearchResponse, error)

GetMarketDataSearchWithResponse Search for Instruments

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

---

Retrieve a paginated list of instruments. Any field in the Instrument response schema can be projected via the required `fields` parameter and/or used as a query-string filter (e.g. `fields=instrumentId,displayname&displayname=Bitcoin`). Use `pageSize`/`pageNumber` to paginate and `sort` to order. Filters that do not match an indexed instrument field are ignored.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/market-data/search (the `GetMarketDataSearch` operationId).

func (*ClientWithResponses) GetMarketDataStocksIndustriesWithResponse

func (c *ClientWithResponses) GetMarketDataStocksIndustriesWithResponse(ctx context.Context, params *GetMarketDataStocksIndustriesParams, reqEditors ...RequestEditorFn) (*GetMarketDataStocksIndustriesResponse, error)

GetMarketDataStocksIndustriesWithResponse Get stocks industries

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/market-data/stocks-industries (the `GetMarketDataStocksIndustries` operationId).

func (*ClientWithResponses) GetMarketRecommendationsByItemsCountWithResponse

func (c *ClientWithResponses) GetMarketRecommendationsByItemsCountWithResponse(ctx context.Context, itemsCount int16, params *GetMarketRecommendationsByItemsCountParams, reqEditors ...RequestEditorFn) (*GetMarketRecommendationsByItemsCountResponse, error)

GetMarketRecommendationsByItemsCountWithResponse Get market recommendations

**Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Retrieves personalized market recommendations for the authenticated user.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/market-recommendations/{itemsCount} (the `GetMarketRecommendationsByItemsCount` operationId).

func (*ClientWithResponses) GetMeWithResponse

func (c *ClientWithResponses) GetMeWithResponse(ctx context.Context, params *GetMeParams, reqEditors ...RequestEditorFn) (*GetMeResponse, error)

GetMeWithResponse Get authenticated user profile

**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.

---

Returns the profile of the currently authenticated user, including account identifiers (GCID, real and demo CIDs), profile fields from Scope Data API (username, name, player level, gender, language, date of birth, avatar URL), and the OAuth scopes granted to the current access token.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/me (the `GetMe` operationId).

func (*ClientWithResponses) GetMultiplePortfoliosRankingsWithBodyWithResponse

func (c *ClientWithResponses) GetMultiplePortfoliosRankingsWithBodyWithResponse(ctx context.Context, params *GetMultiplePortfoliosRankingsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GetMultiplePortfoliosRankingsResponse, error)

GetMultiplePortfoliosRankingsWithBodyWithResponse Bulk-fetch ranking rows

**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.

---

Returns ranking rows for a list of investors identified by username. Missing, private, or unranked users are silently omitted. Maximum 100 usernames per request.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/portfolios/rankings/multiple (the `GetMultiplePortfoliosRankings` operationId).

func (*ClientWithResponses) GetMultiplePortfoliosRankingsWithResponse

GetMultiplePortfoliosRankingsWithResponse Bulk-fetch ranking rows

**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.

---

Returns ranking rows for a list of investors identified by username. Missing, private, or unranked users are silently omitted. Maximum 100 usernames per request.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/portfolios/rankings/multiple (the `GetMultiplePortfoliosRankings` operationId).

func (*ClientWithResponses) GetMySubAccountsWithResponse

func (c *ClientWithResponses) GetMySubAccountsWithResponse(ctx context.Context, params *GetMySubAccountsParams, reqEditors ...RequestEditorFn) (*GetMySubAccountsResponse, error)

GetMySubAccountsWithResponse Get My Sub-Accounts

**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.

---

Returns the authenticated user's sub-accounts. Currently the supported provider is `etoro-trading` (etoro trading sub-accounts); additional sub-account providers will be added over time.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/sub-accounts/me/accounts (the `GetMySubAccounts` operationId).

func (*ClientWithResponses) GetNotificationsMessagesWithResponse

func (c *ClientWithResponses) GetNotificationsMessagesWithResponse(ctx context.Context, params *GetNotificationsMessagesParams, reqEditors ...RequestEditorFn) (*GetNotificationsMessagesResponse, error)

GetNotificationsMessagesWithResponse Get in-app notifications

**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.

---

Retrieves all in-app notifications for the authenticated user. Rate limit: 1 request per second.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/notifications/messages (the `GetNotificationsMessages` operationId).

func (*ClientWithResponses) GetPiDataCopiersWithResponse

func (c *ClientWithResponses) GetPiDataCopiersWithResponse(ctx context.Context, params *GetPiDataCopiersParams, reqEditors ...RequestEditorFn) (*GetPiDataCopiersResponse, error)

GetPiDataCopiersWithResponse Get copiers public info

**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.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/pi-data/copiers (the `GetPiDataCopiers` operationId).

func (*ClientWithResponses) GetPortfolioCopiersWithResponse

func (c *ClientWithResponses) GetPortfolioCopiersWithResponse(ctx context.Context, username string, params *GetPortfolioCopiersParams, reqEditors ...RequestEditorFn) (*GetPortfolioCopiersResponse, error)

GetPortfolioCopiersWithResponse Get portfolio copier stats

**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.

---

Returns the investor's live copier count and assets-under-management tier for a public username. Requires `etoro-public:user-info:read`.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/portfolios/{username}/copiers (the `GetPortfolioCopiers` operationId).

func (*ClientWithResponses) GetPortfolioRankingWithResponse

func (c *ClientWithResponses) GetPortfolioRankingWithResponse(ctx context.Context, username string, params *GetPortfolioRankingParams, reqEditors ...RequestEditorFn) (*GetPortfolioRankingResponse, error)

GetPortfolioRankingWithResponse Get ranking row for a single investor

**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.

---

Returns the full ranking row for the specified investor for a given time period. Returns 404 if the user is private, not found, or not ranked. `period` is required because every performance field is computed over a defined time window.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/portfolios/{username}/rankings (the `GetPortfolioRanking` operationId).

func (*ClientWithResponses) GetPortfolioRankingsByPresetWithResponse

func (c *ClientWithResponses) GetPortfolioRankingsByPresetWithResponse(ctx context.Context, pType string, params *GetPortfolioRankingsByPresetParams, reqEditors ...RequestEditorFn) (*GetPortfolioRankingsByPresetResponse, error)

GetPortfolioRankingsByPresetWithResponse Get rankings by named preset

**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.

---

Applies a predefined filter preset. Equivalent to GET /rankings with the preset's filters pre-applied. Unknown or non-whitelisted presets return 404 with the verbatim JSON string "Filter Not Found".

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/portfolios/rankings/presets/{type} (the `GetPortfolioRankingsByPreset` operationId).

func (*ClientWithResponses) GetPortfoliosRankingsSummaryWithResponse

func (c *ClientWithResponses) GetPortfoliosRankingsSummaryWithResponse(ctx context.Context, params *GetPortfoliosRankingsSummaryParams, reqEditors ...RequestEditorFn) (*GetPortfoliosRankingsSummaryResponse, error)

GetPortfoliosRankingsSummaryWithResponse Get ranking universe aggregated by sector or industry

**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.

---

Aggregates ranked investors into tag-bucketed summaries. The required `summary` query parameter must be "industries" or "sectors". TagIds from the internal service are resolved to readable names.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/portfolios/rankings/summary (the `GetPortfoliosRankingsSummary` operationId).

func (*ClientWithResponses) GetPortfoliosRankingsWithResponse

func (c *ClientWithResponses) GetPortfoliosRankingsWithResponse(ctx context.Context, params *GetPortfoliosRankingsParams, reqEditors ...RequestEditorFn) (*GetPortfoliosRankingsResponse, error)

GetPortfoliosRankingsWithResponse Get paginated investor rankings

**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.

---

Returns a paged list of investor ranking rows filtered and sorted by query parameters. `period` is required; all filter parameters are optional.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/portfolios/rankings (the `GetPortfoliosRankings` operationId).

func (*ClientWithResponses) GetPriceAlertsWithResponse

func (c *ClientWithResponses) GetPriceAlertsWithResponse(ctx context.Context, params *GetPriceAlertsParams, reqEditors ...RequestEditorFn) (*GetPriceAlertsResponse, error)

GetPriceAlertsWithResponse Get price alerts

**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.

---

Returns all active price alerts for the authenticated user. Supports optional filtering by alertIds, instrumentIds, or symbols. The instrumentIds and symbols filters refer to the same dimension and are OR-combined with each other. The resulting instrument filter is AND-combined with alertIds. When no filters are provided, returns all active alerts.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/price-alerts (the `GetPriceAlerts` operationId).

func (*ClientWithResponses) GetPriceCandleCoverageWithResponse

func (c *ClientWithResponses) GetPriceCandleCoverageWithResponse(ctx context.Context, instrumentId int32, params *GetPriceCandleCoverageParams, reqEditors ...RequestEditorFn) (*GetPriceCandleCoverageResponse, error)

GetPriceCandleCoverageWithResponse Get where price candles exist for an instrument

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/data/instruments/{instrumentId}/candles`

---

Returns, per interval, the oldest and newest candle, how many exist, and when the daily load last refreshed them. Call it before requesting candles to pick an interval and a range that has data: history can span more than 15 years, and ranges outside it return empty pages. Not user-scoped. An instrument with no data, or one etoro shows internally only, returns an empty `intervals` list, not a 404.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/data/instruments/{instrumentId}/candles/coverage (the `GetPriceCandleCoverage` operationId).

func (*ClientWithResponses) GetPriceCandlesWithResponse

func (c *ClientWithResponses) GetPriceCandlesWithResponse(ctx context.Context, instrumentId int32, params *GetPriceCandlesParams, reqEditors ...RequestEditorFn) (*GetPriceCandlesResponse, error)

GetPriceCandlesWithResponse Get price candles for an instrument

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/data/instruments/{instrumentId}/candles/coverage`

---

Full-history OHLC candles for one instrument and interval, from a public view built and kept current by a DataPlatform job. Not user-scoped: identical for every caller for the same instrument and parameters. A range without `from` returns the most recent slice; a slice covers at most 10,080 periods of the interval (7 days of 1m, up to all history for 1d/1w), and a longer range is paged with the keyset `cursor` in `pagination.nextCursor`. An instrument with no data for the interval, or one etoro shows internally only, returns 200 with an empty `results` array, not 404. Call the coverage endpoint first to find a range that has data.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/data/instruments/{instrumentId}/candles (the `GetPriceCandles` operationId).

func (*ClientWithResponses) GetRatesWithResponse

func (c *ClientWithResponses) GetRatesWithResponse(ctx context.Context, params *GetRatesParams, reqEditors ...RequestEditorFn) (*GetRatesResponse, error)

GetRatesWithResponse Retrieve bid/ask rates for one or more instruments

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments` - `GET /api/v2/market-data/instruments/search`

---

Returns current bid/ask rates keyed by instrument ID. Each rate carries a `quoteType` indicating whether it is `realtime` or `delayed`.

Returns 200 when all requested instruments are found, 206 when only a subset is available.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/market-data/rates (the `GetRates` operationId).

func (*ClientWithResponses) GetScopesWithResponse

func (c *ClientWithResponses) GetScopesWithResponse(ctx context.Context, params *GetScopesParams, reqEditors ...RequestEditorFn) (*GetScopesResponse2, error)

GetScopesWithResponse List available OAuth scopes

**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.

---

Returns the public catalog of OAuth scopes that can be requested when creating or updating an application. Use this endpoint to render scope pickers and to validate scope ids client-side before calling create/update.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/sso/scopes (the `GetScopes` operationId).

func (*ClientWithResponses) GetSecuritiesWithResponse

func (c *ClientWithResponses) GetSecuritiesWithResponse(ctx context.Context, params *GetSecuritiesParams, reqEditors ...RequestEditorFn) (*GetSecuritiesResponse, error)

GetSecuritiesWithResponse Search for securities (instruments) by ID or symbol

**Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/market-data/exchanges` - `GET /api/v1/market-data/instrument-types` - `GET /api/v1/market-data/instruments` - `GET /api/v1/market-data/instruments/history/closing-price` - `GET /api/v1/market-data/instruments/rates` - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}` - `GET /api/v1/market-data/search` - `GET /api/v1/market-data/stocks-industries` - `GET /api/v2/market-data/instruments/search` - `GET /api/v2/market-data/rates`

---

Returns instrument (security) metadata, optionally filtered by instrument IDs or symbols, with cursor-based pagination.

`instrumentsIds` and `symbols` are mutually exclusive. All filters are optional and independent; if neither `instrumentsIds` nor `symbols` is provided, results are not filtered by instrument and are simply paginated by `pageSize`.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/market-data/instruments (the `GetSecurities` operationId).

func (*ClientWithResponses) GetStockbackPromoStatusWithResponse

func (c *ClientWithResponses) GetStockbackPromoStatusWithResponse(ctx context.Context, params *GetStockbackPromoStatusParams, reqEditors ...RequestEditorFn) (*GetStockbackPromoStatusResponse, error)

GetStockbackPromoStatusWithResponse Get the caller's StockBack/Cashback promo status

**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.

---

Returns the calling customer's current StockBack/Cashback promo enrollment and lifetime USD reward figures - opted-in status, selected stock, professional-investor status, reward channel, club tier, country, this month's expected reward, and lifetime StockBack/Cashback/total USD earned. This is user-scoped: the caller is identified by their own gateway-issued GCID, not a path or query parameter, so it always answers for 'me'. A customer who is not (or not yet) enrolled in the promo still returns 200, with every value field null, rather than 404 - a 404 means no row exists for this GCID at all, which is a data-completeness gap, not simply 'not enrolled'.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/data/stockback/promo-status (the `GetStockbackPromoStatus` operationId).

func (*ClientWithResponses) GetSubAccountUserTokenScopesWithResponse

func (c *ClientWithResponses) GetSubAccountUserTokenScopesWithResponse(ctx context.Context, params *GetSubAccountUserTokenScopesParams, reqEditors ...RequestEditorFn) (*GetSubAccountUserTokenScopesResponse, error)

GetSubAccountUserTokenScopesWithResponse Get Allowed Sub-Account Token Scopes

**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.

---

Returns the scope names that may be assigned to sub-account non-interactive user tokens (the etoro-trading-subaccount application's scopes).

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/sub-accounts/etoro-trading/user-tokens/scopes (the `GetSubAccountUserTokenScopes` operationId).

func (*ClientWithResponses) GetSubAccountUserTokensWithResponse

func (c *ClientWithResponses) GetSubAccountUserTokensWithResponse(ctx context.Context, params *GetSubAccountUserTokensParams, reqEditors ...RequestEditorFn) (*GetSubAccountUserTokensResponse, error)

GetSubAccountUserTokensWithResponse List Sub-Account User Tokens

**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.

---

Lists all sub-account non-interactive user tokens owned by the authenticated user, across all their etoro trading sub-accounts. The secret token value is never included in list results.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/sub-accounts/etoro-trading/user-tokens (the `GetSubAccountUserTokens` operationId).

func (*ClientWithResponses) GetTradingInfoDemoCloseOrdersByOrderIdWithResponse

func (c *ClientWithResponses) GetTradingInfoDemoCloseOrdersByOrderIdWithResponse(ctx context.Context, orderId int64, params *GetTradingInfoDemoCloseOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*GetTradingInfoDemoCloseOrdersByOrderIdResponse, error)

GetTradingInfoDemoCloseOrdersByOrderIdWithResponse Get close order information and closed position details

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/demo/orders/{orderId}` - `GET /api/v2/trading/info/demo/orders:lookup`

---

Retrieves information about a close order, including its execution status and the positions that were closed as a result of the request. Use this to track the outcome of a position-closing order and identify which positions were affected. This is a read-only call and is the supported way to confirm the outcome of POST or DELETE /api/v1/trading/execution/demo/market-close-orders/... - including when the DELETE response was lost: poll this endpoint with the same close orderId instead of resending the cancel. Executed quantity is reported per affected position in positions[] (units and amount, with occurred and rate set once that position was closed); the order-level proceeds field totals what was realized. A close order that was cancelled before anything executed has no executed entries in positions[]. Any requested units that do not appear as executed in positions[] were not closed. errorCode and errorMessage are populated when processing failed.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/trading/info/demo/close-orders/{orderId} (the `GetTradingInfoDemoCloseOrdersByOrderId` operationId).

func (*ClientWithResponses) GetTradingInfoDemoOrdersLookupWithResponse

func (c *ClientWithResponses) GetTradingInfoDemoOrdersLookupWithResponse(ctx context.Context, params *GetTradingInfoDemoOrdersLookupParams, reqEditors ...RequestEditorFn) (*GetTradingInfoDemoOrdersLookupResponse, error)

GetTradingInfoDemoOrdersLookupWithResponse Get order information and position details

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/demo/close-orders/{orderId}` - `GET /api/v1/trading/info/demo/orders/{orderId}`

---

Retrieves comprehensive information about a specific order, including the order status, execution details, and all positions that were opened or closed from this order. This endpoint is essential for tracking order execution and identifying which positions were created as a result of a specific order request. The response includes detailed position information with PositionID values that can be used to query position-specific details. Provide exactly one of orderId or referenceId.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/trading/info/demo/orders:lookup (the `GetTradingInfoDemoOrdersLookup` operationId).

func (*ClientWithResponses) GetTradingInfoDemoPnlWithResponse

func (c *ClientWithResponses) GetTradingInfoDemoPnlWithResponse(ctx context.Context, params *GetTradingInfoDemoPnlParams, reqEditors ...RequestEditorFn) (*GetTradingInfoDemoPnlResponse, error)

GetTradingInfoDemoPnlWithResponse Get account PnL and portfolio details

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/demo/portfolio` - `GET /api/v2/trading/info/demo/instrument-breakdown`

---

Retrieves the demo account's current portfolio, including credit, open positions, orders, mirrors, and PnL details.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/trading/info/demo/pnl (the `GetTradingInfoDemoPnl` operationId).

func (*ClientWithResponses) GetTradingInfoDemoPortfolioInstrumentBreakdownWithResponse

func (c *ClientWithResponses) GetTradingInfoDemoPortfolioInstrumentBreakdownWithResponse(ctx context.Context, params *GetTradingInfoDemoPortfolioInstrumentBreakdownParams, reqEditors ...RequestEditorFn) (*GetTradingInfoDemoPortfolioInstrumentBreakdownResponse, error)

GetTradingInfoDemoPortfolioInstrumentBreakdownWithResponse Get instrument breakdown (demo)

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/demo/pnl` - `GET /api/v1/trading/info/demo/portfolio`

---

Returns the demo portfolio grouped by instrument, including per-position data, pending orders, and PnL.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/trading/info/demo/instrument-breakdown (the `GetTradingInfoDemoPortfolioInstrumentBreakdown` operationId).

func (*ClientWithResponses) GetTradingInfoDemoPortfolioWithResponse

func (c *ClientWithResponses) GetTradingInfoDemoPortfolioWithResponse(ctx context.Context, params *GetTradingInfoDemoPortfolioParams, reqEditors ...RequestEditorFn) (*GetTradingInfoDemoPortfolioResponse, error)

GetTradingInfoDemoPortfolioWithResponse Get demo portfolio breakdown

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/demo/pnl` - `GET /api/v2/trading/info/demo/instrument-breakdown`

---

Returns detailed portfolio information including active positions, pending orders, mirror trading details, and account balances. This endpoint provides a complete overview of the user's trading activity and current market exposure.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/trading/info/demo/portfolio (the `GetTradingInfoDemoPortfolio` operationId).

func (*ClientWithResponses) GetTradingInfoOrdersLookupWithResponse

func (c *ClientWithResponses) GetTradingInfoOrdersLookupWithResponse(ctx context.Context, params *GetTradingInfoOrdersLookupParams, reqEditors ...RequestEditorFn) (*GetTradingInfoOrdersLookupResponse, error)

GetTradingInfoOrdersLookupWithResponse Get order information and position details

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/real/close-orders/{orderId}` - `GET /api/v1/trading/info/real/orders/{orderId}`

---

Retrieves comprehensive information about a specific order, including the order status, execution details, and all positions that were opened or closed from this order. This endpoint is essential for tracking order execution and identifying which positions were created as a result of a specific order request. The response includes detailed position information with PositionID values that can be used to query position-specific details. Provide exactly one of orderId or referenceId.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/trading/info/orders:lookup (the `GetTradingInfoOrdersLookup` operationId).

func (*ClientWithResponses) GetTradingInfoPortfolioInstrumentBreakdownWithResponse

func (c *ClientWithResponses) GetTradingInfoPortfolioInstrumentBreakdownWithResponse(ctx context.Context, params *GetTradingInfoPortfolioInstrumentBreakdownParams, reqEditors ...RequestEditorFn) (*GetTradingInfoPortfolioInstrumentBreakdownResponse, error)

GetTradingInfoPortfolioInstrumentBreakdownWithResponse Get instrument breakdown

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/portfolio` - `GET /api/v1/trading/info/real/pnl`

---

Returns the portfolio data grouped by instrument, including per-position data, pending orders, and PnL.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/trading/info/instrument-breakdown (the `GetTradingInfoPortfolioInstrumentBreakdown` operationId).

func (*ClientWithResponses) GetTradingInfoPortfolioWithResponse

func (c *ClientWithResponses) GetTradingInfoPortfolioWithResponse(ctx context.Context, params *GetTradingInfoPortfolioParams, reqEditors ...RequestEditorFn) (*GetTradingInfoPortfolioResponse, error)

GetTradingInfoPortfolioWithResponse Get portfolio breakdown

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/real/pnl` - `GET /api/v2/trading/info/instrument-breakdown`

---

Returns detailed portfolio information including active positions, pending orders, mirror trading details, and account balances. This endpoint provides a complete overview of the user's trading activity and current market exposure.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/trading/info/portfolio (the `GetTradingInfoPortfolio` operationId).

func (*ClientWithResponses) GetTradingInfoRealCloseOrdersByOrderIdWithResponse

func (c *ClientWithResponses) GetTradingInfoRealCloseOrdersByOrderIdWithResponse(ctx context.Context, orderId int64, params *GetTradingInfoRealCloseOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*GetTradingInfoRealCloseOrdersByOrderIdResponse, error)

GetTradingInfoRealCloseOrdersByOrderIdWithResponse Get close order information and closed position details

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/real/orders/{orderId}` - `GET /api/v2/trading/info/orders:lookup`

---

Retrieves information about a close order, including its execution status and the positions that were closed as a result of the request. Use this to track the outcome of a position-closing order and identify which positions were affected. This is a read-only call and is the supported way to confirm the outcome of POST or DELETE /api/v1/trading/execution/market-close-orders/... - including when the DELETE response was lost: poll this endpoint with the same close orderId instead of resending the cancel. Executed quantity is reported per affected position in positions[] (units and amount, with occurred and rate set once that position was closed); the order-level proceeds field totals what was realized. A close order that was cancelled before anything executed has no executed entries in positions[]. Any requested units that do not appear as executed in positions[] were not closed. errorCode and errorMessage are populated when processing failed.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/trading/info/real/close-orders/{orderId} (the `GetTradingInfoRealCloseOrdersByOrderId` operationId).

func (*ClientWithResponses) GetTradingInfoRealPnlWithResponse

func (c *ClientWithResponses) GetTradingInfoRealPnlWithResponse(ctx context.Context, params *GetTradingInfoRealPnlParams, reqEditors ...RequestEditorFn) (*GetTradingInfoRealPnlResponse, error)

GetTradingInfoRealPnlWithResponse Get account PnL and portfolio details

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/portfolio` - `GET /api/v2/trading/info/instrument-breakdown`

---

Retrieves the real account's current portfolio, including credit, open positions, orders, mirrors, and PnL details.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/trading/info/real/pnl (the `GetTradingInfoRealPnl` operationId).

func (*ClientWithResponses) GetTradingInfoTradeDemoHistoryWithResponse

func (c *ClientWithResponses) GetTradingInfoTradeDemoHistoryWithResponse(ctx context.Context, params *GetTradingInfoTradeDemoHistoryParams, reqEditors ...RequestEditorFn) (*GetTradingInfoTradeDemoHistoryResponse, error)

GetTradingInfoTradeDemoHistoryWithResponse List trading history

**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.

---

Returns closed trades for the authenticated account from `minDate` through the present. Keep each request's lookback to less than 1 year (maximum 1 year minus 1 day). For longer history, split the range into successive windows of at most that length (advance `minDate` per batch) and use `page` / `pageSize` within each window.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/trading/info/trade/demo/history (the `GetTradingInfoTradeDemoHistory` operationId).

func (*ClientWithResponses) GetTradingInfoTradeHistoryWithResponse

func (c *ClientWithResponses) GetTradingInfoTradeHistoryWithResponse(ctx context.Context, params *GetTradingInfoTradeHistoryParams, reqEditors ...RequestEditorFn) (*GetTradingInfoTradeHistoryResponse, error)

GetTradingInfoTradeHistoryWithResponse List trading history

**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.

---

Returns closed trades for the authenticated account from `minDate` through the present. Keep each request's lookback to less than 1 year (maximum 1 year minus 1 day). For longer history, split the range into successive windows of at most that length (advance `minDate` per batch) and use `page` / `pageSize` within each window.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/trading/info/trade/history (the `GetTradingInfoTradeHistory` operationId).

func (*ClientWithResponses) GetTransferByIdWithResponse

func (c *ClientWithResponses) GetTransferByIdWithResponse(ctx context.Context, transferId int64, params *GetTransferByIdParams, reqEditors ...RequestEditorFn) (*GetTransferByIdResponse, error)

GetTransferByIdWithResponse Get transfer by ID

**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.

---

Returns the TransferLookupResult wrapper containing exactly one TransferLookupResponse matching the server transferId. Returns 404 when the transfer does not exist or is not visible to the authenticated customer.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/money/transfers/{transferId} (the `GetTransferById` operationId).

func (*ClientWithResponses) GetTransferEligibilityWithResponse

func (c *ClientWithResponses) GetTransferEligibilityWithResponse(ctx context.Context, params *GetTransferEligibilityParams, reqEditors ...RequestEditorFn) (*GetTransferEligibilityResponse, error)

GetTransferEligibilityWithResponse Transfer eligibility (source and destination accounts)

**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.

---

Returns the full eligibility graph for the authenticated customer: for each source account, the destination accounts allowed for transfers.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/money/transfer-eligibility (the `GetTransferEligibility` operationId).

func (*ClientWithResponses) GetTransferFeeConfigurationWithResponse

func (c *ClientWithResponses) GetTransferFeeConfigurationWithResponse(ctx context.Context, params *GetTransferFeeConfigurationParams, reqEditors ...RequestEditorFn) (*GetTransferFeeConfigurationResponse, error)

GetTransferFeeConfigurationWithResponse List transfer fees

**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.

---

Returns transfer fee configuration for the authenticated customer as a list of rows, one per source/destination account type route.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/money/transfer-fee-configurations (the `GetTransferFeeConfiguration` operationId).

func (*ClientWithResponses) GetTransferLimitsWithResponse

func (c *ClientWithResponses) GetTransferLimitsWithResponse(ctx context.Context, params *GetTransferLimitsParams, reqEditors ...RequestEditorFn) (*GetTransferLimitsResponse, error)

GetTransferLimitsWithResponse List transfer limits

**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.

---

Returns transfer amount limits for each allowed combination of source and destination account types.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/money/transfer-limits (the `GetTransferLimits` operationId).

func (*ClientWithResponses) GetTransferableBalanceWithResponse

func (c *ClientWithResponses) GetTransferableBalanceWithResponse(ctx context.Context, params *GetTransferableBalanceParams, reqEditors ...RequestEditorFn) (*GetTransferableBalanceResponse, error)

GetTransferableBalanceWithResponse Get max transferable amount

**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.

---

Returns the maximum amount the customer may transfer from the specified source account to the specified destination account.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/money/transferable-balance (the `GetTransferableBalance` operationId).

func (*ClientWithResponses) GetUserInfoPeopleByUsernameDailyGainWithResponse

func (c *ClientWithResponses) GetUserInfoPeopleByUsernameDailyGainWithResponse(ctx context.Context, username string, params *GetUserInfoPeopleByUsernameDailyGainParams, reqEditors ...RequestEditorFn) (*GetUserInfoPeopleByUsernameDailyGainResponse, error)

GetUserInfoPeopleByUsernameDailyGainWithResponse Get user daily performance

**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.

---

Provides detailed performance analytics including daily gains, cumulative returns, and period-specific metrics within a specified date range. Supports various time-based analyses and performance reporting requirements.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/user-info/people/{username}/daily-gain (the `GetUserInfoPeopleByUsernameDailyGain` operationId).

func (*ClientWithResponses) GetUserInfoPeopleByUsernameGainWithResponse

func (c *ClientWithResponses) GetUserInfoPeopleByUsernameGainWithResponse(ctx context.Context, username string, params *GetUserInfoPeopleByUsernameGainParams, reqEditors ...RequestEditorFn) (*GetUserInfoPeopleByUsernameGainResponse, error)

GetUserInfoPeopleByUsernameGainWithResponse Get user performance history

**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.

---

Returns comprehensive historical monthly and yearly performance data including gain percentages, risk-adjusted returns, and detailed trading statistics. This endpoint provides both aggregated and time-series performance metrics.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/user-info/people/{username}/gain (the `GetUserInfoPeopleByUsernameGain` operationId).

func (*ClientWithResponses) GetUserInfoPeopleByUsernamePortfolioLiveWithResponse

func (c *ClientWithResponses) GetUserInfoPeopleByUsernamePortfolioLiveWithResponse(ctx context.Context, username string, params *GetUserInfoPeopleByUsernamePortfolioLiveParams, reqEditors ...RequestEditorFn) (*GetUserInfoPeopleByUsernamePortfolioLiveResponse, error)

GetUserInfoPeopleByUsernamePortfolioLiveWithResponse Get user live portfolio

**Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/user-info/people/{username}/portfolio/live (the `GetUserInfoPeopleByUsernamePortfolioLive` operationId).

func (*ClientWithResponses) GetUserInfoPeopleByUsernameTradeinfoWithResponse

func (c *ClientWithResponses) GetUserInfoPeopleByUsernameTradeinfoWithResponse(ctx context.Context, username string, params *GetUserInfoPeopleByUsernameTradeinfoParams, reqEditors ...RequestEditorFn) (*GetUserInfoPeopleByUsernameTradeinfoResponse, error)

GetUserInfoPeopleByUsernameTradeinfoWithResponse Get user trade info

**Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/user-info/people/{username}/tradeinfo (the `GetUserInfoPeopleByUsernameTradeinfo` operationId).

func (*ClientWithResponses) GetUserInfoPeopleSearchWithResponse

func (c *ClientWithResponses) GetUserInfoPeopleSearchWithResponse(ctx context.Context, params *GetUserInfoPeopleSearchParams, reqEditors ...RequestEditorFn) (*GetUserInfoPeopleSearchResponse, error)

GetUserInfoPeopleSearchWithResponse Search users

**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.

---

Powerful search platform that enables advanced user discovery with comprehensive filtering capabilities. Supports complex queries across multiple dimensions including performance metrics, risk profiles, investment patterns, and account characteristics. Ideal for identifying users based on specific trading behaviors and performance criteria.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/user-info/people/search (the `GetUserInfoPeopleSearch` operationId).

func (*ClientWithResponses) GetUserInfoPeopleWithResponse

func (c *ClientWithResponses) GetUserInfoPeopleWithResponse(ctx context.Context, params *GetUserInfoPeopleParams, reqEditors ...RequestEditorFn) (*GetUserInfoPeopleResponse, error)

GetUserInfoPeopleWithResponse Get user profile and account summary

**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.

---

Returns detailed user profile information including account status, verification levels, biographical data, and associated metadata. This endpoint aggregates essential user information from multiple sources to provide a complete user profile overview.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/user-info/people (the `GetUserInfoPeople` operationId).

func (*ClientWithResponses) GetWatchlistsByWatchlistIdWithResponse

func (c *ClientWithResponses) GetWatchlistsByWatchlistIdWithResponse(ctx context.Context, watchlistId string, params *GetWatchlistsByWatchlistIdParams, reqEditors ...RequestEditorFn) (*GetWatchlistsByWatchlistIdResponse, error)

GetWatchlistsByWatchlistIdWithResponse Get single watchlist

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/watchlists` - `GET /api/v1/watchlists/default-watchlists/items` - `GET /api/v1/watchlists/public/{userId}` - `GET /api/v1/watchlists/public/{userId}/{watchlistId}`

---

Retrieves a specific watchlist with its items using pagination.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/watchlists/{watchlistId} (the `GetWatchlistsByWatchlistId` operationId).

func (*ClientWithResponses) GetWatchlistsDefaultWatchlistsItemsWithResponse

func (c *ClientWithResponses) GetWatchlistsDefaultWatchlistsItemsWithResponse(ctx context.Context, params *GetWatchlistsDefaultWatchlistsItemsParams, reqEditors ...RequestEditorFn) (*GetWatchlistsDefaultWatchlistsItemsResponse, error)

GetWatchlistsDefaultWatchlistsItemsWithResponse Get default watchlist items

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/watchlists` - `GET /api/v1/watchlists/public/{userId}` - `GET /api/v1/watchlists/public/{userId}/{watchlistId}` - `GET /api/v1/watchlists/{watchlistId}`

---

Retrieves items from user's default watchlists with optional pagination.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/watchlists/default-watchlists/items (the `GetWatchlistsDefaultWatchlistsItems` operationId).

func (*ClientWithResponses) GetWatchlistsPublicByUserIdByWatchlistIdWithResponse

func (c *ClientWithResponses) GetWatchlistsPublicByUserIdByWatchlistIdWithResponse(ctx context.Context, userId int32, watchlistId string, params *GetWatchlistsPublicByUserIdByWatchlistIdParams, reqEditors ...RequestEditorFn) (*GetWatchlistsPublicByUserIdByWatchlistIdResponse, error)

GetWatchlistsPublicByUserIdByWatchlistIdWithResponse Get single public watchlist

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/watchlists` - `GET /api/v1/watchlists/default-watchlists/items` - `GET /api/v1/watchlists/public/{userId}` - `GET /api/v1/watchlists/{watchlistId}`

---

Retrieves a specific public watchlist from a user.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/watchlists/public/{userId}/{watchlistId} (the `GetWatchlistsPublicByUserIdByWatchlistId` operationId).

func (*ClientWithResponses) GetWatchlistsPublicByUserIdWithResponse

func (c *ClientWithResponses) GetWatchlistsPublicByUserIdWithResponse(ctx context.Context, userId int32, params *GetWatchlistsPublicByUserIdParams, reqEditors ...RequestEditorFn) (*GetWatchlistsPublicByUserIdResponse, error)

GetWatchlistsPublicByUserIdWithResponse Get user's public watchlists

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/watchlists` - `GET /api/v1/watchlists/default-watchlists/items` - `GET /api/v1/watchlists/public/{userId}/{watchlistId}` - `GET /api/v1/watchlists/{watchlistId}`

---

Retrieves all public watchlists for a specific user.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/watchlists/public/{userId} (the `GetWatchlistsPublicByUserId` operationId).

func (*ClientWithResponses) GetWatchlistsV2WithBodyWithResponse

func (c *ClientWithResponses) GetWatchlistsV2WithBodyWithResponse(ctx context.Context, params *GetWatchlistsV2Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GetWatchlistsV2Response, error)

GetWatchlistsV2WithBodyWithResponse Get user watchlists (BFF V2)

**Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Retrieves the authenticated user's watchlists as a BFF component response (V2 facade). The request body selects the userWatchlists component and its params.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/watchlists (the `GetWatchlistsV2` operationId).

func (*ClientWithResponses) GetWatchlistsV2WithResponse

func (c *ClientWithResponses) GetWatchlistsV2WithResponse(ctx context.Context, params *GetWatchlistsV2Params, body GetWatchlistsV2JSONRequestBody, reqEditors ...RequestEditorFn) (*GetWatchlistsV2Response, error)

GetWatchlistsV2WithResponse Get user watchlists (BFF V2)

**Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.

---

Retrieves the authenticated user's watchlists as a BFF component response (V2 facade). The request body selects the userWatchlists component and its params.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/watchlists (the `GetWatchlistsV2` operationId).

func (*ClientWithResponses) GetWatchlistsWithResponse

func (c *ClientWithResponses) GetWatchlistsWithResponse(ctx context.Context, params *GetWatchlistsParams, reqEditors ...RequestEditorFn) (*GetWatchlistsResponse, error)

GetWatchlistsWithResponse Get user watchlists

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/watchlists/default-watchlists/items` - `GET /api/v1/watchlists/public/{userId}` - `GET /api/v1/watchlists/public/{userId}/{watchlistId}` - `GET /api/v1/watchlists/{watchlistId}`

---

Retrieves all watchlists for the authenticated user with optional pagination and built-in watchlist management.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/watchlists (the `GetWatchlists` operationId).

func (*ClientWithResponses) ListCashAccountTransactionsWithResponse

func (c *ClientWithResponses) ListCashAccountTransactionsWithResponse(ctx context.Context, accountId openapi_types.UUID, params *ListCashAccountTransactionsParams, reqEditors ...RequestEditorFn) (*ListCashAccountTransactionsResponse, error)

ListCashAccountTransactionsWithResponse List cash account transactions (paginated)

**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.

---

Returns a cursor-paginated list of transactions for the given cash account. Use pageSize and pageToken for pagination; nextPageToken is null when there is no next page.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/money/accounts/cash/{accountId}/transactions (the `ListCashAccountTransactions` operationId).

func (*ClientWithResponses) ListPortfolioRankingsPresetsWithResponse

func (c *ClientWithResponses) ListPortfolioRankingsPresetsWithResponse(ctx context.Context, params *ListPortfolioRankingsPresetsParams, reqEditors ...RequestEditorFn) (*ListPortfolioRankingsPresetsResponse, error)

ListPortfolioRankingsPresetsWithResponse List available ranking presets

**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.

---

Returns the names of all publicly available ranking presets. Use a preset name as the `{type}` path parameter in GET /portfolios/rankings/presets/{type}. No pagination.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/portfolios/rankings/presets (the `ListPortfolioRankingsPresets` operationId).

func (*ClientWithResponses) ListPortfolioRankingsTagsWithResponse

func (c *ClientWithResponses) ListPortfolioRankingsTagsWithResponse(ctx context.Context, params *ListPortfolioRankingsTagsParams, reqEditors ...RequestEditorFn) (*ListPortfolioRankingsTagsResponse, error)

ListPortfolioRankingsTagsWithResponse List all ranking tags

**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.

---

Returns the full catalog of ranking tags (industries and sectors) with resolved names. Optionally filter to a single dimension via the `type` query parameter. No pagination.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v2/portfolios/rankings/tags (the `ListPortfolioRankingsTags` operationId).

func (*ClientWithResponses) LookupTransfersByRequestReferenceIdWithResponse

func (c *ClientWithResponses) LookupTransfersByRequestReferenceIdWithResponse(ctx context.Context, params *LookupTransfersByRequestReferenceIdParams, reqEditors ...RequestEditorFn) (*LookupTransfersByRequestReferenceIdResponse, error)

LookupTransfersByRequestReferenceIdWithResponse List transfers by reference ID

**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.

---

Returns a list of transfers for the authenticated customer, keyed by the client requestReferenceId query parameter.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/money/transfers:lookup (the `LookupTransfersByRequestReferenceId` operationId).

func (*ClientWithResponses) PatchNotificationsMessagesWithResponse

func (c *ClientWithResponses) PatchNotificationsMessagesWithResponse(ctx context.Context, params *PatchNotificationsMessagesParams, reqEditors ...RequestEditorFn) (*PatchNotificationsMessagesResponse, error)

PatchNotificationsMessagesWithResponse Mark all notifications as read

**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.

---

Marks all notifications as read for the authenticated user. Rate limit: 20 requests per minute.

Returns a wrapper object for the known response body format(s).

Corresponds with PATCH /api/v1/notifications/messages (the `PatchNotificationsMessages` operationId).

func (*ClientWithResponses) PatchPriceAlertsByAlertIdWithBodyWithResponse

func (c *ClientWithResponses) PatchPriceAlertsByAlertIdWithBodyWithResponse(ctx context.Context, alertId openapi_types.UUID, params *PatchPriceAlertsByAlertIdParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PatchPriceAlertsByAlertIdResponse, error)

PatchPriceAlertsByAlertIdWithBodyWithResponse Update a price alert

**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.

---

Updates the target price of an existing price alert.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with PATCH /api/v1/price-alerts/{alertId} (the `PatchPriceAlertsByAlertId` operationId).

func (*ClientWithResponses) PatchPriceAlertsByAlertIdWithResponse

PatchPriceAlertsByAlertIdWithResponse Update a price alert

**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.

---

Updates the target price of an existing price alert.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with PATCH /api/v1/price-alerts/{alertId} (the `PatchPriceAlertsByAlertId` operationId).

func (*ClientWithResponses) PostAggregatedPortfolioDemoWithBodyWithResponse

func (c *ClientWithResponses) PostAggregatedPortfolioDemoWithBodyWithResponse(ctx context.Context, params *PostAggregatedPortfolioDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostAggregatedPortfolioDemoResponse, error)

PostAggregatedPortfolioDemoWithBodyWithResponse Get a filtered aggregated portfolio snapshot

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/demo/aggregate-portfolio`

---

Returns the demo portfolio using aggregation levels and structured per-mirror instrument filters from the request body. This filter does not affect the account totals, that are still calculated based on the full portfolio.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/trading/info/demo/aggregate-portfolio (the `PostAggregatedPortfolioDemo` operationId).

func (*ClientWithResponses) PostAggregatedPortfolioDemoWithResponse

PostAggregatedPortfolioDemoWithResponse Get a filtered aggregated portfolio snapshot

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/demo/aggregate-portfolio`

---

Returns the demo portfolio using aggregation levels and structured per-mirror instrument filters from the request body. This filter does not affect the account totals, that are still calculated based on the full portfolio.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/trading/info/demo/aggregate-portfolio (the `PostAggregatedPortfolioDemo` operationId).

func (*ClientWithResponses) PostAggregatedPortfolioWithBodyWithResponse

func (c *ClientWithResponses) PostAggregatedPortfolioWithBodyWithResponse(ctx context.Context, params *PostAggregatedPortfolioParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostAggregatedPortfolioResponse, error)

PostAggregatedPortfolioWithBodyWithResponse Get a filtered aggregated portfolio snapshot

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/aggregate-portfolio`

---

Returns the portfolio using aggregation levels and structured per-mirror instrument filters from the request body. This filter does not affect the account totals, that are still calculated based on the full portfolio.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/trading/info/aggregate-portfolio (the `PostAggregatedPortfolio` operationId).

func (*ClientWithResponses) PostAggregatedPortfolioWithResponse

PostAggregatedPortfolioWithResponse Get a filtered aggregated portfolio snapshot

**Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `GET /api/v1/trading/info/aggregate-portfolio`

---

Returns the portfolio using aggregation levels and structured per-mirror instrument filters from the request body. This filter does not affect the account totals, that are still calculated based on the full portfolio.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/trading/info/aggregate-portfolio (the `PostAggregatedPortfolio` operationId).

func (*ClientWithResponses) PostMoneyTransferWithBodyWithResponse

func (c *ClientWithResponses) PostMoneyTransferWithBodyWithResponse(ctx context.Context, params *PostMoneyTransferParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostMoneyTransferResponse, error)

PostMoneyTransferWithBodyWithResponse Execute an internal account-to-account transfer

**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.

---

Executes an internal transfer from the source account to the destination account for the authenticated customer.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/money/transfers (the `PostMoneyTransfer` operationId).

func (*ClientWithResponses) PostMoneyTransferWithResponse

PostMoneyTransferWithResponse Execute an internal account-to-account transfer

**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.

---

Executes an internal transfer from the source account to the destination account for the authenticated customer.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/money/transfers (the `PostMoneyTransfer` operationId).

func (*ClientWithResponses) PostPriceAlertsWithBodyWithResponse

func (c *ClientWithResponses) PostPriceAlertsWithBodyWithResponse(ctx context.Context, params *PostPriceAlertsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostPriceAlertsResponse, error)

PostPriceAlertsWithBodyWithResponse Create a price alert

**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.

---

Creates a new price alert for the authenticated user. The alert will fire when the market bid price reaches the target price. Provide a symbol to identify the instrument.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/price-alerts (the `PostPriceAlerts` operationId).

func (*ClientWithResponses) PostPriceAlertsWithResponse

func (c *ClientWithResponses) PostPriceAlertsWithResponse(ctx context.Context, params *PostPriceAlertsParams, body PostPriceAlertsJSONRequestBody, reqEditors ...RequestEditorFn) (*PostPriceAlertsResponse, error)

PostPriceAlertsWithResponse Create a price alert

**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.

---

Creates a new price alert for the authenticated user. The alert will fire when the market bid price reaches the target price. Provide a symbol to identify the instrument.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/price-alerts (the `PostPriceAlerts` operationId).

func (*ClientWithResponses) PostWatchlistsByWatchlistIdItemsWithBodyWithResponse

func (c *ClientWithResponses) PostWatchlistsByWatchlistIdItemsWithBodyWithResponse(ctx context.Context, watchlistId string, params *PostWatchlistsByWatchlistIdItemsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostWatchlistsByWatchlistIdItemsResponse, error)

PostWatchlistsByWatchlistIdItemsWithBodyWithResponse Add items to watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Adds new items to an existing watchlist.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/watchlists/{watchlistId}/items (the `PostWatchlistsByWatchlistIdItems` operationId).

func (*ClientWithResponses) PostWatchlistsByWatchlistIdItemsWithResponse

PostWatchlistsByWatchlistIdItemsWithResponse Add items to watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Adds new items to an existing watchlist.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/watchlists/{watchlistId}/items (the `PostWatchlistsByWatchlistIdItems` operationId).

func (*ClientWithResponses) PostWatchlistsDefaultWatchlistSelectedItemsWithBodyWithResponse

func (c *ClientWithResponses) PostWatchlistsDefaultWatchlistSelectedItemsWithBodyWithResponse(ctx context.Context, params *PostWatchlistsDefaultWatchlistSelectedItemsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostWatchlistsDefaultWatchlistSelectedItemsResponse, error)

PostWatchlistsDefaultWatchlistSelectedItemsWithBodyWithResponse Create default watchlist with selected items

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Creates a default watchlist populated with the specified items.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/watchlists/default-watchlist/selected-items (the `PostWatchlistsDefaultWatchlistSelectedItems` operationId).

func (*ClientWithResponses) PostWatchlistsDefaultWatchlistSelectedItemsWithResponse

PostWatchlistsDefaultWatchlistSelectedItemsWithResponse Create default watchlist with selected items

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Creates a default watchlist populated with the specified items.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/watchlists/default-watchlist/selected-items (the `PostWatchlistsDefaultWatchlistSelectedItems` operationId).

func (*ClientWithResponses) PostWatchlistsNewasdefaultWatchlistWithResponse

func (c *ClientWithResponses) PostWatchlistsNewasdefaultWatchlistWithResponse(ctx context.Context, params *PostWatchlistsNewasdefaultWatchlistParams, reqEditors ...RequestEditorFn) (*PostWatchlistsNewasdefaultWatchlistResponse, error)

PostWatchlistsNewasdefaultWatchlistWithResponse Create watchlist and set as default

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Creates a new watchlist and immediately sets it as the user's default watchlist.

Returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/watchlists/newasdefault-watchlist (the `PostWatchlistsNewasdefaultWatchlist` operationId).

func (*ClientWithResponses) PostWatchlistsWithResponse

func (c *ClientWithResponses) PostWatchlistsWithResponse(ctx context.Context, params *PostWatchlistsParams, reqEditors ...RequestEditorFn) (*PostWatchlistsResponse, error)

PostWatchlistsWithResponse Create a new watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Creates a new watchlist for the authenticated user with the specified name and type.

Returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/watchlists (the `PostWatchlists` operationId).

func (*ClientWithResponses) PutWatchlistsByWatchlistIdItemsWithBodyWithResponse

func (c *ClientWithResponses) PutWatchlistsByWatchlistIdItemsWithBodyWithResponse(ctx context.Context, watchlistId string, params *PutWatchlistsByWatchlistIdItemsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PutWatchlistsByWatchlistIdItemsResponse, error)

PutWatchlistsByWatchlistIdItemsWithBodyWithResponse Update items in watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}`

---

Updates existing items in a watchlist (rank, etc.).

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with PUT /api/v1/watchlists/{watchlistId}/items (the `PutWatchlistsByWatchlistIdItems` operationId).

func (*ClientWithResponses) PutWatchlistsByWatchlistIdItemsWithResponse

PutWatchlistsByWatchlistIdItemsWithResponse Update items in watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}`

---

Updates existing items in a watchlist (rank, etc.).

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with PUT /api/v1/watchlists/{watchlistId}/items (the `PutWatchlistsByWatchlistIdItems` operationId).

func (*ClientWithResponses) PutWatchlistsByWatchlistIdWithResponse

func (c *ClientWithResponses) PutWatchlistsByWatchlistIdWithResponse(ctx context.Context, watchlistId string, params *PutWatchlistsByWatchlistIdParams, reqEditors ...RequestEditorFn) (*PutWatchlistsByWatchlistIdResponse, error)

PutWatchlistsByWatchlistIdWithResponse Rename watchlist

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Updates the name of an existing watchlist.

Returns a wrapper object for the known response body format(s).

Corresponds with PUT /api/v1/watchlists/{watchlistId} (the `PutWatchlistsByWatchlistId` operationId).

func (*ClientWithResponses) PutWatchlistsRankByWatchlistIdWithResponse

func (c *ClientWithResponses) PutWatchlistsRankByWatchlistIdWithResponse(ctx context.Context, watchlistId string, params *PutWatchlistsRankByWatchlistIdParams, reqEditors ...RequestEditorFn) (*PutWatchlistsRankByWatchlistIdResponse, error)

PutWatchlistsRankByWatchlistIdWithResponse Change watchlist rank

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Updates the display rank of a watchlist.

Returns a wrapper object for the known response body format(s).

Corresponds with PUT /api/v1/watchlists/rank/{watchlistId} (the `PutWatchlistsRankByWatchlistId` operationId).

func (*ClientWithResponses) PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdWithResponse

func (c *ClientWithResponses) PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdWithResponse(ctx context.Context, watchlistId string, params *PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdParams, reqEditors ...RequestEditorFn) (*PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse, error)

PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdWithResponse Set watchlist as default

**Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota: - `DELETE /api/v1/watchlists/{watchlistId}` - `DELETE /api/v1/watchlists/{watchlistId}/items` - `POST /api/v1/watchlists` - `POST /api/v1/watchlists/default-watchlist/selected-items` - `POST /api/v1/watchlists/newasdefault-watchlist` - `POST /api/v1/watchlists/{watchlistId}/items` - `PUT /api/v1/watchlists/rank/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}` - `PUT /api/v1/watchlists/{watchlistId}/items`

---

Sets the specified watchlist as the user's default watchlist.

Returns a wrapper object for the known response body format(s).

Corresponds with PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId} (the `PutWatchlistsSetUserSelectedUserDefaultByWatchlistId` operationId).

func (*ClientWithResponses) RegisterCopyTradingDemoWithBodyWithResponse

func (c *ClientWithResponses) RegisterCopyTradingDemoWithBodyWithResponse(ctx context.Context, params *RegisterCopyTradingDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*RegisterCopyTradingDemoResponse, error)

RegisterCopyTradingDemoWithBodyWithResponse Start copying an investor, or adjust an existing copy

**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.

---

Registers a copy relationship with the given investor for the authenticated account. If the copy already exists, funds will be added to or removed from it; if it does not exist, a new copy will be created and funds transferred into it. Every change of funds causes a realignment process that adjusts all the positions inside the sub-portfolio to match the parent portfolio proportions. Investor account ids (parentCID) are the ids surfaced by the platform's public endpoints (for example, the Rankings endpoints). The operation is asynchronous: the response token acknowledges acceptance, and the outcome can be checked via GET /api/v2/trading/copy/demo/{referenceId} using the referenceID supplied here.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/copy/demo (the `RegisterCopyTradingDemo` operationId).

func (*ClientWithResponses) RegisterCopyTradingDemoWithResponse

RegisterCopyTradingDemoWithResponse Start copying an investor, or adjust an existing copy

**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.

---

Registers a copy relationship with the given investor for the authenticated account. If the copy already exists, funds will be added to or removed from it; if it does not exist, a new copy will be created and funds transferred into it. Every change of funds causes a realignment process that adjusts all the positions inside the sub-portfolio to match the parent portfolio proportions. Investor account ids (parentCID) are the ids surfaced by the platform's public endpoints (for example, the Rankings endpoints). The operation is asynchronous: the response token acknowledges acceptance, and the outcome can be checked via GET /api/v2/trading/copy/demo/{referenceId} using the referenceID supplied here.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/copy/demo (the `RegisterCopyTradingDemo` operationId).

func (*ClientWithResponses) RegisterCopyTradingWithBodyWithResponse

func (c *ClientWithResponses) RegisterCopyTradingWithBodyWithResponse(ctx context.Context, params *RegisterCopyTradingParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*RegisterCopyTradingResponse, error)

RegisterCopyTradingWithBodyWithResponse Start copying an investor, or adjust an existing copy

**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.

---

Registers a copy relationship with the given investor for the authenticated account. If the copy already exists, funds will be added to or removed from it; if it does not exist, a new copy will be created and funds transferred into it. Every change of funds causes a realignment process that adjusts all the positions inside the sub-portfolio to match the parent portfolio proportions. Investor account ids (parentCID) are the ids surfaced by the platform's public endpoints (for example, the Rankings endpoints). The operation is asynchronous: the response token acknowledges acceptance, and the outcome can be checked via GET /api/v2/trading/copy/{referenceId} using the referenceID supplied here.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/copy (the `RegisterCopyTrading` operationId).

func (*ClientWithResponses) RegisterCopyTradingWithResponse

RegisterCopyTradingWithResponse Start copying an investor, or adjust an existing copy

**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.

---

Registers a copy relationship with the given investor for the authenticated account. If the copy already exists, funds will be added to or removed from it; if it does not exist, a new copy will be created and funds transferred into it. Every change of funds causes a realignment process that adjusts all the positions inside the sub-portfolio to match the parent portfolio proportions. Investor account ids (parentCID) are the ids surfaced by the platform's public endpoints (for example, the Rankings endpoints). The operation is asynchronous: the response token acknowledges acceptance, and the outcome can be checked via GET /api/v2/trading/copy/{referenceId} using the referenceID supplied here.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v2/trading/copy (the `RegisterCopyTrading` operationId).

func (*ClientWithResponses) RotateApplicationsClientSecretByClientIdWithResponse

func (c *ClientWithResponses) RotateApplicationsClientSecretByClientIdWithResponse(ctx context.Context, clientId openapi_types.UUID, params *RotateApplicationsClientSecretByClientIdParams, reqEditors ...RequestEditorFn) (*RotateApplicationsClientSecretByClientIdResponse, error)

RotateApplicationsClientSecretByClientIdWithResponse Replace OAuth client secret

**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.

---

Replaces the application's `clientSecret` and returns the new one. Only the application's admin (the caller's GCID must be in `adminGcids`) can rotate. Non-admins receive `404 Not Found` (opaque authorization). **The current secret is not required** - ownership is proven by the access token and the application's `adminGcids`, not by presenting the old secret, which may have been leaked; a leaked secret is the usual reason to rotate. **The previous secret stops working immediately** - there is no overlap window, so anything still using it fails as soon as this call returns. The new secret is returned **only in this response** (one-time reveal) and can never be read again, only replaced. Nothing else about the application changes. An application created moments earlier may briefly answer `404` while it propagates; retry.

Returns a wrapper object for the known response body format(s).

Corresponds with POST /api/v1/sso/applications/{clientId}/client-secret (the `RotateApplicationsClientSecretByClientId` operationId).

func (*ClientWithResponses) SearchPortfoliosWithResponse

func (c *ClientWithResponses) SearchPortfoliosWithResponse(ctx context.Context, params *SearchPortfoliosParams, reqEditors ...RequestEditorFn) (*SearchPortfoliosResponse, error)

SearchPortfoliosWithResponse Search for trader portfolios or Smart Portfolios by free-text query

**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.

---

Returns a relevance-ranked list of publicly visible trader portfolios or Smart Portfolios matching the query string. The required `type` parameter determines which index is searched. Results are capped at `limit`.

Returns a wrapper object for the known response body format(s).

Corresponds with GET /api/v1/portfolios/search (the `SearchPortfolios` operationId).

func (*ClientWithResponses) UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2WithBodyWithResponse

func (c *ClientWithResponses) UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2WithBodyWithResponse(ctx context.Context, agentPortfolioId openapi_types.UUID, userTokenId openapi_types.UUID, params *UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response, error)

UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2WithBodyWithResponse Update User Token (v2)

**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.

---

Updates the settings of an existing user token using scope names. At least one field must be provided. Scopes are specified by name (scopeNames); scope ids are not supported in v2.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with PATCH /api/v2/agent-portfolios/{agentPortfolioId}/user-tokens/{userTokenId} (the `UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2` operationId).

func (*ClientWithResponses) UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2WithResponse

UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2WithResponse Update User Token (v2)

**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.

---

Updates the settings of an existing user token using scope names. At least one field must be provided. Scopes are specified by name (scopeNames); scope ids are not supported in v2.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with PATCH /api/v2/agent-portfolios/{agentPortfolioId}/user-tokens/{userTokenId} (the `UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2` operationId).

func (*ClientWithResponses) UpdateApplicationsByClientIdWithBodyWithResponse

func (c *ClientWithResponses) UpdateApplicationsByClientIdWithBodyWithResponse(ctx context.Context, clientId openapi_types.UUID, params *UpdateApplicationsByClientIdParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateApplicationsByClientIdResponse, error)

UpdateApplicationsByClientIdWithBodyWithResponse Update OAuth application

**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.

---

Updates one or more modifiable fields of an existing OAuth application. Only the application's admin (the caller's GCID must be in `adminGcids`) can perform updates. Non-admins receive `404 Not Found` (opaque authorization - the gateway does not disclose whether the application exists). At least one field must be provided in the body; omitted fields are left unchanged. Uniqueness and length constraints match the create endpoint.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with PUT /api/v1/sso/applications/{clientId} (the `UpdateApplicationsByClientId` operationId).

func (*ClientWithResponses) UpdateApplicationsByClientIdWithResponse

UpdateApplicationsByClientIdWithResponse Update OAuth application

**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.

---

Updates one or more modifiable fields of an existing OAuth application. Only the application's admin (the caller's GCID must be in `adminGcids`) can perform updates. Non-admins receive `404 Not Found` (opaque authorization - the gateway does not disclose whether the application exists). At least one field must be provided in the body; omitted fields are left unchanged. Uniqueness and length constraints match the create endpoint.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with PUT /api/v1/sso/applications/{clientId} (the `UpdateApplicationsByClientId` operationId).

func (*ClientWithResponses) UpdateDemoPositionWithBodyWithResponse

func (c *ClientWithResponses) UpdateDemoPositionWithBodyWithResponse(ctx context.Context, positionId int64, params *UpdateDemoPositionParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateDemoPositionResponse, error)

UpdateDemoPositionWithBodyWithResponse Modify stop-loss and take-profit settings on an open position

**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.

---

Submits an asynchronous request to update stop-loss and/or take-profit on an open position. You can set a new stopLossRate, takeProfitRate, stopLossType, or clear either value (clearStopLoss, clearTakeProfit). At least one SL/TP-related field is required. The response returns acceptance and correlation metadata only.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with PATCH /api/v2/trading/demo/positions/{positionId} (the `UpdateDemoPosition` operationId).

func (*ClientWithResponses) UpdateDemoPositionWithResponse

func (c *ClientWithResponses) UpdateDemoPositionWithResponse(ctx context.Context, positionId int64, params *UpdateDemoPositionParams, body UpdateDemoPositionJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateDemoPositionResponse, error)

UpdateDemoPositionWithResponse Modify stop-loss and take-profit settings on an open position

**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.

---

Submits an asynchronous request to update stop-loss and/or take-profit on an open position. You can set a new stopLossRate, takeProfitRate, stopLossType, or clear either value (clearStopLoss, clearTakeProfit). At least one SL/TP-related field is required. The response returns acceptance and correlation metadata only.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with PATCH /api/v2/trading/demo/positions/{positionId} (the `UpdateDemoPosition` operationId).

func (*ClientWithResponses) UpdateRealPositionWithBodyWithResponse

func (c *ClientWithResponses) UpdateRealPositionWithBodyWithResponse(ctx context.Context, positionId int64, params *UpdateRealPositionParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateRealPositionResponse, error)

UpdateRealPositionWithBodyWithResponse Modify stop-loss and take-profit settings on an open position

**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.

---

Submits an asynchronous request to update stop-loss and/or take-profit on an open position. You can set a new stopLossRate, takeProfitRate, stopLossType, or clear either value (clearStopLoss, clearTakeProfit). At least one SL/TP-related field is required. The response returns acceptance and correlation metadata only.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with PATCH /api/v2/trading/positions/{positionId} (the `UpdateRealPosition` operationId).

func (*ClientWithResponses) UpdateRealPositionWithResponse

func (c *ClientWithResponses) UpdateRealPositionWithResponse(ctx context.Context, positionId int64, params *UpdateRealPositionParams, body UpdateRealPositionJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateRealPositionResponse, error)

UpdateRealPositionWithResponse Modify stop-loss and take-profit settings on an open position

**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.

---

Submits an asynchronous request to update stop-loss and/or take-profit on an open position. You can set a new stopLossRate, takeProfitRate, stopLossType, or clear either value (clearStopLoss, clearTakeProfit). At least one SL/TP-related field is required. The response returns acceptance and correlation metadata only.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with PATCH /api/v2/trading/positions/{positionId} (the `UpdateRealPosition` operationId).

func (*ClientWithResponses) UpdateSubAccountUserTokenWithBodyWithResponse

func (c *ClientWithResponses) UpdateSubAccountUserTokenWithBodyWithResponse(ctx context.Context, userTokenId openapi_types.UUID, params *UpdateSubAccountUserTokenParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateSubAccountUserTokenResponse, error)

UpdateSubAccountUserTokenWithBodyWithResponse Update Sub-Account 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.

---

Updates an existing sub-account user token's scopes, IP whitelist, or expiration. At least one field must be provided.

Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).

Corresponds with PATCH /api/v1/sub-accounts/etoro-trading/user-tokens/{userTokenId} (the `UpdateSubAccountUserToken` operationId).

func (*ClientWithResponses) UpdateSubAccountUserTokenWithResponse

UpdateSubAccountUserTokenWithResponse Update Sub-Account 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.

---

Updates an existing sub-account user token's scopes, IP whitelist, or expiration. At least one field must be provided.

Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).

Corresponds with PATCH /api/v1/sub-accounts/etoro-trading/user-tokens/{userTokenId} (the `UpdateSubAccountUserToken` operationId).

type ClientWithResponsesInterface

type ClientWithResponsesInterface interface {

	// GetAgentPortfoliosWithResponse Get Agent Portfolios
	//
	// **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.
	//
	// ---
	//
	// Retrieves all agent-portfolios belonging to the authenticated user.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/agent-portfolios (the `GetAgentPortfolios` operationId).
	GetAgentPortfoliosWithResponse(ctx context.Context, params *GetAgentPortfoliosParams, reqEditors ...RequestEditorFn) (*GetAgentPortfoliosResponse2, error)

	// DeleteAgentPortfoliosByAgentPortfolioIdWithResponse Delete Agent Portfolio
	//
	// **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.
	//
	// ---
	//
	// Permanently removes a agent-portfolio by revoking all user tokens, stopping the copy mirror, and deleting from storage.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with DELETE /api/v1/agent-portfolios/{agentPortfolioId} (the `DeleteAgentPortfoliosByAgentPortfolioId` operationId).
	DeleteAgentPortfoliosByAgentPortfolioIdWithResponse(ctx context.Context, agentPortfolioId openapi_types.UUID, params *DeleteAgentPortfoliosByAgentPortfolioIdParams, reqEditors ...RequestEditorFn) (*DeleteAgentPortfoliosByAgentPortfolioIdResponse, error)

	// DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdWithResponse Delete 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.
	//
	// ---
	//
	// Permanently revokes the specified user token from a agent-portfolio.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with DELETE /api/v1/agent-portfolios/{agentPortfolioId}/user-tokens/{userTokenId} (the `DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenId` operationId).
	DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdWithResponse(ctx context.Context, agentPortfolioId openapi_types.UUID, userTokenId openapi_types.UUID, params *DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdParams, reqEditors ...RequestEditorFn) (*DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse, error)

	// GetBalancesWithResponse Get aggregated balances
	//
	// **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.
	//
	// ---
	//
	// Returns aggregated balances across all account types for the authenticated user. Optionally filter by account type or specify the display currency for totals.
	//
	// Important: totalBalance and displayBalance are portfolio value, not spendable cash. For Trading, Options, MoneyFarm, Spaceship and Plaee they represent total account value including invested positions; for Crypto, the fiat value of holdings. Only for Cash accounts do they equal available cash. Do not use them to decide whether a trade or withdrawal is affordable — request expand=equityDetails and read equityDetails.available (Trading, Options, MoneyFarm, Cash, Plaee) or equityDetails.spendableBalanceInFiat (Crypto). Spaceship accounts expose no spendable figure. Note that equityDetails amounts are denominated in each account's own native currency, not in displayCurrency, so they must be converted before being compared with displayBalance or totalBalance.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/balances (the `GetBalances` operationId).
	GetBalancesWithResponse(ctx context.Context, params *GetBalancesParams, reqEditors ...RequestEditorFn) (*GetBalancesResponse2, error)

	// GetHistoricalBalancesWithResponse Get historical balance snapshots
	//
	// **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.
	//
	// ---
	//
	// Returns end-of-day balance snapshots across all account types for the authenticated user. History is available for the last 12 months. The maximum date range per request is 365 days.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/balances/history (the `GetHistoricalBalances` operationId).
	GetHistoricalBalancesWithResponse(ctx context.Context, params *GetHistoricalBalancesParams, reqEditors ...RequestEditorFn) (*GetHistoricalBalancesResponse2, error)

	// GetBalancesByAccountTypeWithResponse Get balances by account type
	//
	// **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.
	//
	// ---
	//
	// Returns balances for a specific account type for the authenticated user. Optionally filter by account IDs.
	//
	// Important: totalBalance and displayBalance are portfolio value, not spendable cash. For Trading, Options, MoneyFarm, Spaceship and Plaee they represent total account value including invested positions; for Crypto, the fiat value of holdings. Only for Cash accounts do they equal available cash. Do not use them to decide whether a trade or withdrawal is affordable — request expand=equityDetails and read equityDetails.available (Trading, Options, MoneyFarm, Cash, Plaee) or equityDetails.spendableBalanceInFiat (Crypto). Spaceship accounts expose no spendable figure. Note that equityDetails amounts are denominated in each account's own native currency, not in displayCurrency, so they must be converted before being compared with displayBalance or totalBalance.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/balances/{accountType} (the `GetBalancesByAccountType` operationId).
	GetBalancesByAccountTypeWithResponse(ctx context.Context, accountType AccountTypePathParam, params *GetBalancesByAccountTypeParams, reqEditors ...RequestEditorFn) (*GetBalancesByAccountTypeResponse, error)

	// GetHistoricalBalancesByAccountTypeWithResponse Get historical balances by account type
	//
	// **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.
	//
	// ---
	//
	// Returns end-of-day balance snapshots for a specific account type for the authenticated user. History is available for the last 12 months. The maximum date range per request is 365 days.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/balances/{accountType}/history (the `GetHistoricalBalancesByAccountType` operationId).
	GetHistoricalBalancesByAccountTypeWithResponse(ctx context.Context, accountType AccountTypePathParam, params *GetHistoricalBalancesByAccountTypeParams, reqEditors ...RequestEditorFn) (*GetHistoricalBalancesByAccountTypeResponse, error)

	// GetBalanceByAccountWithResponse Get balance for a specific account
	//
	// **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.
	//
	// ---
	//
	// Returns the balance for a specific account identified by type and account ID for the authenticated user. Zero-balance accounts are always returned by this endpoint, so a 404 means the account does not exist rather than that its balance is zero.
	//
	// Important: totalBalance and displayBalance are portfolio value, not spendable cash. For Trading, Options, MoneyFarm, Spaceship and Plaee they represent total account value including invested positions; for Crypto, the fiat value of holdings. Only for Cash accounts do they equal available cash. Do not use them to decide whether a trade or withdrawal is affordable — request expand=equityDetails and read equityDetails.available (Trading, Options, MoneyFarm, Cash, Plaee) or equityDetails.spendableBalanceInFiat (Crypto). Spaceship accounts expose no spendable figure. Note that equityDetails amounts are denominated in each account's own native currency, not in displayCurrency, so they must be converted before being compared with displayBalance or totalBalance.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/balances/{accountType}/{accountId} (the `GetBalanceByAccount` operationId).
	GetBalanceByAccountWithResponse(ctx context.Context, accountType AccountTypePathParam, accountId string, params *GetBalanceByAccountParams, reqEditors ...RequestEditorFn) (*GetBalanceByAccountResponse, error)

	// GetHistoricalBalanceByAccountWithResponse Get account balance history
	//
	// **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.
	//
	// ---
	//
	// Returns end-of-day balance snapshots for a specific account identified by type and account ID for the authenticated user. History is available for the last 12 months. The maximum date range per request is 365 days.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/balances/{accountType}/{accountId}/history (the `GetHistoricalBalanceByAccount` operationId).
	GetHistoricalBalanceByAccountWithResponse(ctx context.Context, accountType AccountTypePathParam, accountId string, params *GetHistoricalBalanceByAccountParams, reqEditors ...RequestEditorFn) (*GetHistoricalBalanceByAccountResponse, error)

	// GetClubsWithResponse Get club dashboard data
	//
	// **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.
	//
	// ---
	//
	// Retrieves club dashboard data for the authenticated user, including tier information, benefits, account manager details, offers, downgrade risk, and webinars.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/clubs (the `GetClubs` operationId).
	GetClubsWithResponse(ctx context.Context, params *GetClubsParams, reqEditors ...RequestEditorFn) (*GetClubsResponse, error)

	// GetCuratedListsWithResponse Get curated lists
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Retrieves curated investment lists available to the authenticated user.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/curated-lists (the `GetCuratedLists` operationId).
	GetCuratedListsWithResponse(ctx context.Context, params *GetCuratedListsParams, reqEditors ...RequestEditorFn) (*GetCuratedListsResponse, error)

	// GetPriceCandlesWithResponse Get price candles for an instrument
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/data/instruments/{instrumentId}/candles/coverage`
	//
	// ---
	//
	// Full-history OHLC candles for one instrument and interval, from a public view built and kept current by a DataPlatform job. Not user-scoped: identical for every caller for the same instrument and parameters. A range without `from` returns the most recent slice; a slice covers at most 10,080 periods of the interval (7 days of 1m, up to all history for 1d/1w), and a longer range is paged with the keyset `cursor` in `pagination.nextCursor`. An instrument with no data for the interval, or one etoro shows internally only, returns 200 with an empty `results` array, not 404. Call the coverage endpoint first to find a range that has data.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/data/instruments/{instrumentId}/candles (the `GetPriceCandles` operationId).
	GetPriceCandlesWithResponse(ctx context.Context, instrumentId int32, params *GetPriceCandlesParams, reqEditors ...RequestEditorFn) (*GetPriceCandlesResponse, error)

	// GetPriceCandleCoverageWithResponse Get where price candles exist for an instrument
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/data/instruments/{instrumentId}/candles`
	//
	// ---
	//
	// Returns, per interval, the oldest and newest candle, how many exist, and when the daily load last refreshed them. Call it before requesting candles to pick an interval and a range that has data: history can span more than 15 years, and ranges outside it return empty pages. Not user-scoped. An instrument with no data, or one etoro shows internally only, returns an empty `intervals` list, not a 404.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/data/instruments/{instrumentId}/candles/coverage (the `GetPriceCandleCoverage` operationId).
	GetPriceCandleCoverageWithResponse(ctx context.Context, instrumentId int32, params *GetPriceCandleCoverageParams, reqEditors ...RequestEditorFn) (*GetPriceCandleCoverageResponse, error)

	// GetClosedPositionEventsHistoryWithResponse Get the caller's closed position event history counts
	//
	// **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.
	//
	// ---
	//
	// Returns the calling customer's historical count of closed position events, broken down by close year and asset type, one entry per (closeYear, assetType) combination sorted ascending by year then asset type. This is user-scoped: the caller is identified by their own gateway-issued GCID, not a path or query parameter, so it always answers for 'me'. Results are returned under `results` with a `pagination` block; a customer with no closed-position history returns 200 with an empty `results` array, not 404 - there is no distinguishable 'not found' state for this endpoint.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/data/positions/closed-events/history (the `GetClosedPositionEventsHistory` operationId).
	GetClosedPositionEventsHistoryWithResponse(ctx context.Context, params *GetClosedPositionEventsHistoryParams, reqEditors ...RequestEditorFn) (*GetClosedPositionEventsHistoryResponse, error)

	// GetStockbackPromoStatusWithResponse Get the caller's StockBack/Cashback promo status
	//
	// **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.
	//
	// ---
	//
	// Returns the calling customer's current StockBack/Cashback promo enrollment and lifetime USD reward figures - opted-in status, selected stock, professional-investor status, reward channel, club tier, country, this month's expected reward, and lifetime StockBack/Cashback/total USD earned. This is user-scoped: the caller is identified by their own gateway-issued GCID, not a path or query parameter, so it always answers for 'me'. A customer who is not (or not yet) enrolled in the promo still returns 200, with every value field null, rather than 404 - a 404 means no row exists for this GCID at all, which is a data-completeness gap, not simply 'not enrolled'.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/data/stockback/promo-status (the `GetStockbackPromoStatus` operationId).
	GetStockbackPromoStatusWithResponse(ctx context.Context, params *GetStockbackPromoStatusParams, reqEditors ...RequestEditorFn) (*GetStockbackPromoStatusResponse, error)

	// GetImpressionsTopassetsUserByGcidWithResponse Get top assets for a user
	//
	// **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.
	//
	// ---
	//
	// Retrieves a ranked list of top asset scores associated with a specific user, based on impressions data.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/impressions/topassets/user/{gcid} (the `GetImpressionsTopassetsUserByGcid` operationId).
	GetImpressionsTopassetsUserByGcidWithResponse(ctx context.Context, gcid int32, params *GetImpressionsTopassetsUserByGcidParams, reqEditors ...RequestEditorFn) (*GetImpressionsTopassetsUserByGcidResponse, error)

	// GetKeydataByApplicationWithResponse Get application key data
	//
	// **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.
	//
	// ---
	//
	// Returns the key/value data configured for the given application.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/keydata/{application} (the `GetKeydataByApplication` operationId).
	GetKeydataByApplicationWithResponse(ctx context.Context, application string, params *GetKeydataByApplicationParams, reqEditors ...RequestEditorFn) (*GetKeydataByApplicationResponse, error)

	// GetMarketDataExchangesWithResponse List supported exchanges
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/market-data/exchanges (the `GetMarketDataExchanges` operationId).
	GetMarketDataExchangesWithResponse(ctx context.Context, params *GetMarketDataExchangesParams, reqEditors ...RequestEditorFn) (*GetMarketDataExchangesResponse, error)

	// GetMarketDataInstrumentTypesWithResponse List instrument types
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/market-data/instrument-types (the `GetMarketDataInstrumentTypes` operationId).
	GetMarketDataInstrumentTypesWithResponse(ctx context.Context, params *GetMarketDataInstrumentTypesParams, reqEditors ...RequestEditorFn) (*GetMarketDataInstrumentTypesResponse, error)

	// GetMarketDataInstrumentsWithResponse Get instrument display data
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/market-data/instruments (the `GetMarketDataInstruments` operationId).
	GetMarketDataInstrumentsWithResponse(ctx context.Context, params *GetMarketDataInstrumentsParams, reqEditors ...RequestEditorFn) (*GetMarketDataInstrumentsResponse, error)

	// GetMarketDataInstrumentsHistoryClosingPriceWithResponse Get historical closing prices
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/market-data/instruments/history/closing-price (the `GetMarketDataInstrumentsHistoryClosingPrice` operationId).
	GetMarketDataInstrumentsHistoryClosingPriceWithResponse(ctx context.Context, params *GetMarketDataInstrumentsHistoryClosingPriceParams, reqEditors ...RequestEditorFn) (*GetMarketDataInstrumentsHistoryClosingPriceResponse, error)

	// GetMarketDataInstrumentsRatesWithResponse Get instrument market rates
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// ---
	//
	// Provides real-time market data including bid/ask prices, conversion rates, and execution prices for specified financial instruments. Essential for price discovery and trade execution decisions.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/market-data/instruments/rates (the `GetMarketDataInstrumentsRates` operationId).
	GetMarketDataInstrumentsRatesWithResponse(ctx context.Context, params *GetMarketDataInstrumentsRatesParams, reqEditors ...RequestEditorFn) (*GetMarketDataInstrumentsRatesResponse, error)

	// GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountWithResponse Get instrument candle history
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// ---
	//
	// Retrieves historical price data in OHLCV (Open, High, Low, Close, Volume) format for a specified instrument. The data is organized into time-based candles of various intervals, from one minute to one week.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount} (the `GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCount` operationId).
	GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountWithResponse(ctx context.Context, instrumentId int, direction GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsDirection, interval GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsInterval, candlesCount int, params *GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParams, reqEditors ...RequestEditorFn) (*GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse, error)

	// GetMarketDataSearchWithResponse Search for Instruments
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// ---
	//
	// Retrieve a paginated list of instruments. Any field in the Instrument response schema can be projected via the required `fields` parameter and/or used as a query-string filter (e.g. `fields=instrumentId,displayname&displayname=Bitcoin`). Use `pageSize`/`pageNumber` to paginate and `sort` to order. Filters that do not match an indexed instrument field are ignored.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/market-data/search (the `GetMarketDataSearch` operationId).
	GetMarketDataSearchWithResponse(ctx context.Context, params *GetMarketDataSearchParams, reqEditors ...RequestEditorFn) (*GetMarketDataSearchResponse, error)

	// GetMarketDataStocksIndustriesWithResponse Get stocks industries
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/market-data/stocks-industries (the `GetMarketDataStocksIndustries` operationId).
	GetMarketDataStocksIndustriesWithResponse(ctx context.Context, params *GetMarketDataStocksIndustriesParams, reqEditors ...RequestEditorFn) (*GetMarketDataStocksIndustriesResponse, error)

	// GetMarketRecommendationsByItemsCountWithResponse Get market recommendations
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Retrieves personalized market recommendations for the authenticated user.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/market-recommendations/{itemsCount} (the `GetMarketRecommendationsByItemsCount` operationId).
	GetMarketRecommendationsByItemsCountWithResponse(ctx context.Context, itemsCount int16, params *GetMarketRecommendationsByItemsCountParams, reqEditors ...RequestEditorFn) (*GetMarketRecommendationsByItemsCountResponse, error)

	// GetMeWithResponse Get authenticated user profile
	//
	// **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.
	//
	// ---
	//
	// Returns the profile of the currently authenticated user, including account identifiers (GCID, real and demo CIDs), profile fields from Scope Data API (username, name, player level, gender, language, date of birth, avatar URL), and the OAuth scopes granted to the current access token.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/me (the `GetMe` operationId).
	GetMeWithResponse(ctx context.Context, params *GetMeParams, reqEditors ...RequestEditorFn) (*GetMeResponse, error)

	// ListCashAccountTransactionsWithResponse List cash account transactions (paginated)
	//
	// **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.
	//
	// ---
	//
	// Returns a cursor-paginated list of transactions for the given cash account. Use pageSize and pageToken for pagination; nextPageToken is null when there is no next page.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/money/accounts/cash/{accountId}/transactions (the `ListCashAccountTransactions` operationId).
	ListCashAccountTransactionsWithResponse(ctx context.Context, accountId openapi_types.UUID, params *ListCashAccountTransactionsParams, reqEditors ...RequestEditorFn) (*ListCashAccountTransactionsResponse, error)

	// GetTransferEligibilityWithResponse Transfer eligibility (source and destination accounts)
	//
	// **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.
	//
	// ---
	//
	// Returns the full eligibility graph for the authenticated customer: for each source account, the destination accounts allowed for transfers.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/money/transfer-eligibility (the `GetTransferEligibility` operationId).
	GetTransferEligibilityWithResponse(ctx context.Context, params *GetTransferEligibilityParams, reqEditors ...RequestEditorFn) (*GetTransferEligibilityResponse, error)

	// GetTransferFeeConfigurationWithResponse List transfer fees
	//
	// **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.
	//
	// ---
	//
	// Returns transfer fee configuration for the authenticated customer as a list of rows, one per source/destination account type route.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/money/transfer-fee-configurations (the `GetTransferFeeConfiguration` operationId).
	GetTransferFeeConfigurationWithResponse(ctx context.Context, params *GetTransferFeeConfigurationParams, reqEditors ...RequestEditorFn) (*GetTransferFeeConfigurationResponse, error)

	// GetTransferLimitsWithResponse List transfer limits
	//
	// **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.
	//
	// ---
	//
	// Returns transfer amount limits for each allowed combination of source and destination account types.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/money/transfer-limits (the `GetTransferLimits` operationId).
	GetTransferLimitsWithResponse(ctx context.Context, params *GetTransferLimitsParams, reqEditors ...RequestEditorFn) (*GetTransferLimitsResponse, error)

	// GetTransferableBalanceWithResponse Get max transferable amount
	//
	// **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.
	//
	// ---
	//
	// Returns the maximum amount the customer may transfer from the specified source account to the specified destination account.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/money/transferable-balance (the `GetTransferableBalance` operationId).
	GetTransferableBalanceWithResponse(ctx context.Context, params *GetTransferableBalanceParams, reqEditors ...RequestEditorFn) (*GetTransferableBalanceResponse, error)

	// PostMoneyTransferWithBodyWithResponse Execute an internal account-to-account transfer
	//
	// **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.
	//
	// ---
	//
	// Executes an internal transfer from the source account to the destination account for the authenticated customer.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/money/transfers (the `PostMoneyTransfer` operationId).
	PostMoneyTransferWithBodyWithResponse(ctx context.Context, params *PostMoneyTransferParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostMoneyTransferResponse, error)

	// PostMoneyTransferWithResponse Execute an internal account-to-account transfer
	//
	// **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.
	//
	// ---
	//
	// Executes an internal transfer from the source account to the destination account for the authenticated customer.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/money/transfers (the `PostMoneyTransfer` operationId).
	PostMoneyTransferWithResponse(ctx context.Context, params *PostMoneyTransferParams, body PostMoneyTransferJSONRequestBody, reqEditors ...RequestEditorFn) (*PostMoneyTransferResponse, error)

	// GetTransferByIdWithResponse Get transfer by ID
	//
	// **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.
	//
	// ---
	//
	// Returns the TransferLookupResult wrapper containing exactly one TransferLookupResponse matching the server transferId. Returns 404 when the transfer does not exist or is not visible to the authenticated customer.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/money/transfers/{transferId} (the `GetTransferById` operationId).
	GetTransferByIdWithResponse(ctx context.Context, transferId int64, params *GetTransferByIdParams, reqEditors ...RequestEditorFn) (*GetTransferByIdResponse, error)

	// LookupTransfersByRequestReferenceIdWithResponse List transfers by reference ID
	//
	// **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.
	//
	// ---
	//
	// Returns a list of transfers for the authenticated customer, keyed by the client requestReferenceId query parameter.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/money/transfers:lookup (the `LookupTransfersByRequestReferenceId` operationId).
	LookupTransfersByRequestReferenceIdWithResponse(ctx context.Context, params *LookupTransfersByRequestReferenceIdParams, reqEditors ...RequestEditorFn) (*LookupTransfersByRequestReferenceIdResponse, error)

	// GetNotificationsMessagesWithResponse Get in-app notifications
	//
	// **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.
	//
	// ---
	//
	// Retrieves all in-app notifications for the authenticated user. Rate limit: 1 request per second.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/notifications/messages (the `GetNotificationsMessages` operationId).
	GetNotificationsMessagesWithResponse(ctx context.Context, params *GetNotificationsMessagesParams, reqEditors ...RequestEditorFn) (*GetNotificationsMessagesResponse, error)

	// PatchNotificationsMessagesWithResponse Mark all notifications as read
	//
	// **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.
	//
	// ---
	//
	// Marks all notifications as read for the authenticated user. Rate limit: 20 requests per minute.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PATCH /api/v1/notifications/messages (the `PatchNotificationsMessages` operationId).
	PatchNotificationsMessagesWithResponse(ctx context.Context, params *PatchNotificationsMessagesParams, reqEditors ...RequestEditorFn) (*PatchNotificationsMessagesResponse, error)

	// GetPiDataCopiersWithResponse Get copiers public info
	//
	// **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.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/pi-data/copiers (the `GetPiDataCopiers` operationId).
	GetPiDataCopiersWithResponse(ctx context.Context, params *GetPiDataCopiersParams, reqEditors ...RequestEditorFn) (*GetPiDataCopiersResponse, error)

	// SearchPortfoliosWithResponse Search for trader portfolios or Smart Portfolios by free-text query
	//
	// **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.
	//
	// ---
	//
	// Returns a relevance-ranked list of publicly visible trader portfolios or Smart Portfolios matching the query string. The required `type` parameter determines which index is searched. Results are capped at `limit`.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/portfolios/search (the `SearchPortfolios` operationId).
	SearchPortfoliosWithResponse(ctx context.Context, params *SearchPortfoliosParams, reqEditors ...RequestEditorFn) (*SearchPortfoliosResponse, error)

	// GetPriceAlertsWithResponse Get price alerts
	//
	// **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.
	//
	// ---
	//
	// Returns all active price alerts for the authenticated user. Supports optional filtering by alertIds, instrumentIds, or symbols. The instrumentIds and symbols filters refer to the same dimension and are OR-combined with each other. The resulting instrument filter is AND-combined with alertIds. When no filters are provided, returns all active alerts.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/price-alerts (the `GetPriceAlerts` operationId).
	GetPriceAlertsWithResponse(ctx context.Context, params *GetPriceAlertsParams, reqEditors ...RequestEditorFn) (*GetPriceAlertsResponse, error)

	// PostPriceAlertsWithBodyWithResponse Create a price alert
	//
	// **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.
	//
	// ---
	//
	// Creates a new price alert for the authenticated user. The alert will fire when the market bid price reaches the target price. Provide a symbol to identify the instrument.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/price-alerts (the `PostPriceAlerts` operationId).
	PostPriceAlertsWithBodyWithResponse(ctx context.Context, params *PostPriceAlertsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostPriceAlertsResponse, error)

	// PostPriceAlertsWithResponse Create a price alert
	//
	// **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.
	//
	// ---
	//
	// Creates a new price alert for the authenticated user. The alert will fire when the market bid price reaches the target price. Provide a symbol to identify the instrument.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/price-alerts (the `PostPriceAlerts` operationId).
	PostPriceAlertsWithResponse(ctx context.Context, params *PostPriceAlertsParams, body PostPriceAlertsJSONRequestBody, reqEditors ...RequestEditorFn) (*PostPriceAlertsResponse, error)

	// DeletePriceAlertsByAlertIdWithResponse Delete a price alert
	//
	// **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.
	//
	// ---
	//
	// Permanently deletes a price alert owned by the authenticated user.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with DELETE /api/v1/price-alerts/{alertId} (the `DeletePriceAlertsByAlertId` operationId).
	DeletePriceAlertsByAlertIdWithResponse(ctx context.Context, alertId openapi_types.UUID, params *DeletePriceAlertsByAlertIdParams, reqEditors ...RequestEditorFn) (*DeletePriceAlertsByAlertIdResponse, error)

	// PatchPriceAlertsByAlertIdWithBodyWithResponse Update a price alert
	//
	// **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.
	//
	// ---
	//
	// Updates the target price of an existing price alert.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PATCH /api/v1/price-alerts/{alertId} (the `PatchPriceAlertsByAlertId` operationId).
	PatchPriceAlertsByAlertIdWithBodyWithResponse(ctx context.Context, alertId openapi_types.UUID, params *PatchPriceAlertsByAlertIdParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PatchPriceAlertsByAlertIdResponse, error)

	// PatchPriceAlertsByAlertIdWithResponse Update a price alert
	//
	// **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.
	//
	// ---
	//
	// Updates the target price of an existing price alert.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PATCH /api/v1/price-alerts/{alertId} (the `PatchPriceAlertsByAlertId` operationId).
	PatchPriceAlertsByAlertIdWithResponse(ctx context.Context, alertId openapi_types.UUID, params *PatchPriceAlertsByAlertIdParams, body PatchPriceAlertsByAlertIdJSONRequestBody, reqEditors ...RequestEditorFn) (*PatchPriceAlertsByAlertIdResponse, error)

	// GetApplicationsWithResponse List my OAuth applications
	//
	// **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.
	//
	// ---
	//
	// Returns every OAuth application where the authenticated user (matched by GCID) is listed as an administrator. The `clientSecret` is never included in this response - it is revealed only when the application is created, or when it is replaced via `POST /api/v1/sso/applications/{clientId}/client-secret`.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/sso/applications (the `GetApplications` operationId).
	GetApplicationsWithResponse(ctx context.Context, params *GetApplicationsParams, reqEditors ...RequestEditorFn) (*GetApplicationsResponse2, error)

	// CreateApplicationsWithBodyWithResponse Register OAuth application
	//
	// **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.
	//
	// ---
	//
	// Creates a new OAuth application. The authenticated user automatically becomes the application admin. Both `clientId` and `clientSecret` are auto-generated server-side. The `clientSecret` is returned **only in this response** (one-time reveal) - subsequent reads will never expose it again, so callers must store it securely. Auto-populated defaults (audience, applicationType, supported flows, token expirations) come from service configuration. Validation: `applicationName` max 100 chars, `applicationIconUrl` max 500 chars, each `redirectUri` max 500 chars and unique, each `scopeId` positive and recognized in the scope catalog.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/sso/applications (the `CreateApplications` operationId).
	CreateApplicationsWithBodyWithResponse(ctx context.Context, params *CreateApplicationsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateApplicationsResponse, error)

	// CreateApplicationsWithResponse Register OAuth application
	//
	// **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.
	//
	// ---
	//
	// Creates a new OAuth application. The authenticated user automatically becomes the application admin. Both `clientId` and `clientSecret` are auto-generated server-side. The `clientSecret` is returned **only in this response** (one-time reveal) - subsequent reads will never expose it again, so callers must store it securely. Auto-populated defaults (audience, applicationType, supported flows, token expirations) come from service configuration. Validation: `applicationName` max 100 chars, `applicationIconUrl` max 500 chars, each `redirectUri` max 500 chars and unique, each `scopeId` positive and recognized in the scope catalog.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/sso/applications (the `CreateApplications` operationId).
	CreateApplicationsWithResponse(ctx context.Context, params *CreateApplicationsParams, body CreateApplicationsJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateApplicationsResponse, error)

	// DeleteApplicationsByClientIdWithResponse Delete OAuth application
	//
	// **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.
	//
	// ---
	//
	// Permanently deletes an OAuth application. Only the application's admin can delete it. Non-admins receive `404 Not Found` (opaque authorization). The application stops appearing in `GET /api/v1/sso/applications` within a few seconds.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with DELETE /api/v1/sso/applications/{clientId} (the `DeleteApplicationsByClientId` operationId).
	DeleteApplicationsByClientIdWithResponse(ctx context.Context, clientId openapi_types.UUID, params *DeleteApplicationsByClientIdParams, reqEditors ...RequestEditorFn) (*DeleteApplicationsByClientIdResponse, error)

	// UpdateApplicationsByClientIdWithBodyWithResponse Update OAuth application
	//
	// **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.
	//
	// ---
	//
	// Updates one or more modifiable fields of an existing OAuth application. Only the application's admin (the caller's GCID must be in `adminGcids`) can perform updates. Non-admins receive `404 Not Found` (opaque authorization - the gateway does not disclose whether the application exists). At least one field must be provided in the body; omitted fields are left unchanged. Uniqueness and length constraints match the create endpoint.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PUT /api/v1/sso/applications/{clientId} (the `UpdateApplicationsByClientId` operationId).
	UpdateApplicationsByClientIdWithBodyWithResponse(ctx context.Context, clientId openapi_types.UUID, params *UpdateApplicationsByClientIdParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateApplicationsByClientIdResponse, error)

	// UpdateApplicationsByClientIdWithResponse Update OAuth application
	//
	// **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.
	//
	// ---
	//
	// Updates one or more modifiable fields of an existing OAuth application. Only the application's admin (the caller's GCID must be in `adminGcids`) can perform updates. Non-admins receive `404 Not Found` (opaque authorization - the gateway does not disclose whether the application exists). At least one field must be provided in the body; omitted fields are left unchanged. Uniqueness and length constraints match the create endpoint.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PUT /api/v1/sso/applications/{clientId} (the `UpdateApplicationsByClientId` operationId).
	UpdateApplicationsByClientIdWithResponse(ctx context.Context, clientId openapi_types.UUID, params *UpdateApplicationsByClientIdParams, body UpdateApplicationsByClientIdJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateApplicationsByClientIdResponse, error)

	// RotateApplicationsClientSecretByClientIdWithResponse Replace OAuth client secret
	//
	// **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.
	//
	// ---
	//
	// Replaces the application's `clientSecret` and returns the new one. Only the application's admin (the caller's GCID must be in `adminGcids`) can rotate. Non-admins receive `404 Not Found` (opaque authorization). **The current secret is not required** - ownership is proven by the access token and the application's `adminGcids`, not by presenting the old secret, which may have been leaked; a leaked secret is the usual reason to rotate. **The previous secret stops working immediately** - there is no overlap window, so anything still using it fails as soon as this call returns. The new secret is returned **only in this response** (one-time reveal) and can never be read again, only replaced. Nothing else about the application changes. An application created moments earlier may briefly answer `404` while it propagates; retry.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/sso/applications/{clientId}/client-secret (the `RotateApplicationsClientSecretByClientId` operationId).
	RotateApplicationsClientSecretByClientIdWithResponse(ctx context.Context, clientId openapi_types.UUID, params *RotateApplicationsClientSecretByClientIdParams, reqEditors ...RequestEditorFn) (*RotateApplicationsClientSecretByClientIdResponse, error)

	// GetScopesWithResponse List available OAuth scopes
	//
	// **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.
	//
	// ---
	//
	// Returns the public catalog of OAuth scopes that can be requested when creating or updating an application. Use this endpoint to render scope pickers and to validate scope ids client-side before calling create/update.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/sso/scopes (the `GetScopes` operationId).
	GetScopesWithResponse(ctx context.Context, params *GetScopesParams, reqEditors ...RequestEditorFn) (*GetScopesResponse2, error)

	// CreateSubAccountMoneyTransferWithBodyWithResponse Create Sub-Account Money Transfer
	//
	// **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.
	//
	// ---
	//
	// Executes a money transfer between the authenticated caller and the sub-account identified by the x-sub-account-id header. The amount must be positive with up to two decimal places. Direction ToSubAccount moves funds from the caller to the sub-account; FromSubAccount moves funds from the sub-account back to the caller.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/sub-accounts/etoro-trading/money-transfers (the `CreateSubAccountMoneyTransfer` operationId).
	CreateSubAccountMoneyTransferWithBodyWithResponse(ctx context.Context, params *CreateSubAccountMoneyTransferParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateSubAccountMoneyTransferResponse, error)

	// CreateSubAccountMoneyTransferWithResponse Create Sub-Account Money Transfer
	//
	// **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.
	//
	// ---
	//
	// Executes a money transfer between the authenticated caller and the sub-account identified by the x-sub-account-id header. The amount must be positive with up to two decimal places. Direction ToSubAccount moves funds from the caller to the sub-account; FromSubAccount moves funds from the sub-account back to the caller.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/sub-accounts/etoro-trading/money-transfers (the `CreateSubAccountMoneyTransfer` operationId).
	CreateSubAccountMoneyTransferWithResponse(ctx context.Context, params *CreateSubAccountMoneyTransferParams, body CreateSubAccountMoneyTransferJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateSubAccountMoneyTransferResponse, error)

	// GetSubAccountUserTokensWithResponse List Sub-Account User Tokens
	//
	// **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.
	//
	// ---
	//
	// Lists all sub-account non-interactive user tokens owned by the authenticated user, across all their etoro trading sub-accounts. The secret token value is never included in list results.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/sub-accounts/etoro-trading/user-tokens (the `GetSubAccountUserTokens` operationId).
	GetSubAccountUserTokensWithResponse(ctx context.Context, params *GetSubAccountUserTokensParams, reqEditors ...RequestEditorFn) (*GetSubAccountUserTokensResponse, error)

	// CreateSubAccountUserTokenWithBodyWithResponse Create Sub-Account 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.
	//
	// ---
	//
	// Generates a non-interactive user token for the sub-account identified by the x-sub-account-id header. The secret token value is returned only once, in this response.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/sub-accounts/etoro-trading/user-tokens (the `CreateSubAccountUserToken` operationId).
	CreateSubAccountUserTokenWithBodyWithResponse(ctx context.Context, params *CreateSubAccountUserTokenParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateSubAccountUserTokenResponse, error)

	// CreateSubAccountUserTokenWithResponse Create Sub-Account 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.
	//
	// ---
	//
	// Generates a non-interactive user token for the sub-account identified by the x-sub-account-id header. The secret token value is returned only once, in this response.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/sub-accounts/etoro-trading/user-tokens (the `CreateSubAccountUserToken` operationId).
	CreateSubAccountUserTokenWithResponse(ctx context.Context, params *CreateSubAccountUserTokenParams, body CreateSubAccountUserTokenJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateSubAccountUserTokenResponse, error)

	// GetSubAccountUserTokenScopesWithResponse Get Allowed Sub-Account Token Scopes
	//
	// **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.
	//
	// ---
	//
	// Returns the scope names that may be assigned to sub-account non-interactive user tokens (the etoro-trading-subaccount application's scopes).
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/sub-accounts/etoro-trading/user-tokens/scopes (the `GetSubAccountUserTokenScopes` operationId).
	GetSubAccountUserTokenScopesWithResponse(ctx context.Context, params *GetSubAccountUserTokenScopesParams, reqEditors ...RequestEditorFn) (*GetSubAccountUserTokenScopesResponse, error)

	// DeleteSubAccountUserTokenWithResponse Revoke Sub-Account 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.
	//
	// ---
	//
	// Revokes a sub-account user token. Revocation is idempotent, so revoking a token that does not exist also succeeds.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with DELETE /api/v1/sub-accounts/etoro-trading/user-tokens/{userTokenId} (the `DeleteSubAccountUserToken` operationId).
	DeleteSubAccountUserTokenWithResponse(ctx context.Context, userTokenId openapi_types.UUID, params *DeleteSubAccountUserTokenParams, reqEditors ...RequestEditorFn) (*DeleteSubAccountUserTokenResponse, error)

	// UpdateSubAccountUserTokenWithBodyWithResponse Update Sub-Account 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.
	//
	// ---
	//
	// Updates an existing sub-account user token's scopes, IP whitelist, or expiration. At least one field must be provided.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PATCH /api/v1/sub-accounts/etoro-trading/user-tokens/{userTokenId} (the `UpdateSubAccountUserToken` operationId).
	UpdateSubAccountUserTokenWithBodyWithResponse(ctx context.Context, userTokenId openapi_types.UUID, params *UpdateSubAccountUserTokenParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateSubAccountUserTokenResponse, error)

	// UpdateSubAccountUserTokenWithResponse Update Sub-Account 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.
	//
	// ---
	//
	// Updates an existing sub-account user token's scopes, IP whitelist, or expiration. At least one field must be provided.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PATCH /api/v1/sub-accounts/etoro-trading/user-tokens/{userTokenId} (the `UpdateSubAccountUserToken` operationId).
	UpdateSubAccountUserTokenWithResponse(ctx context.Context, userTokenId openapi_types.UUID, params *UpdateSubAccountUserTokenParams, body UpdateSubAccountUserTokenJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateSubAccountUserTokenResponse, error)

	// GetMySubAccountsWithResponse Get My Sub-Accounts
	//
	// **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.
	//
	// ---
	//
	// Returns the authenticated user's sub-accounts. Currently the supported provider is `etoro-trading` (etoro trading sub-accounts); additional sub-account providers will be added over time.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/sub-accounts/me/accounts (the `GetMySubAccounts` operationId).
	GetMySubAccountsWithResponse(ctx context.Context, params *GetMySubAccountsParams, reqEditors ...RequestEditorFn) (*GetMySubAccountsResponse, error)

	// CreateMySubAccountWithBodyWithResponse Create My Sub-Account
	//
	// **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.
	//
	// ---
	//
	// Creates a sub-account for the authenticated user with the given provider. Currently the supported provider is `etoro-trading` (creates an etoro trading sub-account); additional sub-account providers will be added over time. For `etoro-trading`, `additionalParams.username` is required.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/sub-accounts/me/accounts (the `CreateMySubAccount` operationId).
	CreateMySubAccountWithBodyWithResponse(ctx context.Context, params *CreateMySubAccountParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateMySubAccountResponse, error)

	// CreateMySubAccountWithResponse Create My Sub-Account
	//
	// **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.
	//
	// ---
	//
	// Creates a sub-account for the authenticated user with the given provider. Currently the supported provider is `etoro-trading` (creates an etoro trading sub-account); additional sub-account providers will be added over time. For `etoro-trading`, `additionalParams.username` is required.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/sub-accounts/me/accounts (the `CreateMySubAccount` operationId).
	CreateMySubAccountWithResponse(ctx context.Context, params *CreateMySubAccountParams, body CreateMySubAccountJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateMySubAccountResponse, error)

	// CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdWithBodyWithResponse Close demo position by units
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/demo/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/demo/orders`
	// - `POST /api/v3/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint allows traders to close an entire position or a portion of it at the current market rate. If `UnitsToDeduct` is provided, only the specified portion will be closed. If `UnitsToDeduct` is omitted or set to null, the full position will be closed. A 200 response means the close order was submitted, not that the position was closed. Confirm the outcome with GET /api/v1/trading/info/demo/close-orders/{orderId}, using the orderID returned under orderForClose.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId} (the `CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId` operationId).
	CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdWithBodyWithResponse(ctx context.Context, positionId int64, params *CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse, error)

	// CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdWithResponse Close demo position by units
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/demo/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/demo/orders`
	// - `POST /api/v3/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint allows traders to close an entire position or a portion of it at the current market rate. If `UnitsToDeduct` is provided, only the specified portion will be closed. If `UnitsToDeduct` is omitted or set to null, the full position will be closed. A 200 response means the close order was submitted, not that the position was closed. Confirm the outcome with GET /api/v1/trading/info/demo/close-orders/{orderId}, using the orderID returned under orderForClose.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId} (the `CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId` operationId).
	CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdWithResponse(ctx context.Context, positionId int64, params *CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdParams, body CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse, error)

	// DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdWithResponse Cancel pending demo close order
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/demo/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/demo/orders`
	// - `POST /api/v3/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint allows traders to cancel a previously placed market order for close before execution. If the order has already been processed, cancellation will not be possible. A 200 response confirms the cancellation request was received, not that the order was cancelled. Confirm with GET /api/v1/trading/info/demo/close-orders/{orderId}, using the orderId of the close order you tried to cancel. If the DELETE response is lost (timeout or network error), do not resend the cancel - poll that GET endpoint with the same orderId. Units reported as executed in its positions[] array were closed before the cancel took effect; the remainder was not closed. No executed entries in positions[] means nothing was closed. Poll until statusID is terminal: 7 (CANCELED) = cancelled with nothing executed, 9 (CANCELED_PARTIALLY_FILLED) = cancelled after a partial fill (executed units in positions[]), 3 (FILLED) = fully executed before the cancel; 1, 2, 5, 6 and 11 are still pending.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId} (the `DeleteTradingExecutionDemoMarketCloseOrdersByOrderId` operationId).
	DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdWithResponse(ctx context.Context, orderId int64, params *DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse, error)

	// CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdWithBodyWithResponse Close position by units
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/orders`
	// - `POST /api/v3/trading/execution/orders`
	//
	// ---
	//
	// This endpoint allows traders to close an entire position or a portion of it at the current market rate. If `UnitsToDeduct` is provided, only the specified portion will be closed. If `UnitsToDeduct` is omitted or set to null, the full position will be closed. A 200 response means the close order was submitted, not that the position was closed. Confirm the outcome with GET /api/v1/trading/info/real/close-orders/{orderId}, using the orderID returned under orderForClose.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/trading/execution/market-close-orders/positions/{positionId} (the `CreateTradingExecutionMarketCloseOrdersPositionsByPositionId` operationId).
	CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdWithBodyWithResponse(ctx context.Context, positionId int64, params *CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse, error)

	// CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdWithResponse Close position by units
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/orders`
	// - `POST /api/v3/trading/execution/orders`
	//
	// ---
	//
	// This endpoint allows traders to close an entire position or a portion of it at the current market rate. If `UnitsToDeduct` is provided, only the specified portion will be closed. If `UnitsToDeduct` is omitted or set to null, the full position will be closed. A 200 response means the close order was submitted, not that the position was closed. Confirm the outcome with GET /api/v1/trading/info/real/close-orders/{orderId}, using the orderID returned under orderForClose.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/trading/execution/market-close-orders/positions/{positionId} (the `CreateTradingExecutionMarketCloseOrdersPositionsByPositionId` operationId).
	CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdWithResponse(ctx context.Context, positionId int64, params *CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdParams, body CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse, error)

	// DeleteTradingExecutionMarketCloseOrdersByOrderIdWithResponse Cancel pending close order
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/orders`
	// - `POST /api/v3/trading/execution/orders`
	//
	// ---
	//
	// This endpoint allows traders to cancel a previously placed market order for close before execution. If the order has already been processed, cancellation will not be possible. A 200 response confirms the cancellation request was received, not that the order was cancelled. Confirm with GET /api/v1/trading/info/real/close-orders/{orderId}, using the orderId of the close order you tried to cancel. If the DELETE response is lost (timeout or network error), do not resend the cancel - poll that GET endpoint with the same orderId. Units reported as executed in its positions[] array were closed before the cancel took effect; the remainder was not closed. No executed entries in positions[] means nothing was closed. Poll until statusID is terminal: 7 (CANCELED) = cancelled with nothing executed, 9 (CANCELED_PARTIALLY_FILLED) = cancelled after a partial fill (executed units in positions[]), 3 (FILLED) = fully executed before the cancel; 1, 2, 5, 6 and 11 are still pending.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with DELETE /api/v1/trading/execution/market-close-orders/{orderId} (the `DeleteTradingExecutionMarketCloseOrdersByOrderId` operationId).
	DeleteTradingExecutionMarketCloseOrdersByOrderIdWithResponse(ctx context.Context, orderId int64, params *DeleteTradingExecutionMarketCloseOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse, error)

	// GetAggregatedPortfolioWithResponse Get aggregated portfolio snapshot
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `POST /api/v1/trading/info/aggregate-portfolio`
	//
	// ---
	//
	// Returns a complete snapshot of the authenticated user's investment portfolio, organized by asset. The response includes account-level balances and equity, individually held positions grouped by asset, and any copy-trading relationships the user has active. Use the instrumentIds filter to scope results to a specific set of assets, or mirrorIds to isolate specific copy-trading relationships. Account totals always reflect the full portfolio regardless of filters applied.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/trading/info/aggregate-portfolio (the `GetAggregatedPortfolio` operationId).
	GetAggregatedPortfolioWithResponse(ctx context.Context, params *GetAggregatedPortfolioParams, reqEditors ...RequestEditorFn) (*GetAggregatedPortfolioResponse, error)

	// PostAggregatedPortfolioWithBodyWithResponse Get a filtered aggregated portfolio snapshot
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/aggregate-portfolio`
	//
	// ---
	//
	// Returns the portfolio using aggregation levels and structured per-mirror instrument filters from the request body. This filter does not affect the account totals, that are still calculated based on the full portfolio.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/trading/info/aggregate-portfolio (the `PostAggregatedPortfolio` operationId).
	PostAggregatedPortfolioWithBodyWithResponse(ctx context.Context, params *PostAggregatedPortfolioParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostAggregatedPortfolioResponse, error)

	// PostAggregatedPortfolioWithResponse Get a filtered aggregated portfolio snapshot
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/aggregate-portfolio`
	//
	// ---
	//
	// Returns the portfolio using aggregation levels and structured per-mirror instrument filters from the request body. This filter does not affect the account totals, that are still calculated based on the full portfolio.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/trading/info/aggregate-portfolio (the `PostAggregatedPortfolio` operationId).
	PostAggregatedPortfolioWithResponse(ctx context.Context, params *PostAggregatedPortfolioParams, body PostAggregatedPortfolioJSONRequestBody, reqEditors ...RequestEditorFn) (*PostAggregatedPortfolioResponse, error)

	// GetAggregatedPortfolioDemoWithResponse Get aggregated portfolio snapshot
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `POST /api/v1/trading/info/demo/aggregate-portfolio`
	//
	// ---
	//
	// Returns a complete snapshot of the authenticated user's demo account investment portfolio, organized by asset. The response includes account-level balances and equity, individually held positions grouped by asset, and any copy-trading relationships the user has active. Use the instrumentIds filter to scope results to a specific set of assets, or mirrorIds to isolate specific copy-trading relationships. Account totals always reflect the full portfolio regardless of filters applied.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/trading/info/demo/aggregate-portfolio (the `GetAggregatedPortfolioDemo` operationId).
	GetAggregatedPortfolioDemoWithResponse(ctx context.Context, params *GetAggregatedPortfolioDemoParams, reqEditors ...RequestEditorFn) (*GetAggregatedPortfolioDemoResponse, error)

	// PostAggregatedPortfolioDemoWithBodyWithResponse Get a filtered aggregated portfolio snapshot
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/demo/aggregate-portfolio`
	//
	// ---
	//
	// Returns the demo portfolio using aggregation levels and structured per-mirror instrument filters from the request body. This filter does not affect the account totals, that are still calculated based on the full portfolio.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/trading/info/demo/aggregate-portfolio (the `PostAggregatedPortfolioDemo` operationId).
	PostAggregatedPortfolioDemoWithBodyWithResponse(ctx context.Context, params *PostAggregatedPortfolioDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostAggregatedPortfolioDemoResponse, error)

	// PostAggregatedPortfolioDemoWithResponse Get a filtered aggregated portfolio snapshot
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/demo/aggregate-portfolio`
	//
	// ---
	//
	// Returns the demo portfolio using aggregation levels and structured per-mirror instrument filters from the request body. This filter does not affect the account totals, that are still calculated based on the full portfolio.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/trading/info/demo/aggregate-portfolio (the `PostAggregatedPortfolioDemo` operationId).
	PostAggregatedPortfolioDemoWithResponse(ctx context.Context, params *PostAggregatedPortfolioDemoParams, body PostAggregatedPortfolioDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*PostAggregatedPortfolioDemoResponse, error)

	// GetTradingInfoDemoCloseOrdersByOrderIdWithResponse Get close order information and closed position details
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/demo/orders/{orderId}`
	// - `GET /api/v2/trading/info/demo/orders:lookup`
	//
	// ---
	//
	// Retrieves information about a close order, including its execution status and the positions that were closed as a result of the request. Use this to track the outcome of a position-closing order and identify which positions were affected. This is a read-only call and is the supported way to confirm the outcome of POST or DELETE /api/v1/trading/execution/demo/market-close-orders/... - including when the DELETE response was lost: poll this endpoint with the same close orderId instead of resending the cancel. Executed quantity is reported per affected position in positions[] (units and amount, with occurred and rate set once that position was closed); the order-level proceeds field totals what was realized. A close order that was cancelled before anything executed has no executed entries in positions[]. Any requested units that do not appear as executed in positions[] were not closed. errorCode and errorMessage are populated when processing failed.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/trading/info/demo/close-orders/{orderId} (the `GetTradingInfoDemoCloseOrdersByOrderId` operationId).
	GetTradingInfoDemoCloseOrdersByOrderIdWithResponse(ctx context.Context, orderId int64, params *GetTradingInfoDemoCloseOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*GetTradingInfoDemoCloseOrdersByOrderIdResponse, error)

	// GetTradingInfoDemoPnlWithResponse Get account PnL and portfolio details
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/demo/portfolio`
	// - `GET /api/v2/trading/info/demo/instrument-breakdown`
	//
	// ---
	//
	// Retrieves the demo account's current portfolio, including credit, open positions, orders, mirrors, and PnL details.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/trading/info/demo/pnl (the `GetTradingInfoDemoPnl` operationId).
	GetTradingInfoDemoPnlWithResponse(ctx context.Context, params *GetTradingInfoDemoPnlParams, reqEditors ...RequestEditorFn) (*GetTradingInfoDemoPnlResponse, error)

	// GetTradingInfoDemoPortfolioWithResponse Get demo portfolio breakdown
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/demo/pnl`
	// - `GET /api/v2/trading/info/demo/instrument-breakdown`
	//
	// ---
	//
	// Returns detailed portfolio information including active positions, pending orders, mirror trading details, and account balances. This endpoint provides a complete overview of the user's trading activity and current market exposure.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/trading/info/demo/portfolio (the `GetTradingInfoDemoPortfolio` operationId).
	GetTradingInfoDemoPortfolioWithResponse(ctx context.Context, params *GetTradingInfoDemoPortfolioParams, reqEditors ...RequestEditorFn) (*GetTradingInfoDemoPortfolioResponse, error)

	// GetTradingInfoPortfolioWithResponse Get portfolio breakdown
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/real/pnl`
	// - `GET /api/v2/trading/info/instrument-breakdown`
	//
	// ---
	//
	// Returns detailed portfolio information including active positions, pending orders, mirror trading details, and account balances. This endpoint provides a complete overview of the user's trading activity and current market exposure.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/trading/info/portfolio (the `GetTradingInfoPortfolio` operationId).
	GetTradingInfoPortfolioWithResponse(ctx context.Context, params *GetTradingInfoPortfolioParams, reqEditors ...RequestEditorFn) (*GetTradingInfoPortfolioResponse, error)

	// GetTradingInfoRealCloseOrdersByOrderIdWithResponse Get close order information and closed position details
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/real/orders/{orderId}`
	// - `GET /api/v2/trading/info/orders:lookup`
	//
	// ---
	//
	// Retrieves information about a close order, including its execution status and the positions that were closed as a result of the request. Use this to track the outcome of a position-closing order and identify which positions were affected. This is a read-only call and is the supported way to confirm the outcome of POST or DELETE /api/v1/trading/execution/market-close-orders/... - including when the DELETE response was lost: poll this endpoint with the same close orderId instead of resending the cancel. Executed quantity is reported per affected position in positions[] (units and amount, with occurred and rate set once that position was closed); the order-level proceeds field totals what was realized. A close order that was cancelled before anything executed has no executed entries in positions[]. Any requested units that do not appear as executed in positions[] were not closed. errorCode and errorMessage are populated when processing failed.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/trading/info/real/close-orders/{orderId} (the `GetTradingInfoRealCloseOrdersByOrderId` operationId).
	GetTradingInfoRealCloseOrdersByOrderIdWithResponse(ctx context.Context, orderId int64, params *GetTradingInfoRealCloseOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*GetTradingInfoRealCloseOrdersByOrderIdResponse, error)

	// GetTradingInfoRealPnlWithResponse Get account PnL and portfolio details
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/portfolio`
	// - `GET /api/v2/trading/info/instrument-breakdown`
	//
	// ---
	//
	// Retrieves the real account's current portfolio, including credit, open positions, orders, mirrors, and PnL details.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/trading/info/real/pnl (the `GetTradingInfoRealPnl` operationId).
	GetTradingInfoRealPnlWithResponse(ctx context.Context, params *GetTradingInfoRealPnlParams, reqEditors ...RequestEditorFn) (*GetTradingInfoRealPnlResponse, error)

	// GetTradingInfoTradeDemoHistoryWithResponse List trading history
	//
	// **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.
	//
	// ---
	//
	// Returns closed trades for the authenticated account from `minDate` through the present. Keep each request's lookback to less than 1 year (maximum 1 year minus 1 day). For longer history, split the range into successive windows of at most that length (advance `minDate` per batch) and use `page` / `pageSize` within each window.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/trading/info/trade/demo/history (the `GetTradingInfoTradeDemoHistory` operationId).
	GetTradingInfoTradeDemoHistoryWithResponse(ctx context.Context, params *GetTradingInfoTradeDemoHistoryParams, reqEditors ...RequestEditorFn) (*GetTradingInfoTradeDemoHistoryResponse, error)

	// GetTradingInfoTradeHistoryWithResponse List trading history
	//
	// **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.
	//
	// ---
	//
	// Returns closed trades for the authenticated account from `minDate` through the present. Keep each request's lookback to less than 1 year (maximum 1 year minus 1 day). For longer history, split the range into successive windows of at most that length (advance `minDate` per batch) and use `page` / `pageSize` within each window.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/trading/info/trade/history (the `GetTradingInfoTradeHistory` operationId).
	GetTradingInfoTradeHistoryWithResponse(ctx context.Context, params *GetTradingInfoTradeHistoryParams, reqEditors ...RequestEditorFn) (*GetTradingInfoTradeHistoryResponse, error)

	// GetUserInfoPeopleWithResponse Get user profile and account summary
	//
	// **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.
	//
	// ---
	//
	// Returns detailed user profile information including account status, verification levels, biographical data, and associated metadata. This endpoint aggregates essential user information from multiple sources to provide a complete user profile overview.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/user-info/people (the `GetUserInfoPeople` operationId).
	GetUserInfoPeopleWithResponse(ctx context.Context, params *GetUserInfoPeopleParams, reqEditors ...RequestEditorFn) (*GetUserInfoPeopleResponse, error)

	// GetUserInfoPeopleSearchWithResponse Search users
	//
	// **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.
	//
	// ---
	//
	// Powerful search platform that enables advanced user discovery with comprehensive filtering capabilities. Supports complex queries across multiple dimensions including performance metrics, risk profiles, investment patterns, and account characteristics. Ideal for identifying users based on specific trading behaviors and performance criteria.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/user-info/people/search (the `GetUserInfoPeopleSearch` operationId).
	GetUserInfoPeopleSearchWithResponse(ctx context.Context, params *GetUserInfoPeopleSearchParams, reqEditors ...RequestEditorFn) (*GetUserInfoPeopleSearchResponse, error)

	// GetUserInfoPeopleByUsernameDailyGainWithResponse Get user daily performance
	//
	// **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.
	//
	// ---
	//
	// Provides detailed performance analytics including daily gains, cumulative returns, and period-specific metrics within a specified date range. Supports various time-based analyses and performance reporting requirements.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/user-info/people/{username}/daily-gain (the `GetUserInfoPeopleByUsernameDailyGain` operationId).
	GetUserInfoPeopleByUsernameDailyGainWithResponse(ctx context.Context, username string, params *GetUserInfoPeopleByUsernameDailyGainParams, reqEditors ...RequestEditorFn) (*GetUserInfoPeopleByUsernameDailyGainResponse, error)

	// GetUserInfoPeopleByUsernameGainWithResponse Get user performance history
	//
	// **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.
	//
	// ---
	//
	// Returns comprehensive historical monthly and yearly performance data including gain percentages, risk-adjusted returns, and detailed trading statistics. This endpoint provides both aggregated and time-series performance metrics.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/user-info/people/{username}/gain (the `GetUserInfoPeopleByUsernameGain` operationId).
	GetUserInfoPeopleByUsernameGainWithResponse(ctx context.Context, username string, params *GetUserInfoPeopleByUsernameGainParams, reqEditors ...RequestEditorFn) (*GetUserInfoPeopleByUsernameGainResponse, error)

	// GetUserInfoPeopleByUsernamePortfolioLiveWithResponse Get user live portfolio
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/user-info/people/{username}/portfolio/live (the `GetUserInfoPeopleByUsernamePortfolioLive` operationId).
	GetUserInfoPeopleByUsernamePortfolioLiveWithResponse(ctx context.Context, username string, params *GetUserInfoPeopleByUsernamePortfolioLiveParams, reqEditors ...RequestEditorFn) (*GetUserInfoPeopleByUsernamePortfolioLiveResponse, error)

	// GetUserInfoPeopleByUsernameTradeinfoWithResponse Get user trade info
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/user-info/people/{username}/tradeinfo (the `GetUserInfoPeopleByUsernameTradeinfo` operationId).
	GetUserInfoPeopleByUsernameTradeinfoWithResponse(ctx context.Context, username string, params *GetUserInfoPeopleByUsernameTradeinfoParams, reqEditors ...RequestEditorFn) (*GetUserInfoPeopleByUsernameTradeinfoResponse, error)

	// GetWatchlistsWithResponse Get user watchlists
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/watchlists/default-watchlists/items`
	// - `GET /api/v1/watchlists/public/{userId}`
	// - `GET /api/v1/watchlists/public/{userId}/{watchlistId}`
	// - `GET /api/v1/watchlists/{watchlistId}`
	//
	// ---
	//
	// Retrieves all watchlists for the authenticated user with optional pagination and built-in watchlist management.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/watchlists (the `GetWatchlists` operationId).
	GetWatchlistsWithResponse(ctx context.Context, params *GetWatchlistsParams, reqEditors ...RequestEditorFn) (*GetWatchlistsResponse, error)

	// PostWatchlistsWithResponse Create a new watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Creates a new watchlist for the authenticated user with the specified name and type.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/watchlists (the `PostWatchlists` operationId).
	PostWatchlistsWithResponse(ctx context.Context, params *PostWatchlistsParams, reqEditors ...RequestEditorFn) (*PostWatchlistsResponse, error)

	// PostWatchlistsDefaultWatchlistSelectedItemsWithBodyWithResponse Create default watchlist with selected items
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Creates a default watchlist populated with the specified items.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/watchlists/default-watchlist/selected-items (the `PostWatchlistsDefaultWatchlistSelectedItems` operationId).
	PostWatchlistsDefaultWatchlistSelectedItemsWithBodyWithResponse(ctx context.Context, params *PostWatchlistsDefaultWatchlistSelectedItemsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostWatchlistsDefaultWatchlistSelectedItemsResponse, error)

	// PostWatchlistsDefaultWatchlistSelectedItemsWithResponse Create default watchlist with selected items
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Creates a default watchlist populated with the specified items.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/watchlists/default-watchlist/selected-items (the `PostWatchlistsDefaultWatchlistSelectedItems` operationId).
	PostWatchlistsDefaultWatchlistSelectedItemsWithResponse(ctx context.Context, params *PostWatchlistsDefaultWatchlistSelectedItemsParams, body PostWatchlistsDefaultWatchlistSelectedItemsJSONRequestBody, reqEditors ...RequestEditorFn) (*PostWatchlistsDefaultWatchlistSelectedItemsResponse, error)

	// GetWatchlistsDefaultWatchlistsItemsWithResponse Get default watchlist items
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/watchlists`
	// - `GET /api/v1/watchlists/public/{userId}`
	// - `GET /api/v1/watchlists/public/{userId}/{watchlistId}`
	// - `GET /api/v1/watchlists/{watchlistId}`
	//
	// ---
	//
	// Retrieves items from user's default watchlists with optional pagination.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/watchlists/default-watchlists/items (the `GetWatchlistsDefaultWatchlistsItems` operationId).
	GetWatchlistsDefaultWatchlistsItemsWithResponse(ctx context.Context, params *GetWatchlistsDefaultWatchlistsItemsParams, reqEditors ...RequestEditorFn) (*GetWatchlistsDefaultWatchlistsItemsResponse, error)

	// PostWatchlistsNewasdefaultWatchlistWithResponse Create watchlist and set as default
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Creates a new watchlist and immediately sets it as the user's default watchlist.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/watchlists/newasdefault-watchlist (the `PostWatchlistsNewasdefaultWatchlist` operationId).
	PostWatchlistsNewasdefaultWatchlistWithResponse(ctx context.Context, params *PostWatchlistsNewasdefaultWatchlistParams, reqEditors ...RequestEditorFn) (*PostWatchlistsNewasdefaultWatchlistResponse, error)

	// GetWatchlistsPublicByUserIdWithResponse Get user's public watchlists
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/watchlists`
	// - `GET /api/v1/watchlists/default-watchlists/items`
	// - `GET /api/v1/watchlists/public/{userId}/{watchlistId}`
	// - `GET /api/v1/watchlists/{watchlistId}`
	//
	// ---
	//
	// Retrieves all public watchlists for a specific user.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/watchlists/public/{userId} (the `GetWatchlistsPublicByUserId` operationId).
	GetWatchlistsPublicByUserIdWithResponse(ctx context.Context, userId int32, params *GetWatchlistsPublicByUserIdParams, reqEditors ...RequestEditorFn) (*GetWatchlistsPublicByUserIdResponse, error)

	// GetWatchlistsPublicByUserIdByWatchlistIdWithResponse Get single public watchlist
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/watchlists`
	// - `GET /api/v1/watchlists/default-watchlists/items`
	// - `GET /api/v1/watchlists/public/{userId}`
	// - `GET /api/v1/watchlists/{watchlistId}`
	//
	// ---
	//
	// Retrieves a specific public watchlist from a user.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/watchlists/public/{userId}/{watchlistId} (the `GetWatchlistsPublicByUserIdByWatchlistId` operationId).
	GetWatchlistsPublicByUserIdByWatchlistIdWithResponse(ctx context.Context, userId int32, watchlistId string, params *GetWatchlistsPublicByUserIdByWatchlistIdParams, reqEditors ...RequestEditorFn) (*GetWatchlistsPublicByUserIdByWatchlistIdResponse, error)

	// PutWatchlistsRankByWatchlistIdWithResponse Change watchlist rank
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Updates the display rank of a watchlist.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PUT /api/v1/watchlists/rank/{watchlistId} (the `PutWatchlistsRankByWatchlistId` operationId).
	PutWatchlistsRankByWatchlistIdWithResponse(ctx context.Context, watchlistId string, params *PutWatchlistsRankByWatchlistIdParams, reqEditors ...RequestEditorFn) (*PutWatchlistsRankByWatchlistIdResponse, error)

	// PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdWithResponse Set watchlist as default
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Sets the specified watchlist as the user's default watchlist.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId} (the `PutWatchlistsSetUserSelectedUserDefaultByWatchlistId` operationId).
	PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdWithResponse(ctx context.Context, watchlistId string, params *PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdParams, reqEditors ...RequestEditorFn) (*PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse, error)

	// DeleteWatchlistsByWatchlistIdWithResponse Delete watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Removes a watchlist and all its items.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with DELETE /api/v1/watchlists/{watchlistId} (the `DeleteWatchlistsByWatchlistId` operationId).
	DeleteWatchlistsByWatchlistIdWithResponse(ctx context.Context, watchlistId string, params *DeleteWatchlistsByWatchlistIdParams, reqEditors ...RequestEditorFn) (*DeleteWatchlistsByWatchlistIdResponse, error)

	// GetWatchlistsByWatchlistIdWithResponse Get single watchlist
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/watchlists`
	// - `GET /api/v1/watchlists/default-watchlists/items`
	// - `GET /api/v1/watchlists/public/{userId}`
	// - `GET /api/v1/watchlists/public/{userId}/{watchlistId}`
	//
	// ---
	//
	// Retrieves a specific watchlist with its items using pagination.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v1/watchlists/{watchlistId} (the `GetWatchlistsByWatchlistId` operationId).
	GetWatchlistsByWatchlistIdWithResponse(ctx context.Context, watchlistId string, params *GetWatchlistsByWatchlistIdParams, reqEditors ...RequestEditorFn) (*GetWatchlistsByWatchlistIdResponse, error)

	// PutWatchlistsByWatchlistIdWithResponse Rename watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Updates the name of an existing watchlist.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PUT /api/v1/watchlists/{watchlistId} (the `PutWatchlistsByWatchlistId` operationId).
	PutWatchlistsByWatchlistIdWithResponse(ctx context.Context, watchlistId string, params *PutWatchlistsByWatchlistIdParams, reqEditors ...RequestEditorFn) (*PutWatchlistsByWatchlistIdResponse, error)

	// DeleteWatchlistsByWatchlistIdItemsWithBodyWithResponse Remove items from watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Removes specified items from a watchlist.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with DELETE /api/v1/watchlists/{watchlistId}/items (the `DeleteWatchlistsByWatchlistIdItems` operationId).
	DeleteWatchlistsByWatchlistIdItemsWithBodyWithResponse(ctx context.Context, watchlistId string, params *DeleteWatchlistsByWatchlistIdItemsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*DeleteWatchlistsByWatchlistIdItemsResponse, error)

	// DeleteWatchlistsByWatchlistIdItemsWithResponse Remove items from watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Removes specified items from a watchlist.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with DELETE /api/v1/watchlists/{watchlistId}/items (the `DeleteWatchlistsByWatchlistIdItems` operationId).
	DeleteWatchlistsByWatchlistIdItemsWithResponse(ctx context.Context, watchlistId string, params *DeleteWatchlistsByWatchlistIdItemsParams, body DeleteWatchlistsByWatchlistIdItemsJSONRequestBody, reqEditors ...RequestEditorFn) (*DeleteWatchlistsByWatchlistIdItemsResponse, error)

	// PostWatchlistsByWatchlistIdItemsWithBodyWithResponse Add items to watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Adds new items to an existing watchlist.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/watchlists/{watchlistId}/items (the `PostWatchlistsByWatchlistIdItems` operationId).
	PostWatchlistsByWatchlistIdItemsWithBodyWithResponse(ctx context.Context, watchlistId string, params *PostWatchlistsByWatchlistIdItemsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostWatchlistsByWatchlistIdItemsResponse, error)

	// PostWatchlistsByWatchlistIdItemsWithResponse Add items to watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}/items`
	//
	// ---
	//
	// Adds new items to an existing watchlist.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v1/watchlists/{watchlistId}/items (the `PostWatchlistsByWatchlistIdItems` operationId).
	PostWatchlistsByWatchlistIdItemsWithResponse(ctx context.Context, watchlistId string, params *PostWatchlistsByWatchlistIdItemsParams, body PostWatchlistsByWatchlistIdItemsJSONRequestBody, reqEditors ...RequestEditorFn) (*PostWatchlistsByWatchlistIdItemsResponse, error)

	// PutWatchlistsByWatchlistIdItemsWithBodyWithResponse Update items in watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	//
	// ---
	//
	// Updates existing items in a watchlist (rank, etc.).
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PUT /api/v1/watchlists/{watchlistId}/items (the `PutWatchlistsByWatchlistIdItems` operationId).
	PutWatchlistsByWatchlistIdItemsWithBodyWithResponse(ctx context.Context, watchlistId string, params *PutWatchlistsByWatchlistIdItemsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PutWatchlistsByWatchlistIdItemsResponse, error)

	// PutWatchlistsByWatchlistIdItemsWithResponse Update items in watchlist
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/watchlists/{watchlistId}`
	// - `DELETE /api/v1/watchlists/{watchlistId}/items`
	// - `POST /api/v1/watchlists`
	// - `POST /api/v1/watchlists/default-watchlist/selected-items`
	// - `POST /api/v1/watchlists/newasdefault-watchlist`
	// - `POST /api/v1/watchlists/{watchlistId}/items`
	// - `PUT /api/v1/watchlists/rank/{watchlistId}`
	// - `PUT /api/v1/watchlists/setUserSelectedUserDefault/{watchlistId}`
	// - `PUT /api/v1/watchlists/{watchlistId}`
	//
	// ---
	//
	// Updates existing items in a watchlist (rank, etc.).
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PUT /api/v1/watchlists/{watchlistId}/items (the `PutWatchlistsByWatchlistIdItems` operationId).
	PutWatchlistsByWatchlistIdItemsWithResponse(ctx context.Context, watchlistId string, params *PutWatchlistsByWatchlistIdItemsParams, body PutWatchlistsByWatchlistIdItemsJSONRequestBody, reqEditors ...RequestEditorFn) (*PutWatchlistsByWatchlistIdItemsResponse, error)

	// CreateAgentPortfoliosV2WithBodyWithResponse Create Agent Portfolio (v2)
	//
	// **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.
	//
	// ---
	//
	// Creates a new agent-portfolio using scope names. Scopes are specified by name (scopeNames); scope ids are not supported in v2. IMPORTANT: investmentAmountInUsd is the amount deducted from YOUR (the caller's) account balance to copy-trade this agent-portfolio — it is NOT the agent-portfolio's own balance. Positions are mirrored proportionally: e.g. if you invest $2,000 and agentPortfolioVirtualBalance is $10,000, each position is copied at 20% of its size into your account.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/agent-portfolios (the `CreateAgentPortfoliosV2` operationId).
	CreateAgentPortfoliosV2WithBodyWithResponse(ctx context.Context, params *CreateAgentPortfoliosV2Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateAgentPortfoliosV2Response, error)

	// CreateAgentPortfoliosV2WithResponse Create Agent Portfolio (v2)
	//
	// **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.
	//
	// ---
	//
	// Creates a new agent-portfolio using scope names. Scopes are specified by name (scopeNames); scope ids are not supported in v2. IMPORTANT: investmentAmountInUsd is the amount deducted from YOUR (the caller's) account balance to copy-trade this agent-portfolio — it is NOT the agent-portfolio's own balance. Positions are mirrored proportionally: e.g. if you invest $2,000 and agentPortfolioVirtualBalance is $10,000, each position is copied at 20% of its size into your account.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/agent-portfolios (the `CreateAgentPortfoliosV2` operationId).
	CreateAgentPortfoliosV2WithResponse(ctx context.Context, params *CreateAgentPortfoliosV2Params, body CreateAgentPortfoliosV2JSONRequestBody, reqEditors ...RequestEditorFn) (*CreateAgentPortfoliosV2Response, error)

	// GetAgentPortfoliosScopesWithResponse Get Allowed Scopes (v2)
	//
	// **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.
	//
	// ---
	//
	// Returns the permission scope names that may be assigned to agent-portfolio user tokens.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/agent-portfolios/user-tokens/scopes (the `GetAgentPortfoliosScopes` operationId).
	GetAgentPortfoliosScopesWithResponse(ctx context.Context, params *GetAgentPortfoliosScopesParams, reqEditors ...RequestEditorFn) (*GetAgentPortfoliosScopesResponse, error)

	// CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2WithBodyWithResponse Create User Token (v2)
	//
	// **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.
	//
	// ---
	//
	// Creates a new user token for the specified agent-portfolio using scope names. Scopes are specified by name (scopeNames); scope ids are not supported in v2.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/agent-portfolios/{agentPortfolioId}/user-tokens (the `CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2` operationId).
	CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2WithBodyWithResponse(ctx context.Context, agentPortfolioId openapi_types.UUID, params *CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response, error)

	// CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2WithResponse Create User Token (v2)
	//
	// **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.
	//
	// ---
	//
	// Creates a new user token for the specified agent-portfolio using scope names. Scopes are specified by name (scopeNames); scope ids are not supported in v2.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/agent-portfolios/{agentPortfolioId}/user-tokens (the `CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2` operationId).
	CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2WithResponse(ctx context.Context, agentPortfolioId openapi_types.UUID, params *CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Params, body CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2JSONRequestBody, reqEditors ...RequestEditorFn) (*CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response, error)

	// UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2WithBodyWithResponse Update User Token (v2)
	//
	// **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.
	//
	// ---
	//
	// Updates the settings of an existing user token using scope names. At least one field must be provided. Scopes are specified by name (scopeNames); scope ids are not supported in v2.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PATCH /api/v2/agent-portfolios/{agentPortfolioId}/user-tokens/{userTokenId} (the `UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2` operationId).
	UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2WithBodyWithResponse(ctx context.Context, agentPortfolioId openapi_types.UUID, userTokenId openapi_types.UUID, params *UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response, error)

	// UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2WithResponse Update User Token (v2)
	//
	// **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.
	//
	// ---
	//
	// Updates the settings of an existing user token using scope names. At least one field must be provided. Scopes are specified by name (scopeNames); scope ids are not supported in v2.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PATCH /api/v2/agent-portfolios/{agentPortfolioId}/user-tokens/{userTokenId} (the `UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2` operationId).
	UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2WithResponse(ctx context.Context, agentPortfolioId openapi_types.UUID, userTokenId openapi_types.UUID, params *UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Params, body UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2JSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response, error)

	// GetSecuritiesWithResponse Search for securities (instruments) by ID or symbol
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments/search`
	// - `GET /api/v2/market-data/rates`
	//
	// ---
	//
	// Returns instrument (security) metadata, optionally filtered by instrument IDs or symbols, with cursor-based pagination.
	//
	// `instrumentsIds` and `symbols` are mutually exclusive. All filters are optional and independent; if neither `instrumentsIds` nor `symbols` is provided, results are not filtered by instrument and are simply paginated by `pageSize`.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/market-data/instruments (the `GetSecurities` operationId).
	GetSecuritiesWithResponse(ctx context.Context, params *GetSecuritiesParams, reqEditors ...RequestEditorFn) (*GetSecuritiesResponse, error)

	// GetInstrumentsSearchWithResponse Search instruments by free-text query
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/rates`
	//
	// ---
	//
	// Free-text search of instruments by name or symbol. Results are relevance-ranked by the upstream search index; non-public instruments are filtered out.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/market-data/instruments/search (the `GetInstrumentsSearch` operationId).
	GetInstrumentsSearchWithResponse(ctx context.Context, params *GetInstrumentsSearchParams, reqEditors ...RequestEditorFn) (*GetInstrumentsSearchResponse, error)

	// GetRatesWithResponse Retrieve bid/ask rates for one or more instruments
	//
	// **Rate limit:** 120 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/market-data/exchanges`
	// - `GET /api/v1/market-data/instrument-types`
	// - `GET /api/v1/market-data/instruments`
	// - `GET /api/v1/market-data/instruments/history/closing-price`
	// - `GET /api/v1/market-data/instruments/rates`
	// - `GET /api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}`
	// - `GET /api/v1/market-data/search`
	// - `GET /api/v1/market-data/stocks-industries`
	// - `GET /api/v2/market-data/instruments`
	// - `GET /api/v2/market-data/instruments/search`
	//
	// ---
	//
	// Returns current bid/ask rates keyed by instrument ID. Each rate carries a `quoteType` indicating whether it is `realtime` or `delayed`.
	//
	// Returns 200 when all requested instruments are found, 206 when only a subset is available.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/market-data/rates (the `GetRates` operationId).
	GetRatesWithResponse(ctx context.Context, params *GetRatesParams, reqEditors ...RequestEditorFn) (*GetRatesResponse, error)

	// GetPortfoliosRankingsWithResponse Get paginated investor rankings
	//
	// **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.
	//
	// ---
	//
	// Returns a paged list of investor ranking rows filtered and sorted by query parameters. `period` is required; all filter parameters are optional.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/portfolios/rankings (the `GetPortfoliosRankings` operationId).
	GetPortfoliosRankingsWithResponse(ctx context.Context, params *GetPortfoliosRankingsParams, reqEditors ...RequestEditorFn) (*GetPortfoliosRankingsResponse, error)

	// GetMultiplePortfoliosRankingsWithBodyWithResponse Bulk-fetch ranking rows
	//
	// **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.
	//
	// ---
	//
	// Returns ranking rows for a list of investors identified by username. Missing, private, or unranked users are silently omitted. Maximum 100 usernames per request.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/portfolios/rankings/multiple (the `GetMultiplePortfoliosRankings` operationId).
	GetMultiplePortfoliosRankingsWithBodyWithResponse(ctx context.Context, params *GetMultiplePortfoliosRankingsParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GetMultiplePortfoliosRankingsResponse, error)

	// GetMultiplePortfoliosRankingsWithResponse Bulk-fetch ranking rows
	//
	// **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.
	//
	// ---
	//
	// Returns ranking rows for a list of investors identified by username. Missing, private, or unranked users are silently omitted. Maximum 100 usernames per request.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/portfolios/rankings/multiple (the `GetMultiplePortfoliosRankings` operationId).
	GetMultiplePortfoliosRankingsWithResponse(ctx context.Context, params *GetMultiplePortfoliosRankingsParams, body GetMultiplePortfoliosRankingsJSONRequestBody, reqEditors ...RequestEditorFn) (*GetMultiplePortfoliosRankingsResponse, error)

	// ListPortfolioRankingsPresetsWithResponse List available ranking presets
	//
	// **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.
	//
	// ---
	//
	// Returns the names of all publicly available ranking presets. Use a preset name as the `{type}` path parameter in GET /portfolios/rankings/presets/{type}. No pagination.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/portfolios/rankings/presets (the `ListPortfolioRankingsPresets` operationId).
	ListPortfolioRankingsPresetsWithResponse(ctx context.Context, params *ListPortfolioRankingsPresetsParams, reqEditors ...RequestEditorFn) (*ListPortfolioRankingsPresetsResponse, error)

	// GetPortfolioRankingsByPresetWithResponse Get rankings by named preset
	//
	// **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.
	//
	// ---
	//
	// Applies a predefined filter preset. Equivalent to GET /rankings with the preset's filters pre-applied. Unknown or non-whitelisted presets return 404 with the verbatim JSON string "Filter Not Found".
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/portfolios/rankings/presets/{type} (the `GetPortfolioRankingsByPreset` operationId).
	GetPortfolioRankingsByPresetWithResponse(ctx context.Context, pType string, params *GetPortfolioRankingsByPresetParams, reqEditors ...RequestEditorFn) (*GetPortfolioRankingsByPresetResponse, error)

	// GetPortfoliosRankingsSummaryWithResponse Get ranking universe aggregated by sector or industry
	//
	// **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.
	//
	// ---
	//
	// Aggregates ranked investors into tag-bucketed summaries. The required `summary` query parameter must be "industries" or "sectors". TagIds from the internal service are resolved to readable names.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/portfolios/rankings/summary (the `GetPortfoliosRankingsSummary` operationId).
	GetPortfoliosRankingsSummaryWithResponse(ctx context.Context, params *GetPortfoliosRankingsSummaryParams, reqEditors ...RequestEditorFn) (*GetPortfoliosRankingsSummaryResponse, error)

	// ListPortfolioRankingsTagsWithResponse List all ranking tags
	//
	// **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.
	//
	// ---
	//
	// Returns the full catalog of ranking tags (industries and sectors) with resolved names. Optionally filter to a single dimension via the `type` query parameter. No pagination.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/portfolios/rankings/tags (the `ListPortfolioRankingsTags` operationId).
	ListPortfolioRankingsTagsWithResponse(ctx context.Context, params *ListPortfolioRankingsTagsParams, reqEditors ...RequestEditorFn) (*ListPortfolioRankingsTagsResponse, error)

	// GetAssetsHistoryWithResponse Get asset allocation history
	//
	// **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.
	//
	// ---
	//
	// Returns a daily asset-allocation breakdown for a publicly visible portfolio. Data is only available for investors who have not opted out — opted-out portfolios return 403 for third-party callers. Callers must authenticate with their own token. Use period OR minDate+maxDate (mutually exclusive). All ratio fields use decimal fraction format: 0.5 = 50%.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/portfolios/{username}/assets/history (the `GetAssetsHistory` operationId).
	GetAssetsHistoryWithResponse(ctx context.Context, username string, params *GetAssetsHistoryParams, reqEditors ...RequestEditorFn) (*GetAssetsHistoryResponse, error)

	// GetPortfolioCopiersWithResponse Get portfolio copier stats
	//
	// **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.
	//
	// ---
	//
	// Returns the investor's live copier count and assets-under-management tier for a public username. Requires `etoro-public:user-info:read`.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/portfolios/{username}/copiers (the `GetPortfolioCopiers` operationId).
	GetPortfolioCopiersWithResponse(ctx context.Context, username string, params *GetPortfolioCopiersParams, reqEditors ...RequestEditorFn) (*GetPortfolioCopiersResponse, error)

	// GetExposureHistoryWithResponse Get market exposure history
	//
	// **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.
	//
	// ---
	//
	// Returns daily directional exposure breakdown per instrument for a publicly visible portfolio. Data is only available for investors who have not opted out - opted-out portfolios return 403 for third-party callers. Callers must authenticate with their own token. Use period OR minDate+maxDate (mutually exclusive). All values are decimal fractions of total daily investment: 0.5 = 50%. Simulated positions are excluded.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/portfolios/{username}/exposure/history (the `GetExposureHistory` operationId).
	GetExposureHistoryWithResponse(ctx context.Context, username string, params *GetExposureHistoryParams, reqEditors ...RequestEditorFn) (*GetExposureHistoryResponse, error)

	// GetGainHistoryWithResponse Get investor gain time-series
	//
	// **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.
	//
	// ---
	//
	// Returns a gain time-series scoped by date range, count, or a combination of one date and a count. Gain values are decimal fractions: 0.06 = 6%, -0.03 = -3%.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/portfolios/{username}/gain/{granularity} (the `GetGainHistory` operationId).
	GetGainHistoryWithResponse(ctx context.Context, username string, granularity GetGainHistoryParamsGranularity, params *GetGainHistoryParams, reqEditors ...RequestEditorFn) (*GetGainHistoryResponse, error)

	// GetPortfolioRankingWithResponse Get ranking row for a single investor
	//
	// **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.
	//
	// ---
	//
	// Returns the full ranking row for the specified investor for a given time period. Returns 404 if the user is private, not found, or not ranked. `period` is required because every performance field is computed over a defined time window.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/portfolios/{username}/rankings (the `GetPortfolioRanking` operationId).
	GetPortfolioRankingWithResponse(ctx context.Context, username string, params *GetPortfolioRankingParams, reqEditors ...RequestEditorFn) (*GetPortfolioRankingResponse, error)

	// CloseCopyTradingWithResponse Close or detach a copy relationship
	//
	// **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.
	//
	// ---
	//
	// This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. The relationship is selected by mirrorID; identity is resolved from the authenticated caller. This binding takes all fields as query parameters and rejects any request carrying a body — use POST /api/v2/trading/copy/close for a JSON-body equivalent. The operation is asynchronous and the response token is an acknowledgment only: close completion is not pollable through this API.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with DELETE /api/v2/trading/copy (the `CloseCopyTrading` operationId).
	CloseCopyTradingWithResponse(ctx context.Context, params *CloseCopyTradingParams, reqEditors ...RequestEditorFn) (*CloseCopyTradingResponse, error)

	// RegisterCopyTradingWithBodyWithResponse Start copying an investor, or adjust an existing copy
	//
	// **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.
	//
	// ---
	//
	// Registers a copy relationship with the given investor for the authenticated account. If the copy already exists, funds will be added to or removed from it; if it does not exist, a new copy will be created and funds transferred into it. Every change of funds causes a realignment process that adjusts all the positions inside the sub-portfolio to match the parent portfolio proportions. Investor account ids (parentCID) are the ids surfaced by the platform's public endpoints (for example, the Rankings endpoints). The operation is asynchronous: the response token acknowledges acceptance, and the outcome can be checked via GET /api/v2/trading/copy/{referenceId} using the referenceID supplied here.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/copy (the `RegisterCopyTrading` operationId).
	RegisterCopyTradingWithBodyWithResponse(ctx context.Context, params *RegisterCopyTradingParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*RegisterCopyTradingResponse, error)

	// RegisterCopyTradingWithResponse Start copying an investor, or adjust an existing copy
	//
	// **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.
	//
	// ---
	//
	// Registers a copy relationship with the given investor for the authenticated account. If the copy already exists, funds will be added to or removed from it; if it does not exist, a new copy will be created and funds transferred into it. Every change of funds causes a realignment process that adjusts all the positions inside the sub-portfolio to match the parent portfolio proportions. Investor account ids (parentCID) are the ids surfaced by the platform's public endpoints (for example, the Rankings endpoints). The operation is asynchronous: the response token acknowledges acceptance, and the outcome can be checked via GET /api/v2/trading/copy/{referenceId} using the referenceID supplied here.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/copy (the `RegisterCopyTrading` operationId).
	RegisterCopyTradingWithResponse(ctx context.Context, params *RegisterCopyTradingParams, body RegisterCopyTradingJSONRequestBody, reqEditors ...RequestEditorFn) (*RegisterCopyTradingResponse, error)

	// CloseCopyTradingViaPostWithBodyWithResponse Close or detach a copy relationship (JSON body)
	//
	// **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.
	//
	// ---
	//
	// This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. Identical semantics to DELETE /api/v2/trading/copy, with the fields carried in a JSON body instead of query parameters — provided because some HTTP clients and proxies handle DELETE requests with bodies unreliably. The response token is an acknowledgment only: close completion is not pollable through this API.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/copy/close (the `CloseCopyTradingViaPost` operationId).
	CloseCopyTradingViaPostWithBodyWithResponse(ctx context.Context, params *CloseCopyTradingViaPostParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CloseCopyTradingViaPostResponse, error)

	// CloseCopyTradingViaPostWithResponse Close or detach a copy relationship (JSON body)
	//
	// **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.
	//
	// ---
	//
	// This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. Identical semantics to DELETE /api/v2/trading/copy, with the fields carried in a JSON body instead of query parameters — provided because some HTTP clients and proxies handle DELETE requests with bodies unreliably. The response token is an acknowledgment only: close completion is not pollable through this API.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/copy/close (the `CloseCopyTradingViaPost` operationId).
	CloseCopyTradingViaPostWithResponse(ctx context.Context, params *CloseCopyTradingViaPostParams, body CloseCopyTradingViaPostJSONRequestBody, reqEditors ...RequestEditorFn) (*CloseCopyTradingViaPostResponse, error)

	// CloseCopyTradingDemoWithResponse Close or detach a copy relationship
	//
	// **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.
	//
	// ---
	//
	// This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. The relationship is selected by mirrorID; identity is resolved from the authenticated caller. This binding takes all fields as query parameters and rejects any request carrying a body — use POST /api/v2/trading/copy/demo/close for a JSON-body equivalent. The operation is asynchronous and the response token is an acknowledgment only: close completion is not pollable through this API.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with DELETE /api/v2/trading/copy/demo (the `CloseCopyTradingDemo` operationId).
	CloseCopyTradingDemoWithResponse(ctx context.Context, params *CloseCopyTradingDemoParams, reqEditors ...RequestEditorFn) (*CloseCopyTradingDemoResponse, error)

	// RegisterCopyTradingDemoWithBodyWithResponse Start copying an investor, or adjust an existing copy
	//
	// **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.
	//
	// ---
	//
	// Registers a copy relationship with the given investor for the authenticated account. If the copy already exists, funds will be added to or removed from it; if it does not exist, a new copy will be created and funds transferred into it. Every change of funds causes a realignment process that adjusts all the positions inside the sub-portfolio to match the parent portfolio proportions. Investor account ids (parentCID) are the ids surfaced by the platform's public endpoints (for example, the Rankings endpoints). The operation is asynchronous: the response token acknowledges acceptance, and the outcome can be checked via GET /api/v2/trading/copy/demo/{referenceId} using the referenceID supplied here.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/copy/demo (the `RegisterCopyTradingDemo` operationId).
	RegisterCopyTradingDemoWithBodyWithResponse(ctx context.Context, params *RegisterCopyTradingDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*RegisterCopyTradingDemoResponse, error)

	// RegisterCopyTradingDemoWithResponse Start copying an investor, or adjust an existing copy
	//
	// **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.
	//
	// ---
	//
	// Registers a copy relationship with the given investor for the authenticated account. If the copy already exists, funds will be added to or removed from it; if it does not exist, a new copy will be created and funds transferred into it. Every change of funds causes a realignment process that adjusts all the positions inside the sub-portfolio to match the parent portfolio proportions. Investor account ids (parentCID) are the ids surfaced by the platform's public endpoints (for example, the Rankings endpoints). The operation is asynchronous: the response token acknowledges acceptance, and the outcome can be checked via GET /api/v2/trading/copy/demo/{referenceId} using the referenceID supplied here.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/copy/demo (the `RegisterCopyTradingDemo` operationId).
	RegisterCopyTradingDemoWithResponse(ctx context.Context, params *RegisterCopyTradingDemoParams, body RegisterCopyTradingDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*RegisterCopyTradingDemoResponse, error)

	// CloseCopyTradingViaPostDemoWithBodyWithResponse Close or detach a copy relationship (JSON body)
	//
	// **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.
	//
	// ---
	//
	// This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. Identical semantics to DELETE /api/v2/trading/copy/demo, with the fields carried in a JSON body instead of query parameters — provided because some HTTP clients and proxies handle DELETE requests with bodies unreliably. The response token is an acknowledgment only: close completion is not pollable through this API.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/copy/demo/close (the `CloseCopyTradingViaPostDemo` operationId).
	CloseCopyTradingViaPostDemoWithBodyWithResponse(ctx context.Context, params *CloseCopyTradingViaPostDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CloseCopyTradingViaPostDemoResponse, error)

	// CloseCopyTradingViaPostDemoWithResponse Close or detach a copy relationship (JSON body)
	//
	// **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.
	//
	// ---
	//
	// This action closes the sub-portfolio of the copy relationship. There are 2 ways to close the sub-portfolio: (a) Close — close all positions and withdraw the funds back to the main portfolio balance; (b) Detach — detach the positions from the sub-portfolio and move them into the main portfolio, and withdraw the sub-portfolio cash balance back into the main portfolio balance. These correspond to the unregisterType values Close and Detach. Identical semantics to DELETE /api/v2/trading/copy/demo, with the fields carried in a JSON body instead of query parameters — provided because some HTTP clients and proxies handle DELETE requests with bodies unreliably. The response token is an acknowledgment only: close completion is not pollable through this API.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/copy/demo/close (the `CloseCopyTradingViaPostDemo` operationId).
	CloseCopyTradingViaPostDemoWithResponse(ctx context.Context, params *CloseCopyTradingViaPostDemoParams, body CloseCopyTradingViaPostDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*CloseCopyTradingViaPostDemoResponse, error)

	// CheckCopyTradingEligibilityDemoWithBodyWithResponse Pre-check whether a copy registration would be allowed
	//
	// **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.
	//
	// ---
	//
	// A dry run of the register operation that changes nothing: verifies whether the authenticated account can copy the given investor with the given amount. Request body is the same as starting a new copy (POST /api/v2/trading/copy/demo). A positive verdict is a point-in-time check, not a reservation. When isSuccess is false, errorCode and errorMessage may be absent.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/copy/demo/eligibility (the `CheckCopyTradingEligibilityDemo` operationId).
	CheckCopyTradingEligibilityDemoWithBodyWithResponse(ctx context.Context, params *CheckCopyTradingEligibilityDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CheckCopyTradingEligibilityDemoResponse, error)

	// CheckCopyTradingEligibilityDemoWithResponse Pre-check whether a copy registration would be allowed
	//
	// **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.
	//
	// ---
	//
	// A dry run of the register operation that changes nothing: verifies whether the authenticated account can copy the given investor with the given amount. Request body is the same as starting a new copy (POST /api/v2/trading/copy/demo). A positive verdict is a point-in-time check, not a reservation. When isSuccess is false, errorCode and errorMessage may be absent.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/copy/demo/eligibility (the `CheckCopyTradingEligibilityDemo` operationId).
	CheckCopyTradingEligibilityDemoWithResponse(ctx context.Context, params *CheckCopyTradingEligibilityDemoParams, body CheckCopyTradingEligibilityDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*CheckCopyTradingEligibilityDemoResponse, error)

	// GetCopyTradingStatusDemoWithResponse Poll a copy operation's outcome
	//
	// **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.
	//
	// ---
	//
	// Returns the terminal outcome of a copy request for register, add or remove funds, looked up by the referenceID supplied on the copy request. The lookup is case-sensitive and scoped to the authenticated account. On success the response carries the mirrorID used to close the copy later; parentCID and parentUsername are either both present or both absent. This endpoint returns only the status of the copy request, not the status of the mirror sub-portfolio. For sub-portfolio status use a portfolio endpoint.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/trading/copy/demo/{referenceId} (the `GetCopyTradingStatusDemo` operationId).
	GetCopyTradingStatusDemoWithResponse(ctx context.Context, referenceId string, params *GetCopyTradingStatusDemoParams, reqEditors ...RequestEditorFn) (*GetCopyTradingStatusDemoResponse, error)

	// CheckCopyTradingEligibilityWithBodyWithResponse Pre-check whether a copy registration would be allowed
	//
	// **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.
	//
	// ---
	//
	// A dry run of the register operation that changes nothing: verifies whether the authenticated account can copy the given investor with the given amount. Request body is the same as starting a new copy (POST /api/v2/trading/copy). A positive verdict is a point-in-time check, not a reservation. When isSuccess is false, errorCode and errorMessage may be absent.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/copy/eligibility (the `CheckCopyTradingEligibility` operationId).
	CheckCopyTradingEligibilityWithBodyWithResponse(ctx context.Context, params *CheckCopyTradingEligibilityParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CheckCopyTradingEligibilityResponse, error)

	// CheckCopyTradingEligibilityWithResponse Pre-check whether a copy registration would be allowed
	//
	// **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.
	//
	// ---
	//
	// A dry run of the register operation that changes nothing: verifies whether the authenticated account can copy the given investor with the given amount. Request body is the same as starting a new copy (POST /api/v2/trading/copy). A positive verdict is a point-in-time check, not a reservation. When isSuccess is false, errorCode and errorMessage may be absent.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/copy/eligibility (the `CheckCopyTradingEligibility` operationId).
	CheckCopyTradingEligibilityWithResponse(ctx context.Context, params *CheckCopyTradingEligibilityParams, body CheckCopyTradingEligibilityJSONRequestBody, reqEditors ...RequestEditorFn) (*CheckCopyTradingEligibilityResponse, error)

	// GetCopyTradingStatusWithResponse Poll a copy operation's outcome
	//
	// **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.
	//
	// ---
	//
	// Returns the terminal outcome of a copy request for register, add or remove funds, looked up by the referenceID supplied on the copy request. The lookup is case-sensitive and scoped to the authenticated account. On success the response carries the mirrorID used to close the copy later; parentCID and parentUsername are either both present or both absent. This endpoint returns only the status of the copy request, not the status of the mirror sub-portfolio. For sub-portfolio status use a portfolio endpoint.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/trading/copy/{referenceId} (the `GetCopyTradingStatus` operationId).
	GetCopyTradingStatusWithResponse(ctx context.Context, referenceId string, params *GetCopyTradingStatusParams, reqEditors ...RequestEditorFn) (*GetCopyTradingStatusResponse, error)

	// UpdateDemoPositionWithBodyWithResponse Modify stop-loss and take-profit settings on an open position
	//
	// **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.
	//
	// ---
	//
	// Submits an asynchronous request to update stop-loss and/or take-profit on an open position. You can set a new stopLossRate, takeProfitRate, stopLossType, or clear either value (clearStopLoss, clearTakeProfit). At least one SL/TP-related field is required. The response returns acceptance and correlation metadata only.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PATCH /api/v2/trading/demo/positions/{positionId} (the `UpdateDemoPosition` operationId).
	UpdateDemoPositionWithBodyWithResponse(ctx context.Context, positionId int64, params *UpdateDemoPositionParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateDemoPositionResponse, error)

	// UpdateDemoPositionWithResponse Modify stop-loss and take-profit settings on an open position
	//
	// **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.
	//
	// ---
	//
	// Submits an asynchronous request to update stop-loss and/or take-profit on an open position. You can set a new stopLossRate, takeProfitRate, stopLossType, or clear either value (clearStopLoss, clearTakeProfit). At least one SL/TP-related field is required. The response returns acceptance and correlation metadata only.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PATCH /api/v2/trading/demo/positions/{positionId} (the `UpdateDemoPosition` operationId).
	UpdateDemoPositionWithResponse(ctx context.Context, positionId int64, params *UpdateDemoPositionParams, body UpdateDemoPositionJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateDemoPositionResponse, error)

	// CreateTradingExecutionDemoOrdersWithBodyWithResponse Create an order
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/demo/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v3/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v2 create path, settlementType remains optional (stricter settlementType rules apply only on v3). A 200 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/demo/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/execution/demo/orders (the `CreateTradingExecutionDemoOrders` operationId).
	CreateTradingExecutionDemoOrdersWithBodyWithResponse(ctx context.Context, params *CreateTradingExecutionDemoOrdersParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTradingExecutionDemoOrdersResponse, error)

	// CreateTradingExecutionDemoOrdersWithResponse Create an order
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/demo/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v3/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v2 create path, settlementType remains optional (stricter settlementType rules apply only on v3). A 200 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/demo/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/execution/demo/orders (the `CreateTradingExecutionDemoOrders` operationId).
	CreateTradingExecutionDemoOrdersWithResponse(ctx context.Context, params *CreateTradingExecutionDemoOrdersParams, body CreateTradingExecutionDemoOrdersJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateTradingExecutionDemoOrdersResponse, error)

	// DeleteTradingExecutionDemoOrdersByOrderIdWithResponse Cancels an order before it is executed
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/demo/orders`
	// - `POST /api/v3/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint sends a cancellation request to cancel an order before execution. An order can be cancelled if it is waiting for the market to open, or for the trigger rate to be published (MIT orders). The cancellation request may be successful, and the order is cancelled, or unsuccessful, and the order is not cancelled. This operation is idempotent when the order is already closed or cancelled. A 200 response confirms the cancellation request was accepted, not that the order was cancelled - it may already have executed. Confirm with GET /api/v2/trading/info/demo/orders:lookup: status.id 7 (Canceled) or 9 (CanceledPartiallyFilled) means the cancellation took effect, while 6 (PendingCancel) means it is still being processed.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with DELETE /api/v2/trading/execution/demo/orders/{orderId} (the `DeleteTradingExecutionDemoOrdersByOrderId` operationId).
	DeleteTradingExecutionDemoOrdersByOrderIdWithResponse(ctx context.Context, orderId int64, params *DeleteTradingExecutionDemoOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*DeleteTradingExecutionDemoOrdersByOrderIdResponse, error)

	// CreateTradingExecutionOrdersWithBodyWithResponse Create an order
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v3/trading/execution/orders`
	//
	// ---
	//
	// This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v2 create path, settlementType remains optional (stricter settlementType rules apply only on v3). A 200 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/execution/orders (the `CreateTradingExecutionOrders` operationId).
	CreateTradingExecutionOrdersWithBodyWithResponse(ctx context.Context, params *CreateTradingExecutionOrdersParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTradingExecutionOrdersResponse, error)

	// CreateTradingExecutionOrdersWithResponse Create an order
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v3/trading/execution/orders`
	//
	// ---
	//
	// This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v2 create path, settlementType remains optional (stricter settlementType rules apply only on v3). A 200 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/execution/orders (the `CreateTradingExecutionOrders` operationId).
	CreateTradingExecutionOrdersWithResponse(ctx context.Context, params *CreateTradingExecutionOrdersParams, body CreateTradingExecutionOrdersJSONRequestBody, reqEditors ...RequestEditorFn) (*CreateTradingExecutionOrdersResponse, error)

	// DeleteTradingExecutionOrdersByOrderIdWithResponse Cancels an order before it is executed
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/orders`
	// - `POST /api/v3/trading/execution/orders`
	//
	// ---
	//
	// This endpoint sends a cancellation request to cancel an order before execution. An order can be cancelled if it is waiting for the market to open, or for the trigger rate to be published (MIT orders). The cancellation request may be successful, and the order is cancelled, or unsuccessful, and the order is not cancelled. This operation is idempotent when the order is already closed or cancelled. A 200 response confirms the cancellation request was accepted, not that the order was cancelled - it may already have executed. Confirm with GET /api/v2/trading/info/orders:lookup: status.id 7 (Canceled) or 9 (CanceledPartiallyFilled) means the cancellation took effect, while 6 (PendingCancel) means it is still being processed.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with DELETE /api/v2/trading/execution/orders/{orderId} (the `DeleteTradingExecutionOrdersByOrderId` operationId).
	DeleteTradingExecutionOrdersByOrderIdWithResponse(ctx context.Context, orderId int64, params *DeleteTradingExecutionOrdersByOrderIdParams, reqEditors ...RequestEditorFn) (*DeleteTradingExecutionOrdersByOrderIdResponse, error)

	// GetCostWithBodyWithResponse Get what-if trading cost breakdown
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Returns the markup, market spread, transaction fee, overnight fee, over-weekend fee, and tax that would apply if the supplied order were executed now. For `action: open`, exactly one of `symbol` or `instrumentId` must be provided and `leverage` must be at least 1. For `action: close`, `positionIds` must be non-empty.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/info/costs (the `GetCost` operationId).
	GetCostWithBodyWithResponse(ctx context.Context, params *GetCostParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GetCostResponse2, error)

	// GetCostWithResponse Get what-if trading cost breakdown
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Returns the markup, market spread, transaction fee, overnight fee, over-weekend fee, and tax that would apply if the supplied order were executed now. For `action: open`, exactly one of `symbol` or `instrumentId` must be provided and `leverage` must be at least 1. For `action: close`, `positionIds` must be non-empty.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/info/costs (the `GetCost` operationId).
	GetCostWithResponse(ctx context.Context, params *GetCostParams, body GetCostJSONRequestBody, reqEditors ...RequestEditorFn) (*GetCostResponse2, error)

	// GetCostDemoWithBodyWithResponse Get what-if trading cost breakdown
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Returns the markup, market spread, transaction fee, overnight fee, over-weekend fee, and tax that would apply if the supplied order were executed now against the demo account. For `action: open`, exactly one of `symbol` or `instrumentId` must be provided and `leverage` must be at least 1. For `action: close`, `positionIds` must be non-empty.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/info/demo/costs (the `GetCostDemo` operationId).
	GetCostDemoWithBodyWithResponse(ctx context.Context, params *GetCostDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GetCostDemoResponse, error)

	// GetCostDemoWithResponse Get what-if trading cost breakdown
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Returns the markup, market spread, transaction fee, overnight fee, over-weekend fee, and tax that would apply if the supplied order were executed now against the demo account. For `action: open`, exactly one of `symbol` or `instrumentId` must be provided and `leverage` must be at least 1. For `action: close`, `positionIds` must be non-empty.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/info/demo/costs (the `GetCostDemo` operationId).
	GetCostDemoWithResponse(ctx context.Context, params *GetCostDemoParams, body GetCostDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*GetCostDemoResponse, error)

	// GetInstrumentEligibilityDemoWithBodyWithResponse Check instrument trading eligibility
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Returns per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments. This configuration changes rarely for a given instrument and account, so call it once and reuse the result for the rest of the session instead of re-querying before every order.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/info/demo/eligibility (the `GetInstrumentEligibilityDemo` operationId).
	GetInstrumentEligibilityDemoWithBodyWithResponse(ctx context.Context, params *GetInstrumentEligibilityDemoParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GetInstrumentEligibilityDemoResponse, error)

	// GetInstrumentEligibilityDemoWithResponse Check instrument trading eligibility
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Returns per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments. This configuration changes rarely for a given instrument and account, so call it once and reuse the result for the rest of the session instead of re-querying before every order.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/info/demo/eligibility (the `GetInstrumentEligibilityDemo` operationId).
	GetInstrumentEligibilityDemoWithResponse(ctx context.Context, params *GetInstrumentEligibilityDemoParams, body GetInstrumentEligibilityDemoJSONRequestBody, reqEditors ...RequestEditorFn) (*GetInstrumentEligibilityDemoResponse, error)

	// GetTradingInfoDemoPortfolioInstrumentBreakdownWithResponse Get instrument breakdown (demo)
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/demo/pnl`
	// - `GET /api/v1/trading/info/demo/portfolio`
	//
	// ---
	//
	// Returns the demo portfolio grouped by instrument, including per-position data, pending orders, and PnL.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/trading/info/demo/instrument-breakdown (the `GetTradingInfoDemoPortfolioInstrumentBreakdown` operationId).
	GetTradingInfoDemoPortfolioInstrumentBreakdownWithResponse(ctx context.Context, params *GetTradingInfoDemoPortfolioInstrumentBreakdownParams, reqEditors ...RequestEditorFn) (*GetTradingInfoDemoPortfolioInstrumentBreakdownResponse, error)

	// GetTradingInfoDemoOrdersLookupWithResponse Get order information and position details
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/demo/close-orders/{orderId}`
	// - `GET /api/v1/trading/info/demo/orders/{orderId}`
	//
	// ---
	//
	// Retrieves comprehensive information about a specific order, including the order status, execution details, and all positions that were opened or closed from this order. This endpoint is essential for tracking order execution and identifying which positions were created as a result of a specific order request. The response includes detailed position information with PositionID values that can be used to query position-specific details. Provide exactly one of orderId or referenceId.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/trading/info/demo/orders:lookup (the `GetTradingInfoDemoOrdersLookup` operationId).
	GetTradingInfoDemoOrdersLookupWithResponse(ctx context.Context, params *GetTradingInfoDemoOrdersLookupParams, reqEditors ...RequestEditorFn) (*GetTradingInfoDemoOrdersLookupResponse, error)

	// GetInstrumentEligibilityWithBodyWithResponse Check instrument trading eligibility
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Returns per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments. This configuration changes rarely for a given instrument and account, so call it once and reuse the result for the rest of the session instead of re-querying before every order.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/info/eligibility (the `GetInstrumentEligibility` operationId).
	GetInstrumentEligibilityWithBodyWithResponse(ctx context.Context, params *GetInstrumentEligibilityParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GetInstrumentEligibilityResponse, error)

	// GetInstrumentEligibilityWithResponse Check instrument trading eligibility
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Returns per-instrument trading configuration for the authenticated account - position limits, permitted order types, stop-loss and take-profit boundaries, and available leverage by settlement type and direction. Instruments not found are listed in notFoundInstrumentIds and notFoundSymbols. At least one of instrumentIds or symbols must be supplied; the combined length must not exceed 100 instruments. This configuration changes rarely for a given instrument and account, so call it once and reuse the result for the rest of the session instead of re-querying before every order.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/trading/info/eligibility (the `GetInstrumentEligibility` operationId).
	GetInstrumentEligibilityWithResponse(ctx context.Context, params *GetInstrumentEligibilityParams, body GetInstrumentEligibilityJSONRequestBody, reqEditors ...RequestEditorFn) (*GetInstrumentEligibilityResponse, error)

	// GetTradingInfoPortfolioInstrumentBreakdownWithResponse Get instrument breakdown
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/portfolio`
	// - `GET /api/v1/trading/info/real/pnl`
	//
	// ---
	//
	// Returns the portfolio data grouped by instrument, including per-position data, pending orders, and PnL.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/trading/info/instrument-breakdown (the `GetTradingInfoPortfolioInstrumentBreakdown` operationId).
	GetTradingInfoPortfolioInstrumentBreakdownWithResponse(ctx context.Context, params *GetTradingInfoPortfolioInstrumentBreakdownParams, reqEditors ...RequestEditorFn) (*GetTradingInfoPortfolioInstrumentBreakdownResponse, error)

	// GetTradingInfoOrdersLookupWithResponse Get order information and position details
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `GET /api/v1/trading/info/real/close-orders/{orderId}`
	// - `GET /api/v1/trading/info/real/orders/{orderId}`
	//
	// ---
	//
	// Retrieves comprehensive information about a specific order, including the order status, execution details, and all positions that were opened or closed from this order. This endpoint is essential for tracking order execution and identifying which positions were created as a result of a specific order request. The response includes detailed position information with PositionID values that can be used to query position-specific details. Provide exactly one of orderId or referenceId.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with GET /api/v2/trading/info/orders:lookup (the `GetTradingInfoOrdersLookup` operationId).
	GetTradingInfoOrdersLookupWithResponse(ctx context.Context, params *GetTradingInfoOrdersLookupParams, reqEditors ...RequestEditorFn) (*GetTradingInfoOrdersLookupResponse, error)

	// UpdateRealPositionWithBodyWithResponse Modify stop-loss and take-profit settings on an open position
	//
	// **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.
	//
	// ---
	//
	// Submits an asynchronous request to update stop-loss and/or take-profit on an open position. You can set a new stopLossRate, takeProfitRate, stopLossType, or clear either value (clearStopLoss, clearTakeProfit). At least one SL/TP-related field is required. The response returns acceptance and correlation metadata only.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PATCH /api/v2/trading/positions/{positionId} (the `UpdateRealPosition` operationId).
	UpdateRealPositionWithBodyWithResponse(ctx context.Context, positionId int64, params *UpdateRealPositionParams, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*UpdateRealPositionResponse, error)

	// UpdateRealPositionWithResponse Modify stop-loss and take-profit settings on an open position
	//
	// **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.
	//
	// ---
	//
	// Submits an asynchronous request to update stop-loss and/or take-profit on an open position. You can set a new stopLossRate, takeProfitRate, stopLossType, or clear either value (clearStopLoss, clearTakeProfit). At least one SL/TP-related field is required. The response returns acceptance and correlation metadata only.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with PATCH /api/v2/trading/positions/{positionId} (the `UpdateRealPosition` operationId).
	UpdateRealPositionWithResponse(ctx context.Context, positionId int64, params *UpdateRealPositionParams, body UpdateRealPositionJSONRequestBody, reqEditors ...RequestEditorFn) (*UpdateRealPositionResponse, error)

	// GetWatchlistsV2WithBodyWithResponse Get user watchlists (BFF V2)
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Retrieves the authenticated user's watchlists as a BFF component response (V2 facade). The request body selects the userWatchlists component and its params.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/watchlists (the `GetWatchlistsV2` operationId).
	GetWatchlistsV2WithBodyWithResponse(ctx context.Context, params *GetWatchlistsV2Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*GetWatchlistsV2Response, error)

	// GetWatchlistsV2WithResponse Get user watchlists (BFF V2)
	//
	// **Rate limit:** 60 requests per 60 seconds. This is a **dedicated** limit for this endpoint — it is **not shared** with (pooled across) any other endpoint, so the full rate is available to this endpoint alone.
	//
	// ---
	//
	// Retrieves the authenticated user's watchlists as a BFF component response (V2 facade). The request body selects the userWatchlists component and its params.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v2/watchlists (the `GetWatchlistsV2` operationId).
	GetWatchlistsV2WithResponse(ctx context.Context, params *GetWatchlistsV2Params, body GetWatchlistsV2JSONRequestBody, reqEditors ...RequestEditorFn) (*GetWatchlistsV2Response, error)

	// CreateTradingExecutionDemoOrdersV3WithBodyWithResponse Submit an order for asynchronous processing
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/demo/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v3 create path, settlementType is mandatory for non-MIT orders and must be omitted for MIT orders. A 202 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/demo/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v3/trading/execution/demo/orders (the `CreateTradingExecutionDemoOrdersV3` operationId).
	CreateTradingExecutionDemoOrdersV3WithBodyWithResponse(ctx context.Context, params *CreateTradingExecutionDemoOrdersV3Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTradingExecutionDemoOrdersV3Response, error)

	// CreateTradingExecutionDemoOrdersV3WithResponse Submit an order for asynchronous processing
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/demo/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v3 create path, settlementType is mandatory for non-MIT orders and must be omitted for MIT orders. A 202 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/demo/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v3/trading/execution/demo/orders (the `CreateTradingExecutionDemoOrdersV3` operationId).
	CreateTradingExecutionDemoOrdersV3WithResponse(ctx context.Context, params *CreateTradingExecutionDemoOrdersV3Params, body CreateTradingExecutionDemoOrdersV3JSONRequestBody, reqEditors ...RequestEditorFn) (*CreateTradingExecutionDemoOrdersV3Response, error)

	// DeleteTradingExecutionDemoOrdersByOrderIdV3WithResponse Request cancellation of a pending order
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/demo/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/demo/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/demo/orders/{orderId}`
	// - `POST /api/v1/trading/execution/demo/limit-orders`
	// - `POST /api/v1/trading/execution/demo/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/demo/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/demo/orders`
	// - `POST /api/v3/trading/execution/demo/orders`
	//
	// ---
	//
	// This endpoint sends a cancellation request to cancel an order before execution. An order can be cancelled if it is waiting for the market to open, or for the trigger rate to be published (MIT orders). The cancellation request may be successful, and the order is cancelled, or unsuccessful, and the order is not cancelled. This operation is idempotent when the order is already closed or cancelled. A 202 response confirms the cancellation request was accepted, not that the order was cancelled - it may already have executed. Confirm with GET /api/v2/trading/info/demo/orders:lookup: status.id 7 (Canceled) or 9 (CanceledPartiallyFilled) means the cancellation took effect, while 6 (PendingCancel) means it is still being processed.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with DELETE /api/v3/trading/execution/demo/orders/{orderId} (the `DeleteTradingExecutionDemoOrdersByOrderIdV3` operationId).
	DeleteTradingExecutionDemoOrdersByOrderIdV3WithResponse(ctx context.Context, orderId int64, params *DeleteTradingExecutionDemoOrdersByOrderIdV3Params, reqEditors ...RequestEditorFn) (*DeleteTradingExecutionDemoOrdersByOrderIdV3Response, error)

	// CreateTradingExecutionOrdersV3WithBodyWithResponse Submit an order for asynchronous processing
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/orders`
	//
	// ---
	//
	// This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v3 create path, settlementType is mandatory for non-MIT orders and must be omitted for MIT orders. A 202 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.
	//
	// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v3/trading/execution/orders (the `CreateTradingExecutionOrdersV3` operationId).
	CreateTradingExecutionOrdersV3WithBodyWithResponse(ctx context.Context, params *CreateTradingExecutionOrdersV3Params, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*CreateTradingExecutionOrdersV3Response, error)

	// CreateTradingExecutionOrdersV3WithResponse Submit an order for asynchronous processing
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/orders/{orderId}`
	// - `DELETE /api/v3/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/orders`
	//
	// ---
	//
	// This endpoint allows traders to place an order. Leverage, stop-loss, and take-profit settings can be applied. Order size must use exactly one of amount, units, or contracts. For open orders the instrument must be identified by exactly one of symbol or instrumentId - providing both is rejected. A stopLossRate is required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Only the buy and sellShort transactions are currently supported. A unique X-Request-Id header (GUID) is required for idempotency. Currently only orders to open a position are supported. On this v3 create path, settlementType is mandatory for non-MIT orders and must be omitted for MIT orders. A 202 response means the order was accepted for processing, not that it was executed. Confirm the outcome with GET /api/v2/trading/info/orders:lookup, passing the returned orderId - or referenceId, which echoes your X-Request-Id and is the only handle you have if this response is lost. In that response, status.id 3 (Filled) and 5 (PartiallyFilled) mean the order executed; 4 (Rejected) and 10 (RejectedPartiallyFilled) carry the reason in status.errorCode and status.errorMessage; 1 (Received), 2 (Placed), 11 (WaitingForMarket) and 12 (PendingTriggeredRate) are still in flight and should be polled again. positionExecutions lists the positionId values the order produced.
	//
	// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s).
	//
	// Corresponds with POST /api/v3/trading/execution/orders (the `CreateTradingExecutionOrdersV3` operationId).
	CreateTradingExecutionOrdersV3WithResponse(ctx context.Context, params *CreateTradingExecutionOrdersV3Params, body CreateTradingExecutionOrdersV3JSONRequestBody, reqEditors ...RequestEditorFn) (*CreateTradingExecutionOrdersV3Response, error)

	// DeleteTradingExecutionOrdersByOrderIdV3WithResponse Request cancellation of a pending order
	//
	// **Rate limit:** 20 requests per 60 seconds. This is a **shared quota** — the same budget is consumed by a group of related endpoints, so calling any of them reduces what is left for the others (you cannot call each at the full rate independently). Endpoints sharing this quota:
	// - `DELETE /api/v1/trading/execution/limit-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-close-orders/{orderId}`
	// - `DELETE /api/v1/trading/execution/market-open-orders/{orderId}`
	// - `DELETE /api/v2/trading/execution/orders/{orderId}`
	// - `POST /api/v1/trading/execution/limit-orders`
	// - `POST /api/v1/trading/execution/market-close-orders/positions/{positionId}`
	// - `POST /api/v1/trading/execution/market-open-orders/by-amount`
	// - `POST /api/v1/trading/execution/market-open-orders/by-units`
	// - `POST /api/v2/trading/execution/orders`
	// - `POST /api/v3/trading/execution/orders`
	//
	// ---
	//
	// This endpoint sends a cancellation request to cancel an order before execution. An order can be cancelled if it is waiting for the market to open, or for the trigger rate to be published (MIT orders). The cancellation request may be successful, and the order is cancelled, or unsuccessful, and the order is not cancelled. This operation is idempotent when the order is already closed or cancelled. A 202 response confirms the cancellation request was accepted, not that the order was cancelled - it may already have executed. Confirm with GET /api/v2/trading/info/orders:lookup: status.id 7 (Canceled) or 9 (CanceledPartiallyFilled) means the cancellation took effect, while 6 (PendingCancel) means it is still being processed.
	//
	// Returns a wrapper object for the known response body format(s).
	//
	// Corresponds with DELETE /api/v3/trading/execution/orders/{orderId} (the `DeleteTradingExecutionOrdersByOrderIdV3` operationId).
	DeleteTradingExecutionOrdersByOrderIdV3WithResponse(ctx context.Context, orderId int64, params *DeleteTradingExecutionOrdersByOrderIdV3Params, reqEditors ...RequestEditorFn) (*DeleteTradingExecutionOrdersByOrderIdV3Response, error)
}

ClientWithResponsesInterface is the interface specification for the client with responses above.

type CloseCopyTradingDemoParams

type CloseCopyTradingDemoParams struct {
	// MirrorID The copy relationship to close, as returned in the status response after a successful registration.
	MirrorID int32 `form:"mirrorID" json:"mirrorID"`

	// UnregisterType Close liquidates the copy's positions; Detach releases them as self-managed positions. Defaults to Close.
	UnregisterType *CloseCopyTradingDemoParamsUnregisterType `form:"unregisterType,omitempty" json:"unregisterType,omitempty"`

	// ClientRequestID Optional idempotency key (UUID): repeated requests with the same value produce the same operation, and the response token echoes it.
	ClientRequestID *openapi_types.UUID `form:"clientRequestID,omitempty" json:"clientRequestID,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

CloseCopyTradingDemoParams defines parameters for CloseCopyTradingDemo.

type CloseCopyTradingDemoParamsUnregisterType

type CloseCopyTradingDemoParamsUnregisterType string

CloseCopyTradingDemoParamsUnregisterType defines parameters for CloseCopyTradingDemo.

const (
	CloseCopyTradingDemoParamsUnregisterTypeClose  CloseCopyTradingDemoParamsUnregisterType = "Close"
	CloseCopyTradingDemoParamsUnregisterTypeDetach CloseCopyTradingDemoParamsUnregisterType = "Detach"
)

Defines values for CloseCopyTradingDemoParamsUnregisterType.

func (CloseCopyTradingDemoParamsUnregisterType) Valid

Valid indicates whether the value is a known member of the CloseCopyTradingDemoParamsUnregisterType enum.

type CloseCopyTradingDemoResponse

type CloseCopyTradingDemoResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *TokenedResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *CopyTradingErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *GatewayErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *GatewayErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *GatewayErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *CloseCopyTradingDemoResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CloseCopyTradingDemoResponse429Headers
}

func ParseCloseCopyTradingDemoResponse

func ParseCloseCopyTradingDemoResponse(rsp *http.Response) (*CloseCopyTradingDemoResponse, error)

ParseCloseCopyTradingDemoResponse parses an HTTP response from a CloseCopyTradingDemoWithResponse call

func (CloseCopyTradingDemoResponse) ContentType

func (r CloseCopyTradingDemoResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CloseCopyTradingDemoResponse) GetBody

func (r CloseCopyTradingDemoResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (CloseCopyTradingDemoResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (CloseCopyTradingDemoResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (CloseCopyTradingDemoResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (CloseCopyTradingDemoResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (CloseCopyTradingDemoResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (CloseCopyTradingDemoResponse) Status

Status returns HTTPResponse.Status

func (CloseCopyTradingDemoResponse) StatusCode

func (r CloseCopyTradingDemoResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type CloseCopyTradingDemoResponse200Headers

type CloseCopyTradingDemoResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CloseCopyTradingDemoResponse200Headers the declared response headers of an HTTP 200 response for CloseCopyTradingDemo

type CloseCopyTradingDemoResponse429Headers

type CloseCopyTradingDemoResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CloseCopyTradingDemoResponse429Headers the declared response headers of an HTTP 429 response for CloseCopyTradingDemo

type CloseCopyTradingParams

type CloseCopyTradingParams struct {
	// MirrorID The copy relationship to close, as returned in the status response after a successful registration.
	MirrorID int32 `form:"mirrorID" json:"mirrorID"`

	// UnregisterType Close liquidates the copy's positions; Detach releases them as self-managed positions. Defaults to Close.
	UnregisterType *CloseCopyTradingParamsUnregisterType `form:"unregisterType,omitempty" json:"unregisterType,omitempty"`

	// ClientRequestID Optional idempotency key (UUID): repeated requests with the same value produce the same operation, and the response token echoes it.
	ClientRequestID *openapi_types.UUID `form:"clientRequestID,omitempty" json:"clientRequestID,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

CloseCopyTradingParams defines parameters for CloseCopyTrading.

type CloseCopyTradingParamsUnregisterType

type CloseCopyTradingParamsUnregisterType string

CloseCopyTradingParamsUnregisterType defines parameters for CloseCopyTrading.

const (
	CloseCopyTradingParamsUnregisterTypeClose  CloseCopyTradingParamsUnregisterType = "Close"
	CloseCopyTradingParamsUnregisterTypeDetach CloseCopyTradingParamsUnregisterType = "Detach"
)

Defines values for CloseCopyTradingParamsUnregisterType.

func (CloseCopyTradingParamsUnregisterType) Valid

Valid indicates whether the value is a known member of the CloseCopyTradingParamsUnregisterType enum.

type CloseCopyTradingResponse

type CloseCopyTradingResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *TokenedResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *CopyTradingErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *GatewayErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *GatewayErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *GatewayErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *CloseCopyTradingResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CloseCopyTradingResponse429Headers
}

func ParseCloseCopyTradingResponse

func ParseCloseCopyTradingResponse(rsp *http.Response) (*CloseCopyTradingResponse, error)

ParseCloseCopyTradingResponse parses an HTTP response from a CloseCopyTradingWithResponse call

func (CloseCopyTradingResponse) ContentType

func (r CloseCopyTradingResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CloseCopyTradingResponse) GetBody

func (r CloseCopyTradingResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (CloseCopyTradingResponse) GetJSON200

func (r CloseCopyTradingResponse) GetJSON200() *TokenedResponse

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (CloseCopyTradingResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (CloseCopyTradingResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (CloseCopyTradingResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (CloseCopyTradingResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (CloseCopyTradingResponse) Status

func (r CloseCopyTradingResponse) Status() string

Status returns HTTPResponse.Status

func (CloseCopyTradingResponse) StatusCode

func (r CloseCopyTradingResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type CloseCopyTradingResponse200Headers

type CloseCopyTradingResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CloseCopyTradingResponse200Headers the declared response headers of an HTTP 200 response for CloseCopyTrading

type CloseCopyTradingResponse429Headers

type CloseCopyTradingResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CloseCopyTradingResponse429Headers the declared response headers of an HTTP 429 response for CloseCopyTrading

type CloseCopyTradingViaPostDemoJSONRequestBody

type CloseCopyTradingViaPostDemoJSONRequestBody = CopyTradingCloseRequest

CloseCopyTradingViaPostDemoJSONRequestBody defines body for CloseCopyTradingViaPostDemo for application/json ContentType.

type CloseCopyTradingViaPostDemoParams

type CloseCopyTradingViaPostDemoParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

CloseCopyTradingViaPostDemoParams defines parameters for CloseCopyTradingViaPostDemo.

type CloseCopyTradingViaPostDemoResponse

type CloseCopyTradingViaPostDemoResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *TokenedResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *CopyTradingErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *GatewayErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *GatewayErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *GatewayErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *CloseCopyTradingViaPostDemoResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CloseCopyTradingViaPostDemoResponse429Headers
}

func ParseCloseCopyTradingViaPostDemoResponse

func ParseCloseCopyTradingViaPostDemoResponse(rsp *http.Response) (*CloseCopyTradingViaPostDemoResponse, error)

ParseCloseCopyTradingViaPostDemoResponse parses an HTTP response from a CloseCopyTradingViaPostDemoWithResponse call

func (CloseCopyTradingViaPostDemoResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CloseCopyTradingViaPostDemoResponse) GetBody

GetBody returns the raw response body bytes

func (CloseCopyTradingViaPostDemoResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (CloseCopyTradingViaPostDemoResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (CloseCopyTradingViaPostDemoResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (CloseCopyTradingViaPostDemoResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (CloseCopyTradingViaPostDemoResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (CloseCopyTradingViaPostDemoResponse) Status

Status returns HTTPResponse.Status

func (CloseCopyTradingViaPostDemoResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type CloseCopyTradingViaPostDemoResponse200Headers

type CloseCopyTradingViaPostDemoResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CloseCopyTradingViaPostDemoResponse200Headers the declared response headers of an HTTP 200 response for CloseCopyTradingViaPostDemo

type CloseCopyTradingViaPostDemoResponse429Headers

type CloseCopyTradingViaPostDemoResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CloseCopyTradingViaPostDemoResponse429Headers the declared response headers of an HTTP 429 response for CloseCopyTradingViaPostDemo

type CloseCopyTradingViaPostJSONRequestBody

type CloseCopyTradingViaPostJSONRequestBody = CopyTradingCloseRequest

CloseCopyTradingViaPostJSONRequestBody defines body for CloseCopyTradingViaPost for application/json ContentType.

type CloseCopyTradingViaPostParams

type CloseCopyTradingViaPostParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

CloseCopyTradingViaPostParams defines parameters for CloseCopyTradingViaPost.

type CloseCopyTradingViaPostResponse

type CloseCopyTradingViaPostResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *TokenedResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *CopyTradingErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *GatewayErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *GatewayErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *GatewayErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *CloseCopyTradingViaPostResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CloseCopyTradingViaPostResponse429Headers
}

func ParseCloseCopyTradingViaPostResponse

func ParseCloseCopyTradingViaPostResponse(rsp *http.Response) (*CloseCopyTradingViaPostResponse, error)

ParseCloseCopyTradingViaPostResponse parses an HTTP response from a CloseCopyTradingViaPostWithResponse call

func (CloseCopyTradingViaPostResponse) ContentType

func (r CloseCopyTradingViaPostResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CloseCopyTradingViaPostResponse) GetBody

func (r CloseCopyTradingViaPostResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (CloseCopyTradingViaPostResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (CloseCopyTradingViaPostResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (CloseCopyTradingViaPostResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (CloseCopyTradingViaPostResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (CloseCopyTradingViaPostResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (CloseCopyTradingViaPostResponse) Status

Status returns HTTPResponse.Status

func (CloseCopyTradingViaPostResponse) StatusCode

func (r CloseCopyTradingViaPostResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type CloseCopyTradingViaPostResponse200Headers

type CloseCopyTradingViaPostResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CloseCopyTradingViaPostResponse200Headers the declared response headers of an HTTP 200 response for CloseCopyTradingViaPost

type CloseCopyTradingViaPostResponse429Headers

type CloseCopyTradingViaPostResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CloseCopyTradingViaPostResponse429Headers the declared response headers of an HTTP 429 response for CloseCopyTradingViaPost

type ClosedPositionEventsHistoryItem

type ClosedPositionEventsHistoryItem struct {
	// AssetType Asset type of the closed positions counted in this entry.
	//
	// Example: Stocks
	AssetType string `json:"assetType"`

	// CloseYear Calendar year the position events closed in.
	//
	// Example: 2023
	CloseYear int32 `json:"closeYear"`

	// ClosedPositionEvents Count of closed position events for this close year and asset type.
	//
	// Example: 4
	ClosedPositionEvents int32 `json:"closedPositionEvents"`
}

ClosedPositionEventsHistoryItem One closed-position history entry: the count of closed position events for a single close year and asset type.

type ClosedPositionEventsHistoryPage

type ClosedPositionEventsHistoryPage struct {
	// Pagination Offset pagination metadata for a collection response.
	Pagination PaginationSchema `json:"pagination"`

	// Results History entries for this page, oldest close year first.
	Results []ClosedPositionEventsHistoryItem `json:"results"`
}

ClosedPositionEventsHistoryPage One page of closed-position history entries. The collection is a property of this object rather than a bare top-level array, so further fields can be added without a breaking change.

type ClosingPricesResponse

type ClosingPricesResponse = []struct {
	// ClosingPrices Historical closing prices at different time intervals
	ClosingPrices *struct {
		// Daily Official closing price from the previous trading day
		Daily *struct {
			// Date Date and time of the closing price in ISO 8601 format
			Date *time.Time `json:"date,omitempty"`

			// Price Closing price value
			Price *float32 `json:"price,omitempty"`
		} `json:"daily,omitempty"`

		// Monthly Official closing price from the previous trading month
		Monthly *struct {
			// Date Date and time of the closing price in ISO 8601 format. Default date (0001-01-01) indicates no data available.
			Date *time.Time `json:"date,omitempty"`

			// Price Closing price value. A value of -1 indicates no data available.
			Price *float32 `json:"price,omitempty"`
		} `json:"monthly,omitempty"`

		// Weekly Official closing price from the previous trading week
		Weekly *struct {
			// Date Date and time of the closing price in ISO 8601 format
			Date *time.Time `json:"date,omitempty"`

			// Price Closing price value
			Price *float32 `json:"price,omitempty"`
		} `json:"weekly,omitempty"`
	} `json:"closingPrices,omitempty"`

	// InstrumentId Unique identifier of the instrument
	InstrumentId *int `json:"instrumentId,omitempty"`

	// IsMarketOpen Obsolete - Do not use
	IsMarketOpen *bool `json:"isMarketOpen,omitempty"`

	// OfficialClosingPrice Most recent official closing price for the instrument
	OfficialClosingPrice *float32 `json:"officialClosingPrice,omitempty"`
}

ClosingPricesResponse List of closing prices for all instruments

type ClubDashboardDataResponse

type ClubDashboardDataResponse struct {
	// Clubs List of club tiers with equity thresholds
	Clubs *[]ClubInfo `json:"clubs,omitempty"`

	// Contacts Account manager contact details
	Contacts *ContactsResponse `json:"contacts,omitempty"`

	// DowngradeRisk Club tier downgrade risk assessment
	DowngradeRisk *DowngradeRiskResponse `json:"downgradeRisk,omitempty"`

	// Offers Club offers categorized by availability
	Offers *UserOffersData `json:"offers,omitempty"`

	// Webinars Upcoming and past webinars
	Webinars *WebinarsResponse `json:"webinars,omitempty"`
}

ClubDashboardDataResponse Club dashboard data for a user

type ClubInfo

type ClubInfo struct {
	// MaxRealizedEquity Maximum realized equity threshold for this tier
	//
	// Example: 10000
	MaxRealizedEquity *int `json:"maxRealizedEquity,omitempty"`

	// MinRealizedEquity Minimum realized equity threshold for this tier
	//
	// Example: 5000
	MinRealizedEquity *int `json:"minRealizedEquity,omitempty"`

	// Name Display name of the club tier
	//
	// Example: Silver
	Name *ClubInfoName `json:"name,omitempty"`

	// Rank Display rank of this tier
	//
	// Example: 2
	Rank *int `json:"rank,omitempty"`
}

ClubInfo A single club tier with equity thresholds

type ClubInfoName

type ClubInfoName string

ClubInfoName Display name of the club tier

Example: Silver

const (
	ClubInfoNameBronze       ClubInfoName = "Bronze"
	ClubInfoNameDiamond      ClubInfoName = "Diamond"
	ClubInfoNameGold         ClubInfoName = "Gold"
	ClubInfoNameInternal     ClubInfoName = "Internal"
	ClubInfoNamePlatinum     ClubInfoName = "Platinum"
	ClubInfoNamePlatinumPlus ClubInfoName = "PlatinumPlus"
	ClubInfoNameSilver       ClubInfoName = "Silver"
)

Defines values for ClubInfoName.

func (ClubInfoName) Valid

func (e ClubInfoName) Valid() bool

Valid indicates whether the value is a known member of the ClubInfoName enum.

type ClubOffer

type ClubOffer struct {
	// DeliveryMethod Delivery method
	//
	// Example: Static
	DeliveryMethod *ClubOfferDeliveryMethod `json:"deliveryMethod,omitempty"`

	// Description Detailed offer description
	//
	// Example: Discounted assistance with preparing annual tax returns from certified tax companies in your country.
	Description *string `json:"description,omitempty"`

	// DisplayName Offer display name
	//
	// Example: Tax Return Offer
	DisplayName *string `json:"displayName,omitempty"`

	// Id Offer identifier
	//
	// Example: 80
	Id *string `json:"id,omitempty"`

	// MinimumClubLevel Minimum club tier required for this offer
	//
	// Example: Silver
	MinimumClubLevel *ClubOfferMinimumClubLevel `json:"minimumClubLevel,omitempty"`

	// OfferUrl URL with more information about the offer
	//
	// Example: https://www.etoro.com/club/offers/80
	OfferUrl *string `json:"offerUrl,omitempty"`

	// OffersInBundle Offers bundled together with this offer
	OffersInBundle *[]OfferInBundle `json:"offersInBundle,omitempty"`

	// Status Offer status
	//
	// Example: Claimed
	Status *ClubOfferStatus `json:"status,omitempty"`

	// SubOffers Sub-offers within this offer
	SubOffers *[]ClubOffer `json:"subOffers,omitempty"`

	// SubType Offer sub-type
	SubType *ClubOfferSubType `json:"subType,omitempty"`

	// Type Offer type
	//
	// Example: Financial
	Type *ClubOfferType `json:"type,omitempty"`
}

ClubOffer A club benefit offer

type ClubOfferDeliveryMethod

type ClubOfferDeliveryMethod string

ClubOfferDeliveryMethod Delivery method

Example: Static

const (
	ClubOfferDeliveryMethodAPI              ClubOfferDeliveryMethod = "API"
	ClubOfferDeliveryMethodInventoryManaged ClubOfferDeliveryMethod = "Inventory Managed"
	ClubOfferDeliveryMethodOnDemand         ClubOfferDeliveryMethod = "On-demand"
	ClubOfferDeliveryMethodStatic           ClubOfferDeliveryMethod = "Static"
)

Defines values for ClubOfferDeliveryMethod.

func (ClubOfferDeliveryMethod) Valid

func (e ClubOfferDeliveryMethod) Valid() bool

Valid indicates whether the value is a known member of the ClubOfferDeliveryMethod enum.

type ClubOfferMinimumClubLevel

type ClubOfferMinimumClubLevel string

ClubOfferMinimumClubLevel Minimum club tier required for this offer

Example: Silver

const (
	ClubOfferMinimumClubLevelBronze       ClubOfferMinimumClubLevel = "Bronze"
	ClubOfferMinimumClubLevelDiamond      ClubOfferMinimumClubLevel = "Diamond"
	ClubOfferMinimumClubLevelGold         ClubOfferMinimumClubLevel = "Gold"
	ClubOfferMinimumClubLevelInternal     ClubOfferMinimumClubLevel = "Internal"
	ClubOfferMinimumClubLevelPlatinum     ClubOfferMinimumClubLevel = "Platinum"
	ClubOfferMinimumClubLevelPlatinumPlus ClubOfferMinimumClubLevel = "PlatinumPlus"
	ClubOfferMinimumClubLevelSilver       ClubOfferMinimumClubLevel = "Silver"
)

Defines values for ClubOfferMinimumClubLevel.

func (ClubOfferMinimumClubLevel) Valid

func (e ClubOfferMinimumClubLevel) Valid() bool

Valid indicates whether the value is a known member of the ClubOfferMinimumClubLevel enum.

type ClubOfferStatus

type ClubOfferStatus string

ClubOfferStatus Offer status

Example: Claimed

const (
	ClubOfferStatusAvailable               ClubOfferStatus = "Available"
	ClubOfferStatusClaimCancelled          ClubOfferStatus = "Claim Cancelled"
	ClubOfferStatusClaimed                 ClubOfferStatus = "Claimed"
	ClubOfferStatusExpired                 ClubOfferStatus = "Expired"
	ClubOfferStatusInventoryOrderCancelled ClubOfferStatus = "Inventory Order Cancelled"
	ClubOfferStatusPending                 ClubOfferStatus = "Pending"
	ClubOfferStatusReserved                ClubOfferStatus = "Reserved"
)

Defines values for ClubOfferStatus.

func (ClubOfferStatus) Valid

func (e ClubOfferStatus) Valid() bool

Valid indicates whether the value is a known member of the ClubOfferStatus enum.

type ClubOfferSubType

type ClubOfferSubType string

ClubOfferSubType Offer sub-type

const (
	ClubOfferSubTypeHigh ClubOfferSubType = "High"
	ClubOfferSubTypeLow  ClubOfferSubType = "Low"
)

Defines values for ClubOfferSubType.

func (ClubOfferSubType) Valid

func (e ClubOfferSubType) Valid() bool

Valid indicates whether the value is a known member of the ClubOfferSubType enum.

type ClubOfferType

type ClubOfferType string

ClubOfferType Offer type

Example: Financial

const (
	ClubOfferTypeAssociationMembership ClubOfferType = "Association Membership"
	ClubOfferTypeBundle                ClubOfferType = "Bundle"
	ClubOfferTypeClientMeetup          ClubOfferType = "Client meetup"
	ClubOfferTypeEducational           ClubOfferType = "Educational"
	ClubOfferTypeEmotional             ClubOfferType = "Emotional"
	ClubOfferTypeEntertainment         ClubOfferType = "Entertainment"
	ClubOfferTypeExclusiveEvents       ClubOfferType = "Exclusive events"
	ClubOfferTypeFinancial             ClubOfferType = "Financial"
	ClubOfferTypeGiftCard              ClubOfferType = "Gift card"
	ClubOfferTypeGifts                 ClubOfferType = "Gifts"
	ClubOfferTypeNews                  ClubOfferType = "News"
	ClubOfferTypeServices              ClubOfferType = "Services"
	ClubOfferTypeSignals               ClubOfferType = "Signals"
	ClubOfferTypeTickets               ClubOfferType = "Tickets"
	ClubOfferTypeTools                 ClubOfferType = "Tools"
	ClubOfferTypeTravel                ClubOfferType = "Travel"
	ClubOfferTypeZoomMeetings          ClubOfferType = "Zoom meetings"
)

Defines values for ClubOfferType.

func (ClubOfferType) Valid

func (e ClubOfferType) Valid() bool

Valid indicates whether the value is a known member of the ClubOfferType enum.

type ClubsApiAvatar

type ClubsApiAvatar struct {
	// Height Image height in pixels
	//
	// Example: 50
	Height *int `json:"height,omitempty"`

	// Url Image URL
	//
	// Example: https://openbook-static-files.s3.amazonaws.com/images/avatoros/50x50/af.png
	Url *string `json:"url,omitempty"`

	// Width Image width in pixels
	//
	// Example: 50
	Width *int `json:"width,omitempty"`
}

ClubsApiAvatar Avatar image in a specific size

type ClubsApiPublicErrorResponse

type ClubsApiPublicErrorResponse struct {
	// ErrorCode Machine-readable error code
	//
	// Example: UnhandledException
	ErrorCode string `json:"errorCode"`

	// ErrorMessage Human-readable error message
	//
	// Example: Global Error
	ErrorMessage string `json:"errorMessage"`
}

ClubsApiPublicErrorResponse Standard error response

type ContactInfo

type ContactInfo struct {
	// Avatars Manager avatar images in different sizes
	Avatars *[]ClubsApiAvatar `json:"avatars,omitempty"`

	// CalendarUrl Calendar booking URL for scheduling meetings
	//
	// Example: https://calendly.com/etoro-club
	CalendarUrl *string `json:"calendarUrl,omitempty"`

	// Email Account manager email address
	//
	// Example: john.smith@etoro.com
	Email *openapi_types.Email `json:"email,omitempty"`

	// FirstName Account manager first name
	//
	// Example: John
	FirstName *string `json:"firstName,omitempty"`

	// LastName Account manager last name
	//
	// Example: Smith
	LastName *string `json:"lastName,omitempty"`
}

ContactInfo Account manager profile

type ContactsResponse

type ContactsResponse struct {
	// Manager Account manager profile
	Manager *ContactInfo `json:"manager,omitempty"`
}

ContactsResponse Account manager contact details

type CopiersCurrentResponse

type CopiersCurrentResponse struct {
	// AumTier Assets-under-management tier level.
	AumTier int32 `json:"aumTier"`

	// AumTierDesc Human-readable AUM tier label; null when not provided upstream.
	AumTierDesc *string `json:"aumTierDesc,omitempty"`

	// Copiers Current number of copiers.
	Copiers int32 `json:"copiers"`
}

CopiersCurrentResponse Current copiers snapshot and AUM tier for portfolio display.

type CopyTradingCloseRequest

type CopyTradingCloseRequest struct {
	// ClientRequestID Optional idempotency key: repeated requests with the same value produce the same operation, and the response token echoes it.
	ClientRequestID *openapi_types.UUID `json:"clientRequestID,omitempty"`

	// MirrorID The copy relationship to close, as returned in the status response after a successful registration.
	MirrorID int32 `json:"mirrorID"`

	// UnregisterType Close liquidates the copy's positions; Detach releases them as self-managed positions.
	UnregisterType *CopyTradingCloseRequestUnregisterType `json:"unregisterType,omitempty"`
}

CopyTradingCloseRequest defines model for CopyTradingCloseRequest.

type CopyTradingCloseRequestUnregisterType

type CopyTradingCloseRequestUnregisterType string

CopyTradingCloseRequestUnregisterType Close liquidates the copy's positions; Detach releases them as self-managed positions.

const (
	CopyTradingCloseRequestUnregisterTypeClose  CopyTradingCloseRequestUnregisterType = "Close"
	CopyTradingCloseRequestUnregisterTypeDetach CopyTradingCloseRequestUnregisterType = "Detach"
)

Defines values for CopyTradingCloseRequestUnregisterType.

func (CopyTradingCloseRequestUnregisterType) Valid

Valid indicates whether the value is a known member of the CopyTradingCloseRequestUnregisterType enum.

type CopyTradingEligibilityRequest

type CopyTradingEligibilityRequest struct {
	// Amount Amount that would be allocated to the copy, in the account currency. Value must be non-zero.
	Amount float32 `json:"amount"`

	// ParentCID The investor account id to copy.
	ParentCID int32 `json:"parentCID"`
}

CopyTradingEligibilityRequest defines model for CopyTradingEligibilityRequest.

type CopyTradingEligibilityResponse

type CopyTradingEligibilityResponse struct {
	// CID The authenticated account id the verdict applies to.
	CID int32 `json:"CID"`

	// ErrorCode Machine-readable reason when not eligible. Values are not currently enumerated — treat as opaque diagnostic data. May be absent even when isSuccess is false.
	ErrorCode *int32 `json:"errorCode,omitempty"`

	// ErrorMessage Human-readable reason when not eligible. May be absent even when isSuccess is false.
	ErrorMessage *string `json:"errorMessage,omitempty"`

	// IsSuccess Whether a copy registration with these parameters would be allowed.
	IsSuccess bool `json:"isSuccess"`

	// ParentCID The investor account id the verdict applies to.
	ParentCID int32 `json:"parentCID"`
}

CopyTradingEligibilityResponse Eligibility verdict. Fields with no value are omitted from the response rather than sent as null.

type CopyTradingErrorResponse

type CopyTradingErrorResponse struct {
	// Error Human-readable error message naming the offending field where applicable.
	//
	// Example: Amount must not be zero
	Error string `json:"error"`
}

CopyTradingErrorResponse Error response from the Copy Trading API (400, 404 and 500 statuses).

type CopyTradingRegisterRequest

type CopyTradingRegisterRequest struct {
	// Amount Amount to allocate to the copy, in the account currency. Value must be non-zero. A positive value adds these funds into the copy sub-portfolio; a negative value removes funds from the sub-portfolio. Every change of funds causes a realignment process that adjusts all the positions inside the sub-portfolio to match the parent portfolio proportions.
	Amount float32 `json:"amount"`

	// ParentCID The investor account id to copy.
	ParentCID int32 `json:"parentCID"`

	// ReferenceID Caller-supplied operation reference used to poll the outcome. Case-sensitive, URL-safe characters without '/', unique per operation within your account. Not an idempotency key: resubmitting the same value creates a new operation, and status lookups for a reused reference prefer the successful outcome.
	ReferenceID string `json:"referenceID"`
}

CopyTradingRegisterRequest defines model for CopyTradingRegisterRequest.

type CopyTradingStatusResponse

type CopyTradingStatusResponse struct {
	// ErrorMessageCode Machine-readable error code when the operation failed. Values are not currently enumerated — treat as opaque diagnostic data.
	ErrorMessageCode *int32 `json:"errorMessageCode,omitempty"`

	// FailReason Human-readable failure reason when the operation failed.
	FailReason *string `json:"failReason,omitempty"`

	// IsSuccess Whether the copy operation completed successfully.
	IsSuccess bool `json:"isSuccess"`

	// MirrorID The copy relationship the operation created or edited — the id used to close it. Present only when isSuccess is true.
	MirrorID *int32 `json:"mirrorID,omitempty"`

	// ParentCID The copied investor's account id. Either both parentCID and parentUsername are present, or both are absent.
	ParentCID *int32 `json:"parentCID,omitempty"`

	// ParentUsername The copied investor's username. Either both parentCID and parentUsername are present, or both are absent.
	ParentUsername *string `json:"parentUsername,omitempty"`

	// ReferenceID The caller-supplied operation reference this status answers.
	ReferenceID string `json:"referenceID"`
}

CopyTradingStatusResponse Terminal outcome of a copy operation. Fields with no value are omitted from the response rather than sent as null.

type CostBreakdown

type CostBreakdown struct {
	// CostType Identifies the cost component: `markup` is a price or currency-conversion markup applied by etoro; `marketSpread` is the market spread included in the execution price; `transactionFee` is a fee charged for executing the trade when applicable; `overnightFee` is a fee for keeping the position open overnight; `overWeekendFee` is a fee for keeping the position open over a weekend; and `sdrt` is the tax charged on eligible settled buy transactions.
	CostType *CostBreakdownCostType `json:"costType,omitempty"`

	// Currency ISO 4217 currency code in which `value` is denominated.
	Currency *string `json:"currency,omitempty"`

	// Value The monetary value of this cost component, expressed in `currency`. The live response uses `value`; earlier versions of this documentation incorrectly named it `amount`.
	Value *float64 `json:"value,omitempty"`
}

CostBreakdown Individual cost component in the requested order currency. `markup` is a price or currency-conversion markup applied by etoro; `marketSpread` is the market spread included in the execution price; `transactionFee` is a fee charged for executing the trade when applicable; `overnightFee` is a fee for keeping the position open overnight; `overWeekendFee` is a fee for keeping the position open over a weekend; and `sdrt` is the tax charged on eligible settled buy transactions.

type CostBreakdownCostType

type CostBreakdownCostType string

CostBreakdownCostType Identifies the cost component: `markup` is a price or currency-conversion markup applied by etoro; `marketSpread` is the market spread included in the execution price; `transactionFee` is a fee charged for executing the trade when applicable; `overnightFee` is a fee for keeping the position open overnight; `overWeekendFee` is a fee for keeping the position open over a weekend; and `sdrt` is the tax charged on eligible settled buy transactions.

const (
	CostBreakdownCostTypeMarketSpread   CostBreakdownCostType = "marketSpread"
	CostBreakdownCostTypeMarkup         CostBreakdownCostType = "markup"
	CostBreakdownCostTypeOverWeekendFee CostBreakdownCostType = "overWeekendFee"
	CostBreakdownCostTypeOvernightFee   CostBreakdownCostType = "overnightFee"
	CostBreakdownCostTypeSdrt           CostBreakdownCostType = "sdrt"
	CostBreakdownCostTypeTransactionFee CostBreakdownCostType = "transactionFee"
)

Defines values for CostBreakdownCostType.

func (CostBreakdownCostType) Valid

func (e CostBreakdownCostType) Valid() bool

Valid indicates whether the value is a known member of the CostBreakdownCostType enum.

type Counterparty

type Counterparty struct {
	Name *string           `json:"name,omitempty"`
	Type *CounterpartyType `json:"type,omitempty"`
}

Counterparty defines model for Counterparty.

type CounterpartyType

type CounterpartyType string

CounterpartyType defines model for Counterparty.Type.

const (
	CounterpartyTypeBankAccount     CounterpartyType = "bank_account"
	CounterpartyTypeInternalAccount CounterpartyType = "internal_account"
	CounterpartyTypeMerchant        CounterpartyType = "merchant"
	CounterpartyTypeUnknown         CounterpartyType = "unknown"
)

Defines values for CounterpartyType.

func (CounterpartyType) Valid

func (e CounterpartyType) Valid() bool

Valid indicates whether the value is a known member of the CounterpartyType enum.

type CreateAgentPortfolioPartialResponse

type CreateAgentPortfolioPartialResponse struct {
	// AgentPortfolioGcid The GCID associated with the agent-portfolio.
	//
	// Example: 12345678
	AgentPortfolioGcid *int `json:"agentPortfolioGcid,omitempty"`

	// AgentPortfolioId The unique identifier of the newly created agent-portfolio.
	//
	// Example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
	AgentPortfolioId *openapi_types.UUID `json:"agentPortfolioId,omitempty"`

	// AgentPortfolioName The display name assigned to the agent-portfolio.
	//
	// Example: MyPort1
	AgentPortfolioName *string `json:"agentPortfolioName,omitempty"`

	// AgentPortfolioVirtualBalance 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
	AgentPortfolioVirtualBalance *int `json:"agentPortfolioVirtualBalance,omitempty"`

	// MirrorId The Trading API mirror ID for this agent-portfolio's copy trade.
	//
	// Example: 12345
	MirrorId *int `json:"mirrorId,omitempty"`

	// UserTokenCreated Always false — indicates that the user token was not created.
	//
	// Example: false
	UserTokenCreated *bool `json:"userTokenCreated,omitempty"`
}

CreateAgentPortfolioPartialResponse defines model for CreateAgentPortfolioPartialResponse.

type CreateAgentPortfolioV2Request

type CreateAgentPortfolioV2Request struct {
	// AgentPortfolioDescription An optional description of the agent-portfolio's purpose or strategy.
	//
	// Example: My trading portfolio
	AgentPortfolioDescription *string `json:"agentPortfolioDescription,omitempty"`

	// AgentPortfolioName A unique display name for the agent-portfolio (6-10 characters).
	//
	// Example: MyPort1
	AgentPortfolioName string `json:"agentPortfolioName"`

	// ExpiresAt An optional expiration date and time (UTC) for the provisioned user token.
	//
	// Example: 2026-12-31T23:59:59Z
	ExpiresAt *time.Time `json:"expiresAt,omitempty"`

	// InvestmentAmountInUsd 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
	InvestmentAmountInUsd float32 `json:"investmentAmountInUsd"`

	// IpsWhitelist An optional set of IPv4 addresses allowed to use the provisioned user token.
	//
	// Example: ["192.168.1.1"]
	IpsWhitelist *[]string `json:"ipsWhitelist,omitempty"`

	// ScopeNames 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"]
	ScopeNames []string `json:"scopeNames"`

	// UserTokenName A human-readable name for the user token provisioned with the agent-portfolio.
	//
	// Example: my-trading-token
	UserTokenName string `json:"userTokenName"`
}

CreateAgentPortfolioV2Request defines model for CreateAgentPortfolioV2Request.

type CreateAgentPortfolioV2Response

type CreateAgentPortfolioV2Response struct {
	// AgentPortfolioGcid The GCID associated with the agent-portfolio.
	//
	// Example: 12345678
	AgentPortfolioGcid *int `json:"agentPortfolioGcid,omitempty"`

	// AgentPortfolioId The unique identifier of the newly created agent-portfolio.
	//
	// Example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
	AgentPortfolioId *openapi_types.UUID `json:"agentPortfolioId,omitempty"`

	// AgentPortfolioName The display name assigned to the agent-portfolio.
	//
	// Example: MyPort1
	AgentPortfolioName *string `json:"agentPortfolioName,omitempty"`

	// AgentPortfolioVirtualBalance 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
	AgentPortfolioVirtualBalance *float32 `json:"agentPortfolioVirtualBalance,omitempty"`

	// MirrorId The Trading API mirror ID for this agent-portfolio's copy trade.
	//
	// Example: 12345
	MirrorId *int `json:"mirrorId,omitempty"`

	// UserTokens The user tokens generated during agent-portfolio creation.
	UserTokens *[]CreateAgentPortfolioV2UserTokenItem `json:"userTokens,omitempty"`
}

CreateAgentPortfolioV2Response defines model for CreateAgentPortfolioV2Response.

type CreateAgentPortfolioV2UserTokenItem

type CreateAgentPortfolioV2UserTokenItem struct {
	// ClientId The OAuth client identifier associated with the user token.
	//
	// Example: c1d2e3f4-a5b6-7890-cdef-123456789abc
	ClientId *openapi_types.UUID `json:"clientId,omitempty"`

	// ExpiresAt The expiration date and time of the user token in UTC.
	//
	// Example: 2026-12-31T23:59:59Z
	ExpiresAt *time.Time `json:"expiresAt,omitempty"`

	// IpsWhitelist The set of whitelisted IP addresses authorized to use this token.
	//
	// Example: ["192.168.1.1"]
	IpsWhitelist *[]string `json:"ipsWhitelist,omitempty"`

	// Scopes The permission scopes (by name) granted to this token.
	//
	// Example: [{"name":"etoro-public:trade.real:read"}]
	Scopes *[]ScopeNameItem `json:"scopes,omitempty"`

	// UserToken The generated user token secret. Only available at creation time.
	//
	// Example: sk_live_a1b2c3d4e5f6...
	UserToken *string `json:"userToken,omitempty"`

	// UserTokenId The unique identifier of the newly created user token.
	//
	// Example: f9e8d7c6-b5a4-3210-fedc-ba9876543210
	UserTokenId *openapi_types.UUID `json:"userTokenId,omitempty"`

	// UserTokenName The user-defined name for the user token.
	//
	// Example: my-trading-token
	UserTokenName *string `json:"userTokenName,omitempty"`
}

CreateAgentPortfolioV2UserTokenItem defines model for CreateAgentPortfolioV2UserTokenItem.

type CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2JSONRequestBody

type CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2JSONRequestBody = CreateUserTokenV2Request

CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2JSONRequestBody defines body for CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2 for application/json ContentType.

type CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Params

type CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Params struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Params defines parameters for CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2.

type CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response

type CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON201 the response for an HTTP 201 `application/json` response
	JSON201 *AgentPortfolioApiCreateUserTokenResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *AgentPortfolioApiErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *AgentPortfolioApiErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *AgentPortfolioApiErrorResponse
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *AgentPortfolioApiErrorResponse
	// JSON409 the response for an HTTP 409 `application/json` response
	JSON409 *AgentPortfolioApiErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *AgentPortfolioApiErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *AgentPortfolioApiErrorResponse
	// Headers201 the parsed response headers for an HTTP 201 response
	Headers201 *CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response201Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response429Headers
}

func ParseCreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response

func ParseCreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response(rsp *http.Response) (*CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response, error)

ParseCreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response parses an HTTP response from a CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2WithResponse call

func (CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response) GetBody

GetBody returns the raw response body bytes

func (CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response) GetJSON201

GetJSON201 returns the response for an HTTP 201 `application/json` response

func (CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response) GetJSON409

GetJSON409 returns the response for an HTTP 409 `application/json` response

func (CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response) Status

Status returns HTTPResponse.Status

func (CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response) StatusCode

StatusCode returns HTTPResponse.StatusCode

type CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response201Headers

type CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response201Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response201Headers the declared response headers of an HTTP 201 response for CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2

type CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response429Headers

type CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2Response429Headers the declared response headers of an HTTP 429 response for CreateAgentPortfoliosByAgentPortfolioIdUserTokensV2

type CreateAgentPortfoliosV2JSONRequestBody

type CreateAgentPortfoliosV2JSONRequestBody = CreateAgentPortfolioV2Request

CreateAgentPortfoliosV2JSONRequestBody defines body for CreateAgentPortfoliosV2 for application/json ContentType.

type CreateAgentPortfoliosV2Params

type CreateAgentPortfoliosV2Params struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

CreateAgentPortfoliosV2Params defines parameters for CreateAgentPortfoliosV2.

type CreateAgentPortfoliosV2Response

type CreateAgentPortfoliosV2Response struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON201 the response for an HTTP 201 `application/json` response
	JSON201 *CreateAgentPortfolioV2Response
	// JSON207 the response for an HTTP 207 `application/json` response
	JSON207 *CreateAgentPortfolioPartialResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *AgentPortfolioApiErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *AgentPortfolioApiErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *AgentPortfolioApiErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *AgentPortfolioApiErrorResponse
	// Headers201 the parsed response headers for an HTTP 201 response
	Headers201 *CreateAgentPortfoliosV2Response201Headers
	// Headers207 the parsed response headers for an HTTP 207 response
	Headers207 *CreateAgentPortfoliosV2Response207Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CreateAgentPortfoliosV2Response429Headers
}

func ParseCreateAgentPortfoliosV2Response

func ParseCreateAgentPortfoliosV2Response(rsp *http.Response) (*CreateAgentPortfoliosV2Response, error)

ParseCreateAgentPortfoliosV2Response parses an HTTP response from a CreateAgentPortfoliosV2WithResponse call

func (CreateAgentPortfoliosV2Response) ContentType

func (r CreateAgentPortfoliosV2Response) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CreateAgentPortfoliosV2Response) GetBody

func (r CreateAgentPortfoliosV2Response) GetBody() []byte

GetBody returns the raw response body bytes

func (CreateAgentPortfoliosV2Response) GetJSON201

GetJSON201 returns the response for an HTTP 201 `application/json` response

func (CreateAgentPortfoliosV2Response) GetJSON207

GetJSON207 returns the response for an HTTP 207 `application/json` response

func (CreateAgentPortfoliosV2Response) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (CreateAgentPortfoliosV2Response) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (CreateAgentPortfoliosV2Response) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (CreateAgentPortfoliosV2Response) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (CreateAgentPortfoliosV2Response) Status

Status returns HTTPResponse.Status

func (CreateAgentPortfoliosV2Response) StatusCode

func (r CreateAgentPortfoliosV2Response) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type CreateAgentPortfoliosV2Response201Headers

type CreateAgentPortfoliosV2Response201Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CreateAgentPortfoliosV2Response201Headers the declared response headers of an HTTP 201 response for CreateAgentPortfoliosV2

type CreateAgentPortfoliosV2Response207Headers

type CreateAgentPortfoliosV2Response207Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CreateAgentPortfoliosV2Response207Headers the declared response headers of an HTTP 207 response for CreateAgentPortfoliosV2

type CreateAgentPortfoliosV2Response429Headers

type CreateAgentPortfoliosV2Response429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CreateAgentPortfoliosV2Response429Headers the declared response headers of an HTTP 429 response for CreateAgentPortfoliosV2

type CreateApplicationBody

type CreateApplicationBody struct {
	// AllowedGcids GCIDs permitted to use this application. Pass an empty array to clear.
	AllowedGcids *[]int64 `json:"allowedGcids,omitempty"`

	// ApplicationIconUrl Publicly reachable URL of the application icon. Format-validated only - the URL is not fetched by the service.
	//
	// Example: https://cdn.etoro.com/icons/my-app.png
	ApplicationIconUrl string `json:"applicationIconUrl"`

	// ApplicationName Display name shown to end users in the OAuth consent screen.
	//
	// Example: My Trading App
	ApplicationName string `json:"applicationName"`

	// RedirectUris OAuth redirect URIs registered for the application. Must be unique. Each URI is capped at 500 characters.
	//
	// Example: ["https://myapp.com/oauth/callback"]
	RedirectUris []string `json:"redirectUris"`

	// Scopes Scopes that the application will request from end users. Each `scopeId` must be positive and present in the cached scope catalog. Duplicates are rejected.
	Scopes []ScopeItem `json:"scopes"`
}

CreateApplicationBody defines model for CreateApplicationBody.

type CreateApplicationResponse

type CreateApplicationResponse struct {
	// Application Full application record. The `clientSecret` is intentionally excluded.
	Application *ApplicationItem `json:"application,omitempty"`

	// ClientSecret OAuth client secret. Returned exactly once at creation time and never again - store it securely.
	ClientSecret *openapi_types.UUID `json:"clientSecret,omitempty"`
}

CreateApplicationResponse defines model for CreateApplicationResponse.

type CreateApplicationsJSONRequestBody

type CreateApplicationsJSONRequestBody = CreateApplicationBody

CreateApplicationsJSONRequestBody defines body for CreateApplications for application/json ContentType.

type CreateApplicationsParams

type CreateApplicationsParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

CreateApplicationsParams defines parameters for CreateApplications.

type CreateApplicationsResponse

type CreateApplicationsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON201 the response for an HTTP 201 `application/json` response
	JSON201 *CreateApplicationResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *StsMetadataFrontApiErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *StsMetadataFrontApiErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *StsMetadataFrontApiErrorResponse
	// Headers201 the parsed response headers for an HTTP 201 response
	Headers201 *CreateApplicationsResponse201Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CreateApplicationsResponse429Headers
}

func ParseCreateApplicationsResponse

func ParseCreateApplicationsResponse(rsp *http.Response) (*CreateApplicationsResponse, error)

ParseCreateApplicationsResponse parses an HTTP response from a CreateApplicationsWithResponse call

func (CreateApplicationsResponse) ContentType

func (r CreateApplicationsResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CreateApplicationsResponse) GetBody

func (r CreateApplicationsResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (CreateApplicationsResponse) GetJSON201

GetJSON201 returns the response for an HTTP 201 `application/json` response

func (CreateApplicationsResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (CreateApplicationsResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (CreateApplicationsResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (CreateApplicationsResponse) Status

Status returns HTTPResponse.Status

func (CreateApplicationsResponse) StatusCode

func (r CreateApplicationsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type CreateApplicationsResponse201Headers

type CreateApplicationsResponse201Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CreateApplicationsResponse201Headers the declared response headers of an HTTP 201 response for CreateApplications

type CreateApplicationsResponse429Headers

type CreateApplicationsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CreateApplicationsResponse429Headers the declared response headers of an HTTP 429 response for CreateApplications

type CreateMySubAccountJSONBody

type CreateMySubAccountJSONBody interface{}

CreateMySubAccountJSONBody defines parameters for CreateMySubAccount.

type CreateMySubAccountJSONRequestBody

type CreateMySubAccountJSONRequestBody CreateMySubAccountJSONBody

CreateMySubAccountJSONRequestBody defines body for CreateMySubAccount for application/json ContentType.

type CreateMySubAccountParams

type CreateMySubAccountParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

CreateMySubAccountParams defines parameters for CreateMySubAccount.

type CreateMySubAccountResponse

type CreateMySubAccountResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// Headers201 the parsed response headers for an HTTP 201 response
	Headers201 *CreateMySubAccountResponse201Headers
	// Headers202 the parsed response headers for an HTTP 202 response
	Headers202 *CreateMySubAccountResponse202Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CreateMySubAccountResponse429Headers
}

func ParseCreateMySubAccountResponse

func ParseCreateMySubAccountResponse(rsp *http.Response) (*CreateMySubAccountResponse, error)

ParseCreateMySubAccountResponse parses an HTTP response from a CreateMySubAccountWithResponse call

func (CreateMySubAccountResponse) ContentType

func (r CreateMySubAccountResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CreateMySubAccountResponse) GetBody

func (r CreateMySubAccountResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (CreateMySubAccountResponse) Status

Status returns HTTPResponse.Status

func (CreateMySubAccountResponse) StatusCode

func (r CreateMySubAccountResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type CreateMySubAccountResponse201Headers

type CreateMySubAccountResponse201Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CreateMySubAccountResponse201Headers the declared response headers of an HTTP 201 response for CreateMySubAccount

type CreateMySubAccountResponse202Headers

type CreateMySubAccountResponse202Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CreateMySubAccountResponse202Headers the declared response headers of an HTTP 202 response for CreateMySubAccount

type CreateMySubAccountResponse429Headers

type CreateMySubAccountResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CreateMySubAccountResponse429Headers the declared response headers of an HTTP 429 response for CreateMySubAccount

type CreatePriceAlertRequest

type CreatePriceAlertRequest struct {
	// Symbol Trading symbol to identify the instrument (e.g. AAPL, TSLA)
	//
	// Example: AAPL
	Symbol string `json:"symbol"`

	// TargetPrice Target price at which the alert should trigger. Must be greater than 0.
	//
	// Example: 185.5
	TargetPrice float32 `json:"targetPrice"`
}

CreatePriceAlertRequest Request body for creating a new price alert

type CreateSubAccountMoneyTransferJSONRequestBody

type CreateSubAccountMoneyTransferJSONRequestBody = EtoroTradingSubAccountsMoneyTransferRequest

CreateSubAccountMoneyTransferJSONRequestBody defines body for CreateSubAccountMoneyTransfer for application/json ContentType.

type CreateSubAccountMoneyTransferParams

type CreateSubAccountMoneyTransferParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`

	// XSubAccountId The encrypted sub-account identifier. The backend validates that it decrypts to a sub-account owned by the caller's token gcid and resolves the target compensation CID.
	XSubAccountId string `json:"x-sub-account-id"`
}

CreateSubAccountMoneyTransferParams defines parameters for CreateSubAccountMoneyTransfer.

type CreateSubAccountMoneyTransferResponse

type CreateSubAccountMoneyTransferResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *CreateSubAccountMoneyTransferResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CreateSubAccountMoneyTransferResponse429Headers
}

func ParseCreateSubAccountMoneyTransferResponse

func ParseCreateSubAccountMoneyTransferResponse(rsp *http.Response) (*CreateSubAccountMoneyTransferResponse, error)

ParseCreateSubAccountMoneyTransferResponse parses an HTTP response from a CreateSubAccountMoneyTransferWithResponse call

func (CreateSubAccountMoneyTransferResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CreateSubAccountMoneyTransferResponse) GetBody

GetBody returns the raw response body bytes

func (CreateSubAccountMoneyTransferResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (CreateSubAccountMoneyTransferResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (CreateSubAccountMoneyTransferResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (CreateSubAccountMoneyTransferResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (CreateSubAccountMoneyTransferResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (CreateSubAccountMoneyTransferResponse) Status

Status returns HTTPResponse.Status

func (CreateSubAccountMoneyTransferResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type CreateSubAccountMoneyTransferResponse200Headers

type CreateSubAccountMoneyTransferResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CreateSubAccountMoneyTransferResponse200Headers the declared response headers of an HTTP 200 response for CreateSubAccountMoneyTransfer

type CreateSubAccountMoneyTransferResponse429Headers

type CreateSubAccountMoneyTransferResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CreateSubAccountMoneyTransferResponse429Headers the declared response headers of an HTTP 429 response for CreateSubAccountMoneyTransfer

type CreateSubAccountUserTokenJSONRequestBody

type CreateSubAccountUserTokenJSONRequestBody = CreateSubAccountUserTokenRequest

CreateSubAccountUserTokenJSONRequestBody defines body for CreateSubAccountUserToken for application/json ContentType.

type CreateSubAccountUserTokenParams

type CreateSubAccountUserTokenParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`

	// XSubAccountId The encrypted sub-account identifier. The backend validates that it decrypts to a sub-account owned by the caller's token gcid and generates the token for the sub-account's gcid.
	XSubAccountId string `json:"x-sub-account-id"`
}

CreateSubAccountUserTokenParams defines parameters for CreateSubAccountUserToken.

type CreateSubAccountUserTokenRequest

type CreateSubAccountUserTokenRequest struct {
	// ExpiresAt An optional UTC expiration for the token.
	//
	// Example: 2026-12-31T23:59:59Z
	ExpiresAt *time.Time `json:"expiresAt,omitempty"`

	// IpsWhitelist An optional IPv4 whitelist for the token.
	//
	// Example: ["192.168.1.1"]
	IpsWhitelist *[]string `json:"ipsWhitelist,omitempty"`

	// ScopeNames The scope names to assign. Must be a subset of the scopes returned by GET /api/v1/sub-accounts/etoro-trading/user-tokens/scopes.
	//
	// Example: ["etoro-public:trade.real:read","etoro-public:trade.real:write"]
	ScopeNames []string `json:"scopeNames"`

	// UserTokenName A friendly display name for the user token.
	//
	// Example: my-trading-bot
	UserTokenName string `json:"userTokenName"`
}

CreateSubAccountUserTokenRequest defines model for CreateSubAccountUserTokenRequest.

type CreateSubAccountUserTokenResponse

type CreateSubAccountUserTokenResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON201 the response for an HTTP 201 `application/json` response
	JSON201 *EtoroTradingSubAccountsOperationsApiCreateUserTokenResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON409 the response for an HTTP 409 `application/json` response
	JSON409 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// Headers201 the parsed response headers for an HTTP 201 response
	Headers201 *CreateSubAccountUserTokenResponse201Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CreateSubAccountUserTokenResponse429Headers
}

func ParseCreateSubAccountUserTokenResponse

func ParseCreateSubAccountUserTokenResponse(rsp *http.Response) (*CreateSubAccountUserTokenResponse, error)

ParseCreateSubAccountUserTokenResponse parses an HTTP response from a CreateSubAccountUserTokenWithResponse call

func (CreateSubAccountUserTokenResponse) ContentType

func (r CreateSubAccountUserTokenResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CreateSubAccountUserTokenResponse) GetBody

GetBody returns the raw response body bytes

func (CreateSubAccountUserTokenResponse) GetJSON201

GetJSON201 returns the response for an HTTP 201 `application/json` response

func (CreateSubAccountUserTokenResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (CreateSubAccountUserTokenResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (CreateSubAccountUserTokenResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (CreateSubAccountUserTokenResponse) GetJSON409

GetJSON409 returns the response for an HTTP 409 `application/json` response

func (CreateSubAccountUserTokenResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (CreateSubAccountUserTokenResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (CreateSubAccountUserTokenResponse) Status

Status returns HTTPResponse.Status

func (CreateSubAccountUserTokenResponse) StatusCode

func (r CreateSubAccountUserTokenResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type CreateSubAccountUserTokenResponse201Headers

type CreateSubAccountUserTokenResponse201Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CreateSubAccountUserTokenResponse201Headers the declared response headers of an HTTP 201 response for CreateSubAccountUserToken

type CreateSubAccountUserTokenResponse429Headers

type CreateSubAccountUserTokenResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CreateSubAccountUserTokenResponse429Headers the declared response headers of an HTTP 429 response for CreateSubAccountUserToken

type CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdJSONBody

type CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdJSONBody struct {
	// InstrumentID The ID of the financial instrument associated with the position.
	InstrumentID int32 `json:"InstrumentID"`

	// UnitsToDeduct The number of units to close. If omitted or null, the entire position will be closed.
	UnitsToDeduct *float64 `json:"UnitsToDeduct,omitempty"`
}

CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdJSONBody defines parameters for CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId.

type CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdJSONRequestBody

type CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdJSONRequestBody CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdJSONBody

CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdJSONRequestBody defines body for CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId for application/json ContentType.

type CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdParams

type CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdParams defines parameters for CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId.

type CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse

type CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *struct {
		OrderForClose *struct {
			// CID Customer Account ID associated with the order.
			CID *int `json:"CID,omitempty"`

			// InstrumentID The ID of the instrument traded.
			InstrumentID *int `json:"instrumentID,omitempty"`

			// LastUpdate The timestamp of the last update to this order.
			LastUpdate *time.Time `json:"lastUpdate,omitempty"`

			// OpenDateTime The timestamp when the order was placed.
			OpenDateTime *time.Time `json:"openDateTime,omitempty"`

			// OrderID The unique identifier of the closing order.
			OrderID *int `json:"orderID,omitempty"`

			// OrderType The type of order executed.
			OrderType *int `json:"orderType,omitempty"`

			// PositionID The ID of the closed position.
			PositionID *int `json:"positionID,omitempty"`

			// StatusID The status of the closing order.
			StatusID *int `json:"statusID,omitempty"`

			// UnitsToDeduct The number of units closed in this order.
			UnitsToDeduct *float64 `json:"unitsToDeduct,omitempty"`
		} `json:"orderForClose,omitempty"`

		// Token A unique confirmation token for the closing order.
		Token *openapi_types.UUID `json:"token,omitempty"`
	}
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse429Headers
}

func ParseCreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse

func ParseCreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse(rsp *http.Response) (*CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse, error)

ParseCreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse parses an HTTP response from a CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdWithResponse call

func (CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse) GetBody

GetBody returns the raw response body bytes

func (CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse) GetJSON200

func (r CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse) GetJSON200() *struct {
	OrderForClose *struct {
		// CID Customer Account ID associated with the order.
		CID *int `json:"CID,omitempty"`

		// InstrumentID The ID of the instrument traded.
		InstrumentID *int `json:"instrumentID,omitempty"`

		// LastUpdate The timestamp of the last update to this order.
		LastUpdate *time.Time `json:"lastUpdate,omitempty"`

		// OpenDateTime The timestamp when the order was placed.
		OpenDateTime *time.Time `json:"openDateTime,omitempty"`

		// OrderID The unique identifier of the closing order.
		OrderID *int `json:"orderID,omitempty"`

		// OrderType The type of order executed.
		OrderType *int `json:"orderType,omitempty"`

		// PositionID The ID of the closed position.
		PositionID *int `json:"positionID,omitempty"`

		// StatusID The status of the closing order.
		StatusID *int `json:"statusID,omitempty"`

		// UnitsToDeduct The number of units closed in this order.
		UnitsToDeduct *float64 `json:"unitsToDeduct,omitempty"`
	} `json:"orderForClose,omitempty"`

	// Token A unique confirmation token for the closing order.
	Token *openapi_types.UUID `json:"token,omitempty"`
}

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse) Status

Status returns HTTPResponse.Status

func (CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse200Headers

type CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse200Headers the declared response headers of an HTTP 200 response for CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId

type CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse429Headers

type CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionIdResponse429Headers the declared response headers of an HTTP 429 response for CreateTradingExecutionDemoMarketCloseOrdersPositionsByPositionId

type CreateTradingExecutionDemoOrdersJSONRequestBody

type CreateTradingExecutionDemoOrdersJSONRequestBody = TradingDemoAdminApiUnifiedOrderRequest

CreateTradingExecutionDemoOrdersJSONRequestBody defines body for CreateTradingExecutionDemoOrders for application/json ContentType.

type CreateTradingExecutionDemoOrdersParams

type CreateTradingExecutionDemoOrdersParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

CreateTradingExecutionDemoOrdersParams defines parameters for CreateTradingExecutionDemoOrders.

type CreateTradingExecutionDemoOrdersResponse

type CreateTradingExecutionDemoOrdersResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *UnifiedOrderResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *ProblemDetails
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *CreateTradingExecutionDemoOrdersResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CreateTradingExecutionDemoOrdersResponse429Headers
}

func ParseCreateTradingExecutionDemoOrdersResponse

func ParseCreateTradingExecutionDemoOrdersResponse(rsp *http.Response) (*CreateTradingExecutionDemoOrdersResponse, error)

ParseCreateTradingExecutionDemoOrdersResponse parses an HTTP response from a CreateTradingExecutionDemoOrdersWithResponse call

func (CreateTradingExecutionDemoOrdersResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CreateTradingExecutionDemoOrdersResponse) GetBody

GetBody returns the raw response body bytes

func (CreateTradingExecutionDemoOrdersResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (CreateTradingExecutionDemoOrdersResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (CreateTradingExecutionDemoOrdersResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (CreateTradingExecutionDemoOrdersResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (CreateTradingExecutionDemoOrdersResponse) Status

Status returns HTTPResponse.Status

func (CreateTradingExecutionDemoOrdersResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type CreateTradingExecutionDemoOrdersResponse200Headers

type CreateTradingExecutionDemoOrdersResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CreateTradingExecutionDemoOrdersResponse200Headers the declared response headers of an HTTP 200 response for CreateTradingExecutionDemoOrders

type CreateTradingExecutionDemoOrdersResponse429Headers

type CreateTradingExecutionDemoOrdersResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CreateTradingExecutionDemoOrdersResponse429Headers the declared response headers of an HTTP 429 response for CreateTradingExecutionDemoOrders

type CreateTradingExecutionDemoOrdersV3JSONRequestBody

type CreateTradingExecutionDemoOrdersV3JSONRequestBody = TradingDemoAdminApiUnifiedOrderRequest

CreateTradingExecutionDemoOrdersV3JSONRequestBody defines body for CreateTradingExecutionDemoOrdersV3 for application/json ContentType.

type CreateTradingExecutionDemoOrdersV3Params

type CreateTradingExecutionDemoOrdersV3Params struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

CreateTradingExecutionDemoOrdersV3Params defines parameters for CreateTradingExecutionDemoOrdersV3.

type CreateTradingExecutionDemoOrdersV3Response

type CreateTradingExecutionDemoOrdersV3Response struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON202 the response for an HTTP 202 `application/json` response
	JSON202 *UnifiedOrderResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *ProblemDetails
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *ProblemDetails
	// Headers202 the parsed response headers for an HTTP 202 response
	Headers202 *CreateTradingExecutionDemoOrdersV3Response202Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CreateTradingExecutionDemoOrdersV3Response429Headers
}

func ParseCreateTradingExecutionDemoOrdersV3Response

func ParseCreateTradingExecutionDemoOrdersV3Response(rsp *http.Response) (*CreateTradingExecutionDemoOrdersV3Response, error)

ParseCreateTradingExecutionDemoOrdersV3Response parses an HTTP response from a CreateTradingExecutionDemoOrdersV3WithResponse call

func (CreateTradingExecutionDemoOrdersV3Response) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CreateTradingExecutionDemoOrdersV3Response) GetBody

GetBody returns the raw response body bytes

func (CreateTradingExecutionDemoOrdersV3Response) GetJSON202

GetJSON202 returns the response for an HTTP 202 `application/json` response

func (CreateTradingExecutionDemoOrdersV3Response) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (CreateTradingExecutionDemoOrdersV3Response) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (CreateTradingExecutionDemoOrdersV3Response) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (CreateTradingExecutionDemoOrdersV3Response) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (CreateTradingExecutionDemoOrdersV3Response) Status

Status returns HTTPResponse.Status

func (CreateTradingExecutionDemoOrdersV3Response) StatusCode

StatusCode returns HTTPResponse.StatusCode

type CreateTradingExecutionDemoOrdersV3Response202Headers

type CreateTradingExecutionDemoOrdersV3Response202Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CreateTradingExecutionDemoOrdersV3Response202Headers the declared response headers of an HTTP 202 response for CreateTradingExecutionDemoOrdersV3

type CreateTradingExecutionDemoOrdersV3Response429Headers

type CreateTradingExecutionDemoOrdersV3Response429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CreateTradingExecutionDemoOrdersV3Response429Headers the declared response headers of an HTTP 429 response for CreateTradingExecutionDemoOrdersV3

type CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdJSONBody

type CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdJSONBody struct {
	// InstrumentId The ID of the financial instrument associated with the position.
	InstrumentId int32 `json:"InstrumentId"`

	// UnitsToDeduct The number of units to close. If omitted or null, the entire position will be closed.
	UnitsToDeduct *float64 `json:"UnitsToDeduct,omitempty"`
}

CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdJSONBody defines parameters for CreateTradingExecutionMarketCloseOrdersPositionsByPositionId.

type CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdJSONRequestBody

type CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdJSONRequestBody CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdJSONBody

CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdJSONRequestBody defines body for CreateTradingExecutionMarketCloseOrdersPositionsByPositionId for application/json ContentType.

type CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdParams

type CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdParams defines parameters for CreateTradingExecutionMarketCloseOrdersPositionsByPositionId.

type CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse

type CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *struct {
		OrderForClose *struct {
			// CID Customer Account ID associated with the order.
			CID *int `json:"CID,omitempty"`

			// InstrumentID The ID of the instrument traded.
			InstrumentID *int `json:"instrumentID,omitempty"`

			// LastUpdate The timestamp of the last update to this order.
			LastUpdate *time.Time `json:"lastUpdate,omitempty"`

			// OpenDateTime The timestamp when the order was placed.
			OpenDateTime *time.Time `json:"openDateTime,omitempty"`

			// OrderID The unique identifier of the closing order.
			OrderID *int `json:"orderID,omitempty"`

			// OrderType The type of order executed.
			OrderType *int `json:"orderType,omitempty"`

			// PositionID The ID of the closed position.
			PositionID *int `json:"positionID,omitempty"`

			// StatusID The status of the closing order.
			StatusID *int `json:"statusID,omitempty"`

			// UnitsToDeduct The number of units closed in this order.
			UnitsToDeduct *float64 `json:"unitsToDeduct,omitempty"`
		} `json:"orderForClose,omitempty"`

		// Token A unique confirmation token for the closing order.
		Token *openapi_types.UUID `json:"token,omitempty"`
	}
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse429Headers
}

func ParseCreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse

func ParseCreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse(rsp *http.Response) (*CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse, error)

ParseCreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse parses an HTTP response from a CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdWithResponse call

func (CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse) GetBody

GetBody returns the raw response body bytes

func (CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse) GetJSON200

func (r CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse) GetJSON200() *struct {
	OrderForClose *struct {
		// CID Customer Account ID associated with the order.
		CID *int `json:"CID,omitempty"`

		// InstrumentID The ID of the instrument traded.
		InstrumentID *int `json:"instrumentID,omitempty"`

		// LastUpdate The timestamp of the last update to this order.
		LastUpdate *time.Time `json:"lastUpdate,omitempty"`

		// OpenDateTime The timestamp when the order was placed.
		OpenDateTime *time.Time `json:"openDateTime,omitempty"`

		// OrderID The unique identifier of the closing order.
		OrderID *int `json:"orderID,omitempty"`

		// OrderType The type of order executed.
		OrderType *int `json:"orderType,omitempty"`

		// PositionID The ID of the closed position.
		PositionID *int `json:"positionID,omitempty"`

		// StatusID The status of the closing order.
		StatusID *int `json:"statusID,omitempty"`

		// UnitsToDeduct The number of units closed in this order.
		UnitsToDeduct *float64 `json:"unitsToDeduct,omitempty"`
	} `json:"orderForClose,omitempty"`

	// Token A unique confirmation token for the closing order.
	Token *openapi_types.UUID `json:"token,omitempty"`
}

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse) Status

Status returns HTTPResponse.Status

func (CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse200Headers

type CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse200Headers the declared response headers of an HTTP 200 response for CreateTradingExecutionMarketCloseOrdersPositionsByPositionId

type CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse429Headers

type CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CreateTradingExecutionMarketCloseOrdersPositionsByPositionIdResponse429Headers the declared response headers of an HTTP 429 response for CreateTradingExecutionMarketCloseOrdersPositionsByPositionId

type CreateTradingExecutionOrdersJSONRequestBody

type CreateTradingExecutionOrdersJSONRequestBody = TradingRealAdminApiUnifiedOrderRequest

CreateTradingExecutionOrdersJSONRequestBody defines body for CreateTradingExecutionOrders for application/json ContentType.

type CreateTradingExecutionOrdersParams

type CreateTradingExecutionOrdersParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

CreateTradingExecutionOrdersParams defines parameters for CreateTradingExecutionOrders.

type CreateTradingExecutionOrdersResponse

type CreateTradingExecutionOrdersResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *UnifiedOrderResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *ProblemDetails
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *CreateTradingExecutionOrdersResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CreateTradingExecutionOrdersResponse429Headers
}

func ParseCreateTradingExecutionOrdersResponse

func ParseCreateTradingExecutionOrdersResponse(rsp *http.Response) (*CreateTradingExecutionOrdersResponse, error)

ParseCreateTradingExecutionOrdersResponse parses an HTTP response from a CreateTradingExecutionOrdersWithResponse call

func (CreateTradingExecutionOrdersResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CreateTradingExecutionOrdersResponse) GetBody

GetBody returns the raw response body bytes

func (CreateTradingExecutionOrdersResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (CreateTradingExecutionOrdersResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (CreateTradingExecutionOrdersResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (CreateTradingExecutionOrdersResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (CreateTradingExecutionOrdersResponse) Status

Status returns HTTPResponse.Status

func (CreateTradingExecutionOrdersResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type CreateTradingExecutionOrdersResponse200Headers

type CreateTradingExecutionOrdersResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CreateTradingExecutionOrdersResponse200Headers the declared response headers of an HTTP 200 response for CreateTradingExecutionOrders

type CreateTradingExecutionOrdersResponse429Headers

type CreateTradingExecutionOrdersResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CreateTradingExecutionOrdersResponse429Headers the declared response headers of an HTTP 429 response for CreateTradingExecutionOrders

type CreateTradingExecutionOrdersV3JSONRequestBody

type CreateTradingExecutionOrdersV3JSONRequestBody = TradingRealAdminApiUnifiedOrderRequest

CreateTradingExecutionOrdersV3JSONRequestBody defines body for CreateTradingExecutionOrdersV3 for application/json ContentType.

type CreateTradingExecutionOrdersV3Params

type CreateTradingExecutionOrdersV3Params struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

CreateTradingExecutionOrdersV3Params defines parameters for CreateTradingExecutionOrdersV3.

type CreateTradingExecutionOrdersV3Response

type CreateTradingExecutionOrdersV3Response struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON202 the response for an HTTP 202 `application/json` response
	JSON202 *UnifiedOrderResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *ProblemDetails
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *ProblemDetails
	// Headers202 the parsed response headers for an HTTP 202 response
	Headers202 *CreateTradingExecutionOrdersV3Response202Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *CreateTradingExecutionOrdersV3Response429Headers
}

func ParseCreateTradingExecutionOrdersV3Response

func ParseCreateTradingExecutionOrdersV3Response(rsp *http.Response) (*CreateTradingExecutionOrdersV3Response, error)

ParseCreateTradingExecutionOrdersV3Response parses an HTTP response from a CreateTradingExecutionOrdersV3WithResponse call

func (CreateTradingExecutionOrdersV3Response) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (CreateTradingExecutionOrdersV3Response) GetBody

GetBody returns the raw response body bytes

func (CreateTradingExecutionOrdersV3Response) GetJSON202

GetJSON202 returns the response for an HTTP 202 `application/json` response

func (CreateTradingExecutionOrdersV3Response) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (CreateTradingExecutionOrdersV3Response) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (CreateTradingExecutionOrdersV3Response) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (CreateTradingExecutionOrdersV3Response) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (CreateTradingExecutionOrdersV3Response) Status

Status returns HTTPResponse.Status

func (CreateTradingExecutionOrdersV3Response) StatusCode

StatusCode returns HTTPResponse.StatusCode

type CreateTradingExecutionOrdersV3Response202Headers

type CreateTradingExecutionOrdersV3Response202Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

CreateTradingExecutionOrdersV3Response202Headers the declared response headers of an HTTP 202 response for CreateTradingExecutionOrdersV3

type CreateTradingExecutionOrdersV3Response429Headers

type CreateTradingExecutionOrdersV3Response429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

CreateTradingExecutionOrdersV3Response429Headers the declared response headers of an HTTP 429 response for CreateTradingExecutionOrdersV3

type CreateUserTokenV2Request

type CreateUserTokenV2Request struct {
	// ExpiresAt An optional expiration date and time for the token in UTC.
	//
	// Example: 2026-12-31T23:59:59Z
	ExpiresAt *time.Time `json:"expiresAt,omitempty"`

	// IpsWhitelist An optional set of IPv4 addresses allowed to use this token.
	//
	// Example: ["192.168.1.1"]
	IpsWhitelist *[]string `json:"ipsWhitelist,omitempty"`

	// ScopeNames The set of permission scope names to grant to this 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"]
	ScopeNames []string `json:"scopeNames"`

	// UserTokenName A human-readable name to identify the user token.
	//
	// Example: my-trading-token
	UserTokenName string `json:"userTokenName"`
}

CreateUserTokenV2Request defines model for CreateUserTokenV2Request.

type CuratedList

type CuratedList struct {
	// Description Description of the curated list
	//
	// Example: A list of tech stocks
	Description *string `json:"description,omitempty"`

	// Items Items in the curated list
	//
	// Example: [{"instrumentId":12345}]
	Items *[]CuratedListItem `json:"items,omitempty"`

	// ListImageUrl URL of the list's image
	//
	// Example: https://example.com/tech-watchlist.jpg
	ListImageUrl *string `json:"listImageUrl,omitempty"`

	// Name Display name of the curated list
	//
	// Example: Tech Watchlist
	Name *string `json:"name,omitempty"`

	// Uuid Unique identifier of the curated list
	//
	// Example: 12345
	Uuid *string `json:"uuid,omitempty"`
}

CuratedList Represents a curated investment list

type CuratedListItem

type CuratedListItem struct {
	// InstrumentId ID of the financial instrument
	//
	// Example: 12345
	InstrumentId *int32 `json:"instrumentId,omitempty"`
}

CuratedListItem Represents an item in a curated list

type CuratedListsResponse

type CuratedListsResponse struct {
	// CuratedLists List of curated investment lists
	CuratedLists *[]CuratedList `json:"curatedLists,omitempty"`
}

CuratedListsResponse Response containing curated investment lists

type CursorPagination

type CursorPagination struct {
	// HasNext Whether a further page exists after this one.
	//
	// Example: false
	HasNext bool `json:"hasNext"`

	// Limit Maximum number of items that could be returned on this page.
	//
	// Example: 100
	Limit int32 `json:"limit"`

	// NextCursor Opaque token for the next page; pass it back unchanged as `cursor`. Null when there is no further page.
	NextCursor *string `json:"nextCursor"`
}

CursorPagination Keyset pagination metadata for a time-ordered collection. `hasNext` is always present; `nextCursor` is opaque and is null exactly when `hasNext` is false.

type CustomerRankingResponse

type CustomerRankingResponse struct {
	// Data A single investor ranking row. Identity fields come from PublicAggregatedInfo (GDPR-safe); performance fields come from RankingsAPI and are period-scoped. Nullable identity fields are omitted from the body when their condition is not met.
	Data *RankItem `json:"data,omitempty"`
}

CustomerRankingResponse defines model for CustomerRankingResponse.

type DataApiError

type DataApiError struct {
	Error struct {
		// Code Stable machine-readable error code, UPPER_SNAKE_CASE.
		Code string `json:"code"`

		// Message Human-readable description. Not intended for display to end users.
		Message string `json:"message"`
	} `json:"error"`

	// Success Always false on an error response.
	//
	// Example: false
	Success bool `json:"success"`
}

DataApiError Error envelope returned by the data platform upstream. Response metadata is not in the body: the correlation id, the request id and the timestamp are returned as the `X-Correlation-Id`, `X-Request-Id` and `X-Timestamp` response headers. Quote `X-Correlation-Id` to etoro support to find the request in logs.

type DeleteAgentPortfoliosByAgentPortfolioIdParams

type DeleteAgentPortfoliosByAgentPortfolioIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

DeleteAgentPortfoliosByAgentPortfolioIdParams defines parameters for DeleteAgentPortfoliosByAgentPortfolioId.

type DeleteAgentPortfoliosByAgentPortfolioIdResponse

type DeleteAgentPortfoliosByAgentPortfolioIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *AgentPortfolioApiErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *AgentPortfolioApiErrorResponse
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *AgentPortfolioApiErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *AgentPortfolioApiErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *AgentPortfolioApiErrorResponse
	// Headers204 the parsed response headers for an HTTP 204 response
	Headers204 *DeleteAgentPortfoliosByAgentPortfolioIdResponse204Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *DeleteAgentPortfoliosByAgentPortfolioIdResponse429Headers
}

func ParseDeleteAgentPortfoliosByAgentPortfolioIdResponse

func ParseDeleteAgentPortfoliosByAgentPortfolioIdResponse(rsp *http.Response) (*DeleteAgentPortfoliosByAgentPortfolioIdResponse, error)

ParseDeleteAgentPortfoliosByAgentPortfolioIdResponse parses an HTTP response from a DeleteAgentPortfoliosByAgentPortfolioIdWithResponse call

func (DeleteAgentPortfoliosByAgentPortfolioIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (DeleteAgentPortfoliosByAgentPortfolioIdResponse) GetBody

GetBody returns the raw response body bytes

func (DeleteAgentPortfoliosByAgentPortfolioIdResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (DeleteAgentPortfoliosByAgentPortfolioIdResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (DeleteAgentPortfoliosByAgentPortfolioIdResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (DeleteAgentPortfoliosByAgentPortfolioIdResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (DeleteAgentPortfoliosByAgentPortfolioIdResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (DeleteAgentPortfoliosByAgentPortfolioIdResponse) Status

Status returns HTTPResponse.Status

func (DeleteAgentPortfoliosByAgentPortfolioIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type DeleteAgentPortfoliosByAgentPortfolioIdResponse204Headers

type DeleteAgentPortfoliosByAgentPortfolioIdResponse204Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

DeleteAgentPortfoliosByAgentPortfolioIdResponse204Headers the declared response headers of an HTTP 204 response for DeleteAgentPortfoliosByAgentPortfolioId

type DeleteAgentPortfoliosByAgentPortfolioIdResponse429Headers

type DeleteAgentPortfoliosByAgentPortfolioIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

DeleteAgentPortfoliosByAgentPortfolioIdResponse429Headers the declared response headers of an HTTP 429 response for DeleteAgentPortfoliosByAgentPortfolioId

type DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdParams

type DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdParams defines parameters for DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenId.

type DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse

type DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *AgentPortfolioApiErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *AgentPortfolioApiErrorResponse
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *AgentPortfolioApiErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *AgentPortfolioApiErrorResponse
	// Headers204 the parsed response headers for an HTTP 204 response
	Headers204 *DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse204Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse429Headers
}

func ParseDeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse

func ParseDeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse(rsp *http.Response) (*DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse, error)

ParseDeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse parses an HTTP response from a DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdWithResponse call

func (DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse) GetBody

GetBody returns the raw response body bytes

func (DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse) Status

Status returns HTTPResponse.Status

func (DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse204Headers

type DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse204Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse204Headers the declared response headers of an HTTP 204 response for DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenId

type DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse429Headers

type DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdResponse429Headers the declared response headers of an HTTP 429 response for DeleteAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenId

type DeleteApplicationsByClientIdParams

type DeleteApplicationsByClientIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

DeleteApplicationsByClientIdParams defines parameters for DeleteApplicationsByClientId.

type DeleteApplicationsByClientIdResponse

type DeleteApplicationsByClientIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *StsMetadataFrontApiErrorResponse
	// Headers204 the parsed response headers for an HTTP 204 response
	Headers204 *DeleteApplicationsByClientIdResponse204Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *DeleteApplicationsByClientIdResponse429Headers
}

func ParseDeleteApplicationsByClientIdResponse

func ParseDeleteApplicationsByClientIdResponse(rsp *http.Response) (*DeleteApplicationsByClientIdResponse, error)

ParseDeleteApplicationsByClientIdResponse parses an HTTP response from a DeleteApplicationsByClientIdWithResponse call

func (DeleteApplicationsByClientIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (DeleteApplicationsByClientIdResponse) GetBody

GetBody returns the raw response body bytes

func (DeleteApplicationsByClientIdResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (DeleteApplicationsByClientIdResponse) Status

Status returns HTTPResponse.Status

func (DeleteApplicationsByClientIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type DeleteApplicationsByClientIdResponse204Headers

type DeleteApplicationsByClientIdResponse204Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

DeleteApplicationsByClientIdResponse204Headers the declared response headers of an HTTP 204 response for DeleteApplicationsByClientId

type DeleteApplicationsByClientIdResponse429Headers

type DeleteApplicationsByClientIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

DeleteApplicationsByClientIdResponse429Headers the declared response headers of an HTTP 429 response for DeleteApplicationsByClientId

type DeletePriceAlertResponse

type DeletePriceAlertResponse struct {
	Data *struct {
		// AlertId Unique identifier of the deleted price alert
		//
		// Example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
		AlertId *openapi_types.UUID `json:"alertId,omitempty"`
	} `json:"data,omitempty"`

	// Success Indicates the operation completed successfully
	//
	// Example: true
	Success *bool `json:"success,omitempty"`
}

DeletePriceAlertResponse Response for price alert delete operation

type DeletePriceAlertsByAlertIdParams

type DeletePriceAlertsByAlertIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

DeletePriceAlertsByAlertIdParams defines parameters for DeletePriceAlertsByAlertId.

type DeletePriceAlertsByAlertIdResponse

type DeletePriceAlertsByAlertIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *DeletePriceAlertResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *PriceAlertsApiPublicErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *PriceAlertsApiPublicErrorResponse
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *PriceAlertErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *PriceAlertsApiPublicErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *PriceAlertsApiPublicErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *DeletePriceAlertsByAlertIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *DeletePriceAlertsByAlertIdResponse429Headers
}

func ParseDeletePriceAlertsByAlertIdResponse

func ParseDeletePriceAlertsByAlertIdResponse(rsp *http.Response) (*DeletePriceAlertsByAlertIdResponse, error)

ParseDeletePriceAlertsByAlertIdResponse parses an HTTP response from a DeletePriceAlertsByAlertIdWithResponse call

func (DeletePriceAlertsByAlertIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (DeletePriceAlertsByAlertIdResponse) GetBody

GetBody returns the raw response body bytes

func (DeletePriceAlertsByAlertIdResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (DeletePriceAlertsByAlertIdResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (DeletePriceAlertsByAlertIdResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (DeletePriceAlertsByAlertIdResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (DeletePriceAlertsByAlertIdResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (DeletePriceAlertsByAlertIdResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (DeletePriceAlertsByAlertIdResponse) Status

Status returns HTTPResponse.Status

func (DeletePriceAlertsByAlertIdResponse) StatusCode

func (r DeletePriceAlertsByAlertIdResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type DeletePriceAlertsByAlertIdResponse200Headers

type DeletePriceAlertsByAlertIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

DeletePriceAlertsByAlertIdResponse200Headers the declared response headers of an HTTP 200 response for DeletePriceAlertsByAlertId

type DeletePriceAlertsByAlertIdResponse429Headers

type DeletePriceAlertsByAlertIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

DeletePriceAlertsByAlertIdResponse429Headers the declared response headers of an HTTP 429 response for DeletePriceAlertsByAlertId

type DeleteSubAccountUserTokenParams

type DeleteSubAccountUserTokenParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`

	// XSubAccountId The encrypted sub-account identifier. The backend validates that it decrypts to a sub-account owned by the caller's token gcid.
	XSubAccountId string `json:"x-sub-account-id"`
}

DeleteSubAccountUserTokenParams defines parameters for DeleteSubAccountUserToken.

type DeleteSubAccountUserTokenResponse

type DeleteSubAccountUserTokenResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// Headers204 the parsed response headers for an HTTP 204 response
	Headers204 *DeleteSubAccountUserTokenResponse204Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *DeleteSubAccountUserTokenResponse429Headers
}

func ParseDeleteSubAccountUserTokenResponse

func ParseDeleteSubAccountUserTokenResponse(rsp *http.Response) (*DeleteSubAccountUserTokenResponse, error)

ParseDeleteSubAccountUserTokenResponse parses an HTTP response from a DeleteSubAccountUserTokenWithResponse call

func (DeleteSubAccountUserTokenResponse) ContentType

func (r DeleteSubAccountUserTokenResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (DeleteSubAccountUserTokenResponse) GetBody

GetBody returns the raw response body bytes

func (DeleteSubAccountUserTokenResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (DeleteSubAccountUserTokenResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (DeleteSubAccountUserTokenResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (DeleteSubAccountUserTokenResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (DeleteSubAccountUserTokenResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (DeleteSubAccountUserTokenResponse) Status

Status returns HTTPResponse.Status

func (DeleteSubAccountUserTokenResponse) StatusCode

func (r DeleteSubAccountUserTokenResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type DeleteSubAccountUserTokenResponse204Headers

type DeleteSubAccountUserTokenResponse204Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

DeleteSubAccountUserTokenResponse204Headers the declared response headers of an HTTP 204 response for DeleteSubAccountUserToken

type DeleteSubAccountUserTokenResponse429Headers

type DeleteSubAccountUserTokenResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

DeleteSubAccountUserTokenResponse429Headers the declared response headers of an HTTP 429 response for DeleteSubAccountUserToken

type DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdParams

type DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdParams defines parameters for DeleteTradingExecutionDemoMarketCloseOrdersByOrderId.

type DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse

type DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *struct {
		// Token A confirmation token indicating the order cancellation.
		Token openapi_types.UUID `json:"token"`
	}
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse429Headers
}

func ParseDeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse

func ParseDeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse(rsp *http.Response) (*DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse, error)

ParseDeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse parses an HTTP response from a DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdWithResponse call

func (DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse) GetBody

GetBody returns the raw response body bytes

func (DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse) GetJSON200

func (r DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse) GetJSON200() *struct {
	// Token A confirmation token indicating the order cancellation.
	Token openapi_types.UUID `json:"token"`
}

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse) Status

Status returns HTTPResponse.Status

func (DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse200Headers

type DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse200Headers the declared response headers of an HTTP 200 response for DeleteTradingExecutionDemoMarketCloseOrdersByOrderId

type DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse429Headers

type DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

DeleteTradingExecutionDemoMarketCloseOrdersByOrderIdResponse429Headers the declared response headers of an HTTP 429 response for DeleteTradingExecutionDemoMarketCloseOrdersByOrderId

type DeleteTradingExecutionDemoOrdersByOrderIdParams

type DeleteTradingExecutionDemoOrdersByOrderIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

DeleteTradingExecutionDemoOrdersByOrderIdParams defines parameters for DeleteTradingExecutionDemoOrdersByOrderId.

type DeleteTradingExecutionDemoOrdersByOrderIdResponse

type DeleteTradingExecutionDemoOrdersByOrderIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *struct {
		// Token Optional confirmation token for the cancellation request.
		Token *openapi_types.UUID `json:"token,omitempty"`
	}
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *ProblemDetails
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *DeleteTradingExecutionDemoOrdersByOrderIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *DeleteTradingExecutionDemoOrdersByOrderIdResponse429Headers
}

func ParseDeleteTradingExecutionDemoOrdersByOrderIdResponse

func ParseDeleteTradingExecutionDemoOrdersByOrderIdResponse(rsp *http.Response) (*DeleteTradingExecutionDemoOrdersByOrderIdResponse, error)

ParseDeleteTradingExecutionDemoOrdersByOrderIdResponse parses an HTTP response from a DeleteTradingExecutionDemoOrdersByOrderIdWithResponse call

func (DeleteTradingExecutionDemoOrdersByOrderIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (DeleteTradingExecutionDemoOrdersByOrderIdResponse) GetBody

GetBody returns the raw response body bytes

func (DeleteTradingExecutionDemoOrdersByOrderIdResponse) GetJSON200

func (r DeleteTradingExecutionDemoOrdersByOrderIdResponse) GetJSON200() *struct {
	// Token Optional confirmation token for the cancellation request.
	Token *openapi_types.UUID `json:"token,omitempty"`
}

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (DeleteTradingExecutionDemoOrdersByOrderIdResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (DeleteTradingExecutionDemoOrdersByOrderIdResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (DeleteTradingExecutionDemoOrdersByOrderIdResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (DeleteTradingExecutionDemoOrdersByOrderIdResponse) Status

Status returns HTTPResponse.Status

func (DeleteTradingExecutionDemoOrdersByOrderIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type DeleteTradingExecutionDemoOrdersByOrderIdResponse200Headers

type DeleteTradingExecutionDemoOrdersByOrderIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

DeleteTradingExecutionDemoOrdersByOrderIdResponse200Headers the declared response headers of an HTTP 200 response for DeleteTradingExecutionDemoOrdersByOrderId

type DeleteTradingExecutionDemoOrdersByOrderIdResponse429Headers

type DeleteTradingExecutionDemoOrdersByOrderIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

DeleteTradingExecutionDemoOrdersByOrderIdResponse429Headers the declared response headers of an HTTP 429 response for DeleteTradingExecutionDemoOrdersByOrderId

type DeleteTradingExecutionDemoOrdersByOrderIdV3Params

type DeleteTradingExecutionDemoOrdersByOrderIdV3Params struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

DeleteTradingExecutionDemoOrdersByOrderIdV3Params defines parameters for DeleteTradingExecutionDemoOrdersByOrderIdV3.

type DeleteTradingExecutionDemoOrdersByOrderIdV3Response

type DeleteTradingExecutionDemoOrdersByOrderIdV3Response struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON202 the response for an HTTP 202 `application/json` response
	JSON202 *CancelOrderResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *ProblemDetails
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *ProblemDetails
	// Headers202 the parsed response headers for an HTTP 202 response
	Headers202 *DeleteTradingExecutionDemoOrdersByOrderIdV3Response202Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *DeleteTradingExecutionDemoOrdersByOrderIdV3Response429Headers
}

func ParseDeleteTradingExecutionDemoOrdersByOrderIdV3Response

func ParseDeleteTradingExecutionDemoOrdersByOrderIdV3Response(rsp *http.Response) (*DeleteTradingExecutionDemoOrdersByOrderIdV3Response, error)

ParseDeleteTradingExecutionDemoOrdersByOrderIdV3Response parses an HTTP response from a DeleteTradingExecutionDemoOrdersByOrderIdV3WithResponse call

func (DeleteTradingExecutionDemoOrdersByOrderIdV3Response) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (DeleteTradingExecutionDemoOrdersByOrderIdV3Response) GetBody

GetBody returns the raw response body bytes

func (DeleteTradingExecutionDemoOrdersByOrderIdV3Response) GetJSON202

GetJSON202 returns the response for an HTTP 202 `application/json` response

func (DeleteTradingExecutionDemoOrdersByOrderIdV3Response) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (DeleteTradingExecutionDemoOrdersByOrderIdV3Response) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (DeleteTradingExecutionDemoOrdersByOrderIdV3Response) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (DeleteTradingExecutionDemoOrdersByOrderIdV3Response) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (DeleteTradingExecutionDemoOrdersByOrderIdV3Response) Status

Status returns HTTPResponse.Status

func (DeleteTradingExecutionDemoOrdersByOrderIdV3Response) StatusCode

StatusCode returns HTTPResponse.StatusCode

type DeleteTradingExecutionDemoOrdersByOrderIdV3Response202Headers

type DeleteTradingExecutionDemoOrdersByOrderIdV3Response202Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

DeleteTradingExecutionDemoOrdersByOrderIdV3Response202Headers the declared response headers of an HTTP 202 response for DeleteTradingExecutionDemoOrdersByOrderIdV3

type DeleteTradingExecutionDemoOrdersByOrderIdV3Response429Headers

type DeleteTradingExecutionDemoOrdersByOrderIdV3Response429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

DeleteTradingExecutionDemoOrdersByOrderIdV3Response429Headers the declared response headers of an HTTP 429 response for DeleteTradingExecutionDemoOrdersByOrderIdV3

type DeleteTradingExecutionMarketCloseOrdersByOrderIdParams

type DeleteTradingExecutionMarketCloseOrdersByOrderIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

DeleteTradingExecutionMarketCloseOrdersByOrderIdParams defines parameters for DeleteTradingExecutionMarketCloseOrdersByOrderId.

type DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse

type DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *struct {
		// Token A confirmation token indicating the order cancellation.
		Token openapi_types.UUID `json:"token"`
	}
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse429Headers
}

func ParseDeleteTradingExecutionMarketCloseOrdersByOrderIdResponse

func ParseDeleteTradingExecutionMarketCloseOrdersByOrderIdResponse(rsp *http.Response) (*DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse, error)

ParseDeleteTradingExecutionMarketCloseOrdersByOrderIdResponse parses an HTTP response from a DeleteTradingExecutionMarketCloseOrdersByOrderIdWithResponse call

func (DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse) GetBody

GetBody returns the raw response body bytes

func (DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse) GetJSON200

func (r DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse) GetJSON200() *struct {
	// Token A confirmation token indicating the order cancellation.
	Token openapi_types.UUID `json:"token"`
}

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse) Status

Status returns HTTPResponse.Status

func (DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse200Headers

type DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse200Headers the declared response headers of an HTTP 200 response for DeleteTradingExecutionMarketCloseOrdersByOrderId

type DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse429Headers

type DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

DeleteTradingExecutionMarketCloseOrdersByOrderIdResponse429Headers the declared response headers of an HTTP 429 response for DeleteTradingExecutionMarketCloseOrdersByOrderId

type DeleteTradingExecutionOrdersByOrderIdParams

type DeleteTradingExecutionOrdersByOrderIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

DeleteTradingExecutionOrdersByOrderIdParams defines parameters for DeleteTradingExecutionOrdersByOrderId.

type DeleteTradingExecutionOrdersByOrderIdResponse

type DeleteTradingExecutionOrdersByOrderIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *struct {
		// Token Optional confirmation token for the cancellation request.
		Token *openapi_types.UUID `json:"token,omitempty"`
	}
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *ProblemDetails
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *DeleteTradingExecutionOrdersByOrderIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *DeleteTradingExecutionOrdersByOrderIdResponse429Headers
}

func ParseDeleteTradingExecutionOrdersByOrderIdResponse

func ParseDeleteTradingExecutionOrdersByOrderIdResponse(rsp *http.Response) (*DeleteTradingExecutionOrdersByOrderIdResponse, error)

ParseDeleteTradingExecutionOrdersByOrderIdResponse parses an HTTP response from a DeleteTradingExecutionOrdersByOrderIdWithResponse call

func (DeleteTradingExecutionOrdersByOrderIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (DeleteTradingExecutionOrdersByOrderIdResponse) GetBody

GetBody returns the raw response body bytes

func (DeleteTradingExecutionOrdersByOrderIdResponse) GetJSON200

func (r DeleteTradingExecutionOrdersByOrderIdResponse) GetJSON200() *struct {
	// Token Optional confirmation token for the cancellation request.
	Token *openapi_types.UUID `json:"token,omitempty"`
}

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (DeleteTradingExecutionOrdersByOrderIdResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (DeleteTradingExecutionOrdersByOrderIdResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (DeleteTradingExecutionOrdersByOrderIdResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (DeleteTradingExecutionOrdersByOrderIdResponse) Status

Status returns HTTPResponse.Status

func (DeleteTradingExecutionOrdersByOrderIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type DeleteTradingExecutionOrdersByOrderIdResponse200Headers

type DeleteTradingExecutionOrdersByOrderIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

DeleteTradingExecutionOrdersByOrderIdResponse200Headers the declared response headers of an HTTP 200 response for DeleteTradingExecutionOrdersByOrderId

type DeleteTradingExecutionOrdersByOrderIdResponse429Headers

type DeleteTradingExecutionOrdersByOrderIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

DeleteTradingExecutionOrdersByOrderIdResponse429Headers the declared response headers of an HTTP 429 response for DeleteTradingExecutionOrdersByOrderId

type DeleteTradingExecutionOrdersByOrderIdV3Params

type DeleteTradingExecutionOrdersByOrderIdV3Params struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

DeleteTradingExecutionOrdersByOrderIdV3Params defines parameters for DeleteTradingExecutionOrdersByOrderIdV3.

type DeleteTradingExecutionOrdersByOrderIdV3Response

type DeleteTradingExecutionOrdersByOrderIdV3Response struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON202 the response for an HTTP 202 `application/json` response
	JSON202 *CancelOrderResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *ProblemDetails
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *ProblemDetails
	// Headers202 the parsed response headers for an HTTP 202 response
	Headers202 *DeleteTradingExecutionOrdersByOrderIdV3Response202Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *DeleteTradingExecutionOrdersByOrderIdV3Response429Headers
}

func ParseDeleteTradingExecutionOrdersByOrderIdV3Response

func ParseDeleteTradingExecutionOrdersByOrderIdV3Response(rsp *http.Response) (*DeleteTradingExecutionOrdersByOrderIdV3Response, error)

ParseDeleteTradingExecutionOrdersByOrderIdV3Response parses an HTTP response from a DeleteTradingExecutionOrdersByOrderIdV3WithResponse call

func (DeleteTradingExecutionOrdersByOrderIdV3Response) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (DeleteTradingExecutionOrdersByOrderIdV3Response) GetBody

GetBody returns the raw response body bytes

func (DeleteTradingExecutionOrdersByOrderIdV3Response) GetJSON202

GetJSON202 returns the response for an HTTP 202 `application/json` response

func (DeleteTradingExecutionOrdersByOrderIdV3Response) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (DeleteTradingExecutionOrdersByOrderIdV3Response) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (DeleteTradingExecutionOrdersByOrderIdV3Response) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (DeleteTradingExecutionOrdersByOrderIdV3Response) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (DeleteTradingExecutionOrdersByOrderIdV3Response) Status

Status returns HTTPResponse.Status

func (DeleteTradingExecutionOrdersByOrderIdV3Response) StatusCode

StatusCode returns HTTPResponse.StatusCode

type DeleteTradingExecutionOrdersByOrderIdV3Response202Headers

type DeleteTradingExecutionOrdersByOrderIdV3Response202Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

DeleteTradingExecutionOrdersByOrderIdV3Response202Headers the declared response headers of an HTTP 202 response for DeleteTradingExecutionOrdersByOrderIdV3

type DeleteTradingExecutionOrdersByOrderIdV3Response429Headers

type DeleteTradingExecutionOrdersByOrderIdV3Response429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

DeleteTradingExecutionOrdersByOrderIdV3Response429Headers the declared response headers of an HTTP 429 response for DeleteTradingExecutionOrdersByOrderIdV3

type DeleteWatchlistsByWatchlistIdItemsJSONBody

type DeleteWatchlistsByWatchlistIdItemsJSONBody = []WatchlistItemDto

DeleteWatchlistsByWatchlistIdItemsJSONBody defines parameters for DeleteWatchlistsByWatchlistIdItems.

type DeleteWatchlistsByWatchlistIdItemsJSONRequestBody

type DeleteWatchlistsByWatchlistIdItemsJSONRequestBody = DeleteWatchlistsByWatchlistIdItemsJSONBody

DeleteWatchlistsByWatchlistIdItemsJSONRequestBody defines body for DeleteWatchlistsByWatchlistIdItems for application/json ContentType.

type DeleteWatchlistsByWatchlistIdItemsParams

type DeleteWatchlistsByWatchlistIdItemsParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

DeleteWatchlistsByWatchlistIdItemsParams defines parameters for DeleteWatchlistsByWatchlistIdItems.

type DeleteWatchlistsByWatchlistIdItemsResponse

type DeleteWatchlistsByWatchlistIdItemsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// Headers204 the parsed response headers for an HTTP 204 response
	Headers204 *DeleteWatchlistsByWatchlistIdItemsResponse204Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *DeleteWatchlistsByWatchlistIdItemsResponse429Headers
}

func ParseDeleteWatchlistsByWatchlistIdItemsResponse

func ParseDeleteWatchlistsByWatchlistIdItemsResponse(rsp *http.Response) (*DeleteWatchlistsByWatchlistIdItemsResponse, error)

ParseDeleteWatchlistsByWatchlistIdItemsResponse parses an HTTP response from a DeleteWatchlistsByWatchlistIdItemsWithResponse call

func (DeleteWatchlistsByWatchlistIdItemsResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (DeleteWatchlistsByWatchlistIdItemsResponse) GetBody

GetBody returns the raw response body bytes

func (DeleteWatchlistsByWatchlistIdItemsResponse) Status

Status returns HTTPResponse.Status

func (DeleteWatchlistsByWatchlistIdItemsResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type DeleteWatchlistsByWatchlistIdItemsResponse204Headers

type DeleteWatchlistsByWatchlistIdItemsResponse204Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

DeleteWatchlistsByWatchlistIdItemsResponse204Headers the declared response headers of an HTTP 204 response for DeleteWatchlistsByWatchlistIdItems

type DeleteWatchlistsByWatchlistIdItemsResponse429Headers

type DeleteWatchlistsByWatchlistIdItemsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

DeleteWatchlistsByWatchlistIdItemsResponse429Headers the declared response headers of an HTTP 429 response for DeleteWatchlistsByWatchlistIdItems

type DeleteWatchlistsByWatchlistIdParams

type DeleteWatchlistsByWatchlistIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

DeleteWatchlistsByWatchlistIdParams defines parameters for DeleteWatchlistsByWatchlistId.

type DeleteWatchlistsByWatchlistIdResponse

type DeleteWatchlistsByWatchlistIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// Headers204 the parsed response headers for an HTTP 204 response
	Headers204 *DeleteWatchlistsByWatchlistIdResponse204Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *DeleteWatchlistsByWatchlistIdResponse429Headers
}

func ParseDeleteWatchlistsByWatchlistIdResponse

func ParseDeleteWatchlistsByWatchlistIdResponse(rsp *http.Response) (*DeleteWatchlistsByWatchlistIdResponse, error)

ParseDeleteWatchlistsByWatchlistIdResponse parses an HTTP response from a DeleteWatchlistsByWatchlistIdWithResponse call

func (DeleteWatchlistsByWatchlistIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (DeleteWatchlistsByWatchlistIdResponse) GetBody

GetBody returns the raw response body bytes

func (DeleteWatchlistsByWatchlistIdResponse) Status

Status returns HTTPResponse.Status

func (DeleteWatchlistsByWatchlistIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type DeleteWatchlistsByWatchlistIdResponse204Headers

type DeleteWatchlistsByWatchlistIdResponse204Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

DeleteWatchlistsByWatchlistIdResponse204Headers the declared response headers of an HTTP 204 response for DeleteWatchlistsByWatchlistId

type DeleteWatchlistsByWatchlistIdResponse429Headers

type DeleteWatchlistsByWatchlistIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

DeleteWatchlistsByWatchlistIdResponse429Headers the declared response headers of an HTTP 429 response for DeleteWatchlistsByWatchlistId

type DowngradeRiskResponse

type DowngradeRiskResponse struct {
	// DaysUntilDowngrade Days remaining until potential downgrade. Present only when isAtRisk is true.
	//
	// Example: 30
	DaysUntilDowngrade *int `json:"daysUntilDowngrade,omitempty"`

	// IsAtRisk Whether the user is at risk of club tier downgrade
	//
	// Example: false
	IsAtRisk *bool `json:"isAtRisk,omitempty"`
}

DowngradeRiskResponse Club tier downgrade risk assessment

type EquityDetailsData

type EquityDetailsData struct {
	// Available Funds available to trade or withdraw (buying power); for Plaee accounts only the withdrawable cash - cash that can still be used at Plaee but not withdrawn is in balance. This is the correct field for pre-trade affordability checks — use it instead of totalBalance or displayBalance. IMPORTANT: this value is denominated in the account's native currency (the sibling currency field), NOT in displayCurrency, and no currency is stated inside equityDetails itself. Convert it before comparing against displayBalance, totalBalance, or any amount in the display currency — for example a GBP Cash account reports available in GBP while displayBalance is in USD. Populated for Trading, Options, MoneyFarm, Cash and Plaee (where it is the withdrawable cash) only; for Crypto use spendableBalanceInFiat instead, and Spaceship accounts return no equityDetails at all. For Cash accounts this equals the account's balance.
	Available *float64 `json:"available,omitempty"`

	// Balance Balance in native crypto units (Crypto); cash in the account currency (Plaee).
	Balance *float64 `json:"balance,omitempty"`

	// BalanceInFiat Balance converted to fiat (Crypto).
	BalanceInFiat *float64 `json:"balanceInFiat,omitempty"`

	// CryptoId etoro internal crypto asset identifier (Crypto).
	CryptoId *int32 `json:"cryptoId,omitempty"`

	// CurrentPNL Current unrealized profit and loss on open positions (Trading, Plaee).
	CurrentPNL *float64 `json:"currentPNL,omitempty"`

	// FiatConversionCurrency ISO 4217 currency code used for the InFiat values (Crypto).
	FiatConversionCurrency *string `json:"fiatConversionCurrency,omitempty"`

	// FrozenCash Cash frozen by the platform pending settlement. Already accounted for within the other figures — do not add it to balance, which is available + totalUsedMargin + currentPNL (Trading). For Plaee accounts this is the cash reserved by resting prediction-market orders.
	FrozenCash *float64 `json:"frozenCash,omitempty"`

	// HasOpenPositions Plaee only: true when the user has something open at Plaee - an open prediction-market position or a resting order - and false when nothing is open. Absent when Plaee did not report it. Read this to decide whether to show an "open positions" state; the amounts cannot tell (a position can be worth 0).
	HasOpenPositions *bool `json:"hasOpenPositions,omitempty"`

	// Invested Plaee only: cost of the open prediction-market positions (what was paid for what is still open), in the account currency. Absent when Plaee did not report it.
	Invested *float64 `json:"invested,omitempty"`

	// OpenOrdersValue Plaee only: money in resting prediction-market orders that have not been matched yet, in the account currency. Absent when Plaee did not report it.
	OpenOrdersValue *float64 `json:"openOrdersValue,omitempty"`

	// OpenPositionsCount Plaee only: number of open prediction-market positions. Resting orders are not counted - hasOpenPositions covers both. Absent when Plaee did not report it.
	OpenPositionsCount *int32 `json:"openPositionsCount,omitempty"`

	// OrderIndex Display order index for sorting (Crypto).
	OrderIndex *int32 `json:"orderIndex,omitempty"`

	// PositionsValue Plaee only: current market value of the open prediction-market positions, in the account currency. Absent when Plaee did not report it.
	PositionsValue *float64 `json:"positionsValue,omitempty"`

	// RealizedPNL Plaee only: realized profit and loss of closed and settled prediction-market positions, all time, in the account currency. Absent when Plaee did not report it.
	RealizedPNL *float64 `json:"realizedPNL,omitempty"`

	// SpendableBalance Spendable balance in native crypto units — not a currency amount. Use spendableBalanceInFiat for a value comparable to other accounts (Crypto).
	SpendableBalance *float64 `json:"spendableBalance,omitempty"`

	// SpendableBalanceInFiat Spendable balance converted to fiat, in fiatConversionCurrency. This is the correct field for affordability checks on Crypto accounts — the available field is not populated for Crypto (Crypto).
	SpendableBalanceInFiat *float64 `json:"spendableBalanceInFiat,omitempty"`

	// TotalBalance Total balance in native crypto units, including pending (Crypto); cash plus resting orders plus open positions (Plaee).
	TotalBalance *float64 `json:"totalBalance,omitempty"`

	// TotalBalanceInFiat Total balance converted to fiat, including pending (Crypto).
	TotalBalanceInFiat *float64 `json:"totalBalanceInFiat,omitempty"`

	// TotalUsedMargin Total margin used by open positions (Trading).
	TotalUsedMargin *float64 `json:"totalUsedMargin,omitempty"`
}

EquityDetailsData Provider-specific balance details, returned only when the request includes expand=equityDetails. All fields are nullable; only fields relevant to the account's provider are populated. Trading accounts populate available/frozenCash/currentPNL/totalUsedMargin; Crypto accounts populate cryptoId, the balance variants, fiatConversionCurrency, and orderIndex; Spaceship accounts return no equityDetails object at all; Plaee accounts populate available (withdrawable cash), frozenCash (cash reserved by resting prediction-market orders), currentPNL (unrealised profit and loss on open positions), realizedPNL (realised profit and loss of closed and settled positions, all time), invested (cost of the open positions), positionsValue (market value of the open positions), openOrdersValue (money in resting orders not yet matched), balance (cash) and totalBalance (cash plus resting orders plus open positions), all in the account currency, plus openPositionsCount (number of open positions) and hasOpenPositions (true when an open position or a resting order exists at Plaee). Currency: the fiat amounts here are denominated in the enclosing account's native currency (its currency field), not in displayCurrency — the object carries no currency marker of its own. The exception is the *InFiat crypto fields, which use fiatConversionCurrency.

type EtoroTradingSubAccountsMoneyTransferRequest

type EtoroTradingSubAccountsMoneyTransferRequest struct {
	// AmountInUsd The money-transfer amount in USD. Must be positive and have up to two decimal places.
	//
	// Example: 250.55
	AmountInUsd float32 `json:"amountInUsd"`

	// Direction The transfer direction. ToSubAccount moves funds from the caller to the sub-account; FromSubAccount moves funds from the sub-account back to the caller. Parsing is case-insensitive.
	//
	// Example: ToSubAccount
	Direction EtoroTradingSubAccountsMoneyTransferRequestDirection `json:"direction"`
}

EtoroTradingSubAccountsMoneyTransferRequest defines model for EtoroTradingSubAccountsMoneyTransferRequest.

type EtoroTradingSubAccountsMoneyTransferRequestDirection

type EtoroTradingSubAccountsMoneyTransferRequestDirection string

EtoroTradingSubAccountsMoneyTransferRequestDirection The transfer direction. ToSubAccount moves funds from the caller to the sub-account; FromSubAccount moves funds from the sub-account back to the caller. Parsing is case-insensitive.

Example: ToSubAccount

const (
	EtoroTradingSubAccountsMoneyTransferRequestDirectionFromSubAccount EtoroTradingSubAccountsMoneyTransferRequestDirection = "FromSubAccount"
	EtoroTradingSubAccountsMoneyTransferRequestDirectionToSubAccount   EtoroTradingSubAccountsMoneyTransferRequestDirection = "ToSubAccount"
)

Defines values for EtoroTradingSubAccountsMoneyTransferRequestDirection.

func (EtoroTradingSubAccountsMoneyTransferRequestDirection) Valid

Valid indicates whether the value is a known member of the EtoroTradingSubAccountsMoneyTransferRequestDirection enum.

type EtoroTradingSubAccountsOperationsApiCreateUserTokenResponse

type EtoroTradingSubAccountsOperationsApiCreateUserTokenResponse struct {
	// ClientId The OAuth client id associated with the token.
	//
	// Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7
	ClientId *openapi_types.UUID `json:"clientId,omitempty"`

	// CreatedAt When this user token was created.
	//
	// Example: 2026-06-06T10:15:00Z
	CreatedAt *time.Time `json:"createdAt,omitempty"`

	// ExpiresAt The UTC expiration of the token, if one was set.
	//
	// Example: 2026-12-31T23:59:59Z
	ExpiresAt *time.Time `json:"expiresAt,omitempty"`

	// IpsWhitelist The IPv4 addresses the token is restricted to, if any.
	//
	// Example: ["192.168.1.1"]
	IpsWhitelist *[]string `json:"ipsWhitelist,omitempty"`

	// Scopes The scopes granted to the token.
	Scopes *[]ScopeNameItem `json:"scopes,omitempty"`

	// UserToken The secret token value. Returned only once, on creation.
	//
	// Example: ut_live_9f8c7b6a5d4e3f2a1b0c
	UserToken *string `json:"userToken,omitempty"`

	// UserTokenId The unique identifier of the created user token.
	//
	// Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
	UserTokenId *openapi_types.UUID `json:"userTokenId,omitempty"`

	// UserTokenName The friendly display name assigned to the token.
	//
	// Example: my-trading-bot
	UserTokenName *string `json:"userTokenName,omitempty"`
}

EtoroTradingSubAccountsOperationsApiCreateUserTokenResponse defines model for EtoroTradingSubAccountsOperationsApi_CreateUserTokenResponse.

type EtoroTradingSubAccountsOperationsApiErrorResponse

type EtoroTradingSubAccountsOperationsApiErrorResponse struct {
	ErrorCode    *string `json:"errorCode,omitempty"`
	ErrorMessage *string `json:"errorMessage,omitempty"`
}

EtoroTradingSubAccountsOperationsApiErrorResponse defines model for EtoroTradingSubAccountsOperationsApi_ErrorResponse.

type EtoroTradingSubAccountsOperationsApiGetAllowedScopesResponse

type EtoroTradingSubAccountsOperationsApiGetAllowedScopesResponse struct {
	// Scopes The scope names that may be assigned to sub-account user tokens.
	//
	// Example: [{"name":"etoro-public:trade.real:read"},{"name":"etoro-public:trade.real:write"}]
	Scopes *[]ScopeNameItem `json:"scopes,omitempty"`
}

EtoroTradingSubAccountsOperationsApiGetAllowedScopesResponse defines model for EtoroTradingSubAccountsOperationsApi_GetAllowedScopesResponse.

type ExchangesResponse

type ExchangesResponse struct {
	ExchangeInfo *[]struct {
		ExchangeDescription *string `json:"exchangeDescription,omitempty"`
		ExchangeID          *int    `json:"exchangeID,omitempty"`
	} `json:"exchangeInfo,omitempty"`
}

ExchangesResponse defines model for ExchangesResponse.

type ExposureHistoryEntry

type ExposureHistoryEntry struct {
	// AbsExposurePct Sum of absolute exposure across all instruments as a ratio of total daily investment. Decimal fraction: 0.5 = 50%.
	AbsExposurePct float32 `json:"absExposurePct"`

	// Date ISO 8601 date of this snapshot (YYYY-MM-DD)
	Date openapi_types.Date `json:"date"`

	// ExposureItems Per-instrument exposure breakdown
	ExposureItems []ExposureItem `json:"exposureItems"`
}

ExposureHistoryEntry defines model for ExposureHistoryEntry.

type ExposureHistoryResponse

type ExposureHistoryResponse struct {
	// Results Daily snapshots ordered ascending by date.
	Results  []ExposureHistoryEntry `json:"results"`
	UserName string                 `json:"userName"`
}

ExposureHistoryResponse defines model for ExposureHistoryResponse.

type ExposureItem

type ExposureItem struct {
	// AbsExposurePct Absolute exposure for this instrument as a ratio of total equity. Always positive. Decimal fraction: 0.5 = 50%.
	AbsExposurePct float32 `json:"absExposurePct"`
	InstrumentId   int     `json:"instrumentId"`

	// NetExposurePct Net exposure for this instrument as a ratio of total equity. Signed - positive = long, negative = short. Decimal fraction: 0.5 = 50%.
	NetExposurePct float32 `json:"netExposurePct"`

	// Symbol Trading symbol for this instrument (e.g. AAPL, TSLA)
	Symbol string `json:"symbol"`
}

ExposureItem defines model for ExposureItem.

type FiatbackApiPublicErrorResponse

type FiatbackApiPublicErrorResponse struct {
	// ErrorCode Machine-readable error code
	//
	// Example: GeneralError
	ErrorCode string `json:"errorCode"`

	// ErrorMessage Human-readable error message
	//
	// Example: Internal server error. Please retry or contact support
	ErrorMessage string `json:"errorMessage"`
}

FiatbackApiPublicErrorResponse Error response with code and message

type GainEntry

type GainEntry struct {
	Gain      *float32   `json:"gain,omitempty"`
	Timestamp *time.Time `json:"timestamp,omitempty"`
}

GainEntry defines model for gainEntry.

type GainHistoryResponse

type GainHistoryResponse struct {
	Gains       []GainPoint                    `json:"gains"`
	Granularity GainHistoryResponseGranularity `json:"granularity"`

	// TotalGain Compound gain over the returned series as a decimal fraction. Null when gains is empty.
	TotalGain *float32 `json:"totalGain,omitempty"`
	Username  string   `json:"username"`
}

GainHistoryResponse defines model for GainHistoryResponse.

type GainHistoryResponseGranularity

type GainHistoryResponseGranularity string

GainHistoryResponseGranularity defines model for GainHistoryResponse.Granularity.

const (
	GainHistoryResponseGranularityDaily   GainHistoryResponseGranularity = "daily"
	GainHistoryResponseGranularityMonthly GainHistoryResponseGranularity = "monthly"
	GainHistoryResponseGranularityYearly  GainHistoryResponseGranularity = "yearly"
)

Defines values for GainHistoryResponseGranularity.

func (GainHistoryResponseGranularity) Valid

Valid indicates whether the value is a known member of the GainHistoryResponseGranularity enum.

type GainPoint

type GainPoint struct {
	Date openapi_types.Date `json:"date"`
	Gain float32            `json:"gain"`
}

GainPoint defines model for GainPoint.

type GatewayErrorEnvelope

type GatewayErrorEnvelope struct {
	// ErrorCode Machine-readable error code, e.g. Unauthorized, RequestIdRequired
	ErrorCode *string `json:"errorCode,omitempty"`

	// ErrorMessage Human-readable error message
	ErrorMessage *string `json:"errorMessage,omitempty"`
}

GatewayErrorEnvelope Error envelope used for gateway-level rejections (bad/missing API key -> 401, missing X-Request-Id -> 422) that occur before the request reaches this service. Unlike apiErrorEnvelope, this shape is {errorCode, errorMessage} with no success/error wrapper.

type GatewayErrorResponse

type GatewayErrorResponse struct {
	// ErrorCode Machine-readable error code
	//
	// Example: Unauthorized
	ErrorCode string `json:"errorCode"`

	// ErrorMessage Human-readable error message
	//
	// Example: Unauthorized
	ErrorMessage string `json:"errorMessage"`
}

GatewayErrorResponse Standard error response from the public API gateway (401, 403 and 429 statuses).

type GeCopiersResponse

type GeCopiersResponse struct {
	// Copiers List of users copying your portfolio, with demographic and financial info.
	Copiers *[]struct {
		// AgeCategory Age range of the copier
		//
		// Example: 30-44
		AgeCategory *GeCopiersResponseCopiersAgeCategory `json:"AgeCategory,omitempty"`

		// AmountCategory Amount being copied
		//
		// Example: 100-500
		AmountCategory *GeCopiersResponseCopiersAmountCategory `json:"AmountCategory,omitempty"`

		// AvailableCopyBalance Available copy balance of the copier
		//
		// Example: 55.2
		AvailableCopyBalance *string `json:"AvailableCopyBalance,omitempty"`

		// Club Membership club level
		//
		// Example: Gold
		Club *string `json:"Club,omitempty"`

		// CopyRealizedEquityPnl Total realized equity PnL of the copier
		//
		// Example: 1589.2
		CopyRealizedEquityPnl *string `json:"CopyRealizedEquity_pnl,omitempty"`

		// CopyStartedAtCategory How long ago the copy relationship started
		//
		// Example: more than 1 year
		CopyStartedAtCategory *GeCopiersResponseCopiersCopyStartedAtCategory `json:"CopyStartedAtCategory,omitempty"`

		// Country Country of residence
		//
		// Example: Germany
		Country *string `json:"Country,omitempty"`

		// Gender Gender of the copier
		//
		// Example: M
		Gender *string `json:"Gender,omitempty"`
	} `json:"copiers,omitempty"`
}

GeCopiersResponse Response object containing a list of portfolio copiers.

type GeCopiersResponseCopiersAgeCategory

type GeCopiersResponseCopiersAgeCategory string

GeCopiersResponseCopiersAgeCategory Age range of the copier

Example: 30-44

const (
	GeCopiersResponseCopiersAgeCategoryN1829   GeCopiersResponseCopiersAgeCategory = "18-29"
	GeCopiersResponseCopiersAgeCategoryN3044   GeCopiersResponseCopiersAgeCategory = "30-44"
	GeCopiersResponseCopiersAgeCategoryN4559   GeCopiersResponseCopiersAgeCategory = "45-59"
	GeCopiersResponseCopiersAgeCategoryN60     GeCopiersResponseCopiersAgeCategory = "60+"
	GeCopiersResponseCopiersAgeCategoryUnder18 GeCopiersResponseCopiersAgeCategory = "Under 18"
)

Defines values for GeCopiersResponseCopiersAgeCategory.

func (GeCopiersResponseCopiersAgeCategory) Valid

Valid indicates whether the value is a known member of the GeCopiersResponseCopiersAgeCategory enum.

type GeCopiersResponseCopiersAmountCategory

type GeCopiersResponseCopiersAmountCategory string

GeCopiersResponseCopiersAmountCategory Amount being copied

Example: 100-500

const (
	GeCopiersResponseCopiersAmountCategoryGreaterThan5000 GeCopiersResponseCopiersAmountCategory = ">5000"
	GeCopiersResponseCopiersAmountCategoryLessThan100     GeCopiersResponseCopiersAmountCategory = "<100"
	GeCopiersResponseCopiersAmountCategoryN10005000       GeCopiersResponseCopiersAmountCategory = "1000-5000"
	GeCopiersResponseCopiersAmountCategoryN100500         GeCopiersResponseCopiersAmountCategory = "100-500"
	GeCopiersResponseCopiersAmountCategoryN5001000        GeCopiersResponseCopiersAmountCategory = "500-1000"
)

Defines values for GeCopiersResponseCopiersAmountCategory.

func (GeCopiersResponseCopiersAmountCategory) Valid

Valid indicates whether the value is a known member of the GeCopiersResponseCopiersAmountCategory enum.

type GeCopiersResponseCopiersCopyStartedAtCategory

type GeCopiersResponseCopiersCopyStartedAtCategory string

GeCopiersResponseCopiersCopyStartedAtCategory How long ago the copy relationship started

Example: more than 1 year

const (
	GeCopiersResponseCopiersCopyStartedAtCategoryLessThan1Day   GeCopiersResponseCopiersCopyStartedAtCategory = "less than 1 day"
	GeCopiersResponseCopiersCopyStartedAtCategoryLessThan1Month GeCopiersResponseCopiersCopyStartedAtCategory = "less than 1 month"
	GeCopiersResponseCopiersCopyStartedAtCategoryLessThan1Week  GeCopiersResponseCopiersCopyStartedAtCategory = "less than 1 week"
	GeCopiersResponseCopiersCopyStartedAtCategoryLessThan1Year  GeCopiersResponseCopiersCopyStartedAtCategory = "less than 1 year"
	GeCopiersResponseCopiersCopyStartedAtCategoryMoreThan1Year  GeCopiersResponseCopiersCopyStartedAtCategory = "more than 1 year"
)

Defines values for GeCopiersResponseCopiersCopyStartedAtCategory.

func (GeCopiersResponseCopiersCopyStartedAtCategory) Valid

Valid indicates whether the value is a known member of the GeCopiersResponseCopiersCopyStartedAtCategory enum.

type GetAgentPortfoliosParams

type GetAgentPortfoliosParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetAgentPortfoliosParams defines parameters for GetAgentPortfolios.

type GetAgentPortfoliosResponse

type GetAgentPortfoliosResponse struct {
	// AgentPortfolios The collection of agent-portfolios owned by the user.
	AgentPortfolios *[]AgentPortfolioItem `json:"agentPortfolios,omitempty"`
}

GetAgentPortfoliosResponse defines model for GetAgentPortfoliosResponse.

type GetAgentPortfoliosResponse2

type GetAgentPortfoliosResponse2 struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *GetAgentPortfoliosResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *AgentPortfolioApiErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *AgentPortfolioApiErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *AgentPortfolioApiErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetAgentPortfoliosResponse2200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetAgentPortfoliosResponse2429Headers
}

func ParseGetAgentPortfoliosResponse2

func ParseGetAgentPortfoliosResponse2(rsp *http.Response) (*GetAgentPortfoliosResponse2, error)

ParseGetAgentPortfoliosResponse2 parses an HTTP response from a GetAgentPortfoliosWithResponse call

func (GetAgentPortfoliosResponse2) ContentType

func (r GetAgentPortfoliosResponse2) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetAgentPortfoliosResponse2) GetBody

func (r GetAgentPortfoliosResponse2) GetBody() []byte

GetBody returns the raw response body bytes

func (GetAgentPortfoliosResponse2) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetAgentPortfoliosResponse2) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetAgentPortfoliosResponse2) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (GetAgentPortfoliosResponse2) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (GetAgentPortfoliosResponse2) Status

Status returns HTTPResponse.Status

func (GetAgentPortfoliosResponse2) StatusCode

func (r GetAgentPortfoliosResponse2) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetAgentPortfoliosResponse2200Headers

type GetAgentPortfoliosResponse2200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetAgentPortfoliosResponse2200Headers the declared response headers of an HTTP 200 response for GetAgentPortfolios

type GetAgentPortfoliosResponse2429Headers

type GetAgentPortfoliosResponse2429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetAgentPortfoliosResponse2429Headers the declared response headers of an HTTP 429 response for GetAgentPortfolios

type GetAgentPortfoliosScopesParams

type GetAgentPortfoliosScopesParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetAgentPortfoliosScopesParams defines parameters for GetAgentPortfoliosScopes.

type GetAgentPortfoliosScopesResponse

type GetAgentPortfoliosScopesResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *AgentPortfolioApiGetAllowedScopesResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *AgentPortfolioApiErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *AgentPortfolioApiErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *AgentPortfolioApiErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetAgentPortfoliosScopesResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetAgentPortfoliosScopesResponse429Headers
}

func ParseGetAgentPortfoliosScopesResponse

func ParseGetAgentPortfoliosScopesResponse(rsp *http.Response) (*GetAgentPortfoliosScopesResponse, error)

ParseGetAgentPortfoliosScopesResponse parses an HTTP response from a GetAgentPortfoliosScopesWithResponse call

func (GetAgentPortfoliosScopesResponse) ContentType

func (r GetAgentPortfoliosScopesResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetAgentPortfoliosScopesResponse) GetBody

func (r GetAgentPortfoliosScopesResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetAgentPortfoliosScopesResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetAgentPortfoliosScopesResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetAgentPortfoliosScopesResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (GetAgentPortfoliosScopesResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (GetAgentPortfoliosScopesResponse) Status

Status returns HTTPResponse.Status

func (GetAgentPortfoliosScopesResponse) StatusCode

func (r GetAgentPortfoliosScopesResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetAgentPortfoliosScopesResponse200Headers

type GetAgentPortfoliosScopesResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetAgentPortfoliosScopesResponse200Headers the declared response headers of an HTTP 200 response for GetAgentPortfoliosScopes

type GetAgentPortfoliosScopesResponse429Headers

type GetAgentPortfoliosScopesResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetAgentPortfoliosScopesResponse429Headers the declared response headers of an HTTP 429 response for GetAgentPortfoliosScopes

type GetAggregatedPortfolioDemoParams

type GetAggregatedPortfolioDemoParams struct {
	// ConversionMode Determines which conversion to use for non-USD assets when the market is closed. 'Realtime' uses the realtime conversion rate. 'eToroApp' uses the last conversion rate at market close time. Default is 'eToroApp'.
	ConversionMode *GetAggregatedPortfolioDemoParamsConversionMode `form:"conversionMode,omitempty" json:"conversionMode,omitempty"`

	// InstrumentIds Scope the response to a specific list of assets by their etoro instrument ID. When omitted, all held assets are returned. Does not affect account-level totals.
	InstrumentIds *[]int32 `form:"instrumentIds,omitempty" json:"instrumentIds,omitempty"`

	// MirrorIds Scope copy-trading data to specific relationships by their mirror ID. A mirrorId of 0 refers to positions held directly (not via copy trading). When omitted, all copy-trading relationships are included.
	MirrorIds *[]int32 `form:"mirrorIds,omitempty" json:"mirrorIds,omitempty"`

	// PnlLevel None = no pnl calculations. Pnl = pnl calculations. DailyPnl = pnl and today's pnl calculations. Default is 'Pnl'.
	PnlLevel *GetAggregatedPortfolioDemoParamsPnlLevel `form:"pnlLevel,omitempty" json:"pnlLevel,omitempty"`

	// DailyCutoffUtc UTC timestamp representing the start of 'today' in the user's local timezone — normally the user's most recent local midnight, expressed in UTC. Required when pnlLevel=DailyPnl; rejected otherwise. Must not be more than 48 hours in the past or more than 5 minutes in the future.
	DailyCutoffUtc *time.Time `form:"dailyCutoffUtc,omitempty" json:"dailyCutoffUtc,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetAggregatedPortfolioDemoParams defines parameters for GetAggregatedPortfolioDemo.

type GetAggregatedPortfolioDemoParamsConversionMode

type GetAggregatedPortfolioDemoParamsConversionMode string

GetAggregatedPortfolioDemoParamsConversionMode defines parameters for GetAggregatedPortfolioDemo.

const (
	GetAggregatedPortfolioDemoParamsConversionModeEToroApp GetAggregatedPortfolioDemoParamsConversionMode = "eToroApp"
	GetAggregatedPortfolioDemoParamsConversionModeRealtime GetAggregatedPortfolioDemoParamsConversionMode = "Realtime"
)

Defines values for GetAggregatedPortfolioDemoParamsConversionMode.

func (GetAggregatedPortfolioDemoParamsConversionMode) Valid

Valid indicates whether the value is a known member of the GetAggregatedPortfolioDemoParamsConversionMode enum.

type GetAggregatedPortfolioDemoParamsPnlLevel

type GetAggregatedPortfolioDemoParamsPnlLevel string

GetAggregatedPortfolioDemoParamsPnlLevel defines parameters for GetAggregatedPortfolioDemo.

const (
	GetAggregatedPortfolioDemoParamsPnlLevelDailyPnl GetAggregatedPortfolioDemoParamsPnlLevel = "DailyPnl"
	GetAggregatedPortfolioDemoParamsPnlLevelNone     GetAggregatedPortfolioDemoParamsPnlLevel = "None"
	GetAggregatedPortfolioDemoParamsPnlLevelPnl      GetAggregatedPortfolioDemoParamsPnlLevel = "Pnl"
)

Defines values for GetAggregatedPortfolioDemoParamsPnlLevel.

func (GetAggregatedPortfolioDemoParamsPnlLevel) Valid

Valid indicates whether the value is a known member of the GetAggregatedPortfolioDemoParamsPnlLevel enum.

type GetAggregatedPortfolioDemoResponse

type GetAggregatedPortfolioDemoResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *TradingPortfolioDemoApiAggregatedPortfolioResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetAggregatedPortfolioDemoResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetAggregatedPortfolioDemoResponse429Headers
}

func ParseGetAggregatedPortfolioDemoResponse

func ParseGetAggregatedPortfolioDemoResponse(rsp *http.Response) (*GetAggregatedPortfolioDemoResponse, error)

ParseGetAggregatedPortfolioDemoResponse parses an HTTP response from a GetAggregatedPortfolioDemoWithResponse call

func (GetAggregatedPortfolioDemoResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetAggregatedPortfolioDemoResponse) GetBody

GetBody returns the raw response body bytes

func (GetAggregatedPortfolioDemoResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetAggregatedPortfolioDemoResponse) Status

Status returns HTTPResponse.Status

func (GetAggregatedPortfolioDemoResponse) StatusCode

func (r GetAggregatedPortfolioDemoResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetAggregatedPortfolioDemoResponse200Headers

type GetAggregatedPortfolioDemoResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetAggregatedPortfolioDemoResponse200Headers the declared response headers of an HTTP 200 response for GetAggregatedPortfolioDemo

type GetAggregatedPortfolioDemoResponse429Headers

type GetAggregatedPortfolioDemoResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetAggregatedPortfolioDemoResponse429Headers the declared response headers of an HTTP 429 response for GetAggregatedPortfolioDemo

type GetAggregatedPortfolioParams

type GetAggregatedPortfolioParams struct {
	// ConversionMode Determines which conversion to use for non-USD assets when the market is closed. 'Realtime' uses the realtime conversion rate. 'eToroApp' uses the last conversion rate at market close time. Default is 'eToroApp'.
	ConversionMode *GetAggregatedPortfolioParamsConversionMode `form:"conversionMode,omitempty" json:"conversionMode,omitempty"`

	// InstrumentIds Scope the response to a specific list of assets by their etoro instrument ID. When omitted, all held assets are returned. Does not affect account-level totals.
	InstrumentIds *[]int32 `form:"instrumentIds,omitempty" json:"instrumentIds,omitempty"`

	// MirrorIds Scope copy-trading data to specific relationships by their mirror ID. A mirrorId of 0 refers to positions held directly (not via copy trading). When omitted, all copy-trading relationships are included.
	MirrorIds *[]int32 `form:"mirrorIds,omitempty" json:"mirrorIds,omitempty"`

	// PnlLevel None = no pnl calculations. Pnl = pnl calculations. DailyPnl = pnl and today's pnl calculations. Default is 'Pnl'.
	PnlLevel *GetAggregatedPortfolioParamsPnlLevel `form:"pnlLevel,omitempty" json:"pnlLevel,omitempty"`

	// DailyCutoffUtc UTC timestamp representing the start of 'today' in the user's local timezone — normally the user's most recent local midnight, expressed in UTC. Required when pnlLevel=DailyPnl; rejected otherwise. Must not be more than 48 hours in the past or more than 5 minutes in the future.
	DailyCutoffUtc *time.Time `form:"dailyCutoffUtc,omitempty" json:"dailyCutoffUtc,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetAggregatedPortfolioParams defines parameters for GetAggregatedPortfolio.

type GetAggregatedPortfolioParamsConversionMode

type GetAggregatedPortfolioParamsConversionMode string

GetAggregatedPortfolioParamsConversionMode defines parameters for GetAggregatedPortfolio.

const (
	GetAggregatedPortfolioParamsConversionModeEToroApp GetAggregatedPortfolioParamsConversionMode = "eToroApp"
	GetAggregatedPortfolioParamsConversionModeRealtime GetAggregatedPortfolioParamsConversionMode = "Realtime"
)

Defines values for GetAggregatedPortfolioParamsConversionMode.

func (GetAggregatedPortfolioParamsConversionMode) Valid

Valid indicates whether the value is a known member of the GetAggregatedPortfolioParamsConversionMode enum.

type GetAggregatedPortfolioParamsPnlLevel

type GetAggregatedPortfolioParamsPnlLevel string

GetAggregatedPortfolioParamsPnlLevel defines parameters for GetAggregatedPortfolio.

const (
	GetAggregatedPortfolioParamsPnlLevelDailyPnl GetAggregatedPortfolioParamsPnlLevel = "DailyPnl"
	GetAggregatedPortfolioParamsPnlLevelNone     GetAggregatedPortfolioParamsPnlLevel = "None"
	GetAggregatedPortfolioParamsPnlLevelPnl      GetAggregatedPortfolioParamsPnlLevel = "Pnl"
)

Defines values for GetAggregatedPortfolioParamsPnlLevel.

func (GetAggregatedPortfolioParamsPnlLevel) Valid

Valid indicates whether the value is a known member of the GetAggregatedPortfolioParamsPnlLevel enum.

type GetAggregatedPortfolioResponse

type GetAggregatedPortfolioResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *TradingPortfolioRealApiAggregatedPortfolioResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetAggregatedPortfolioResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetAggregatedPortfolioResponse429Headers
}

func ParseGetAggregatedPortfolioResponse

func ParseGetAggregatedPortfolioResponse(rsp *http.Response) (*GetAggregatedPortfolioResponse, error)

ParseGetAggregatedPortfolioResponse parses an HTTP response from a GetAggregatedPortfolioWithResponse call

func (GetAggregatedPortfolioResponse) ContentType

func (r GetAggregatedPortfolioResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetAggregatedPortfolioResponse) GetBody

func (r GetAggregatedPortfolioResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetAggregatedPortfolioResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetAggregatedPortfolioResponse) Status

Status returns HTTPResponse.Status

func (GetAggregatedPortfolioResponse) StatusCode

func (r GetAggregatedPortfolioResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetAggregatedPortfolioResponse200Headers

type GetAggregatedPortfolioResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetAggregatedPortfolioResponse200Headers the declared response headers of an HTTP 200 response for GetAggregatedPortfolio

type GetAggregatedPortfolioResponse429Headers

type GetAggregatedPortfolioResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetAggregatedPortfolioResponse429Headers the declared response headers of an HTTP 429 response for GetAggregatedPortfolio

type GetApplicationsParams

type GetApplicationsParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetApplicationsParams defines parameters for GetApplications.

type GetApplicationsResponse

type GetApplicationsResponse struct {
	// Applications Applications administered by the authenticated user. May be empty.
	Applications *[]ApplicationItem `json:"applications,omitempty"`
}

GetApplicationsResponse defines model for GetApplicationsResponse.

type GetApplicationsResponse2

type GetApplicationsResponse2 struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *GetApplicationsResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetApplicationsResponse2200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetApplicationsResponse2429Headers
}

func ParseGetApplicationsResponse2

func ParseGetApplicationsResponse2(rsp *http.Response) (*GetApplicationsResponse2, error)

ParseGetApplicationsResponse2 parses an HTTP response from a GetApplicationsWithResponse call

func (GetApplicationsResponse2) ContentType

func (r GetApplicationsResponse2) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetApplicationsResponse2) GetBody

func (r GetApplicationsResponse2) GetBody() []byte

GetBody returns the raw response body bytes

func (GetApplicationsResponse2) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetApplicationsResponse2) Status

func (r GetApplicationsResponse2) Status() string

Status returns HTTPResponse.Status

func (GetApplicationsResponse2) StatusCode

func (r GetApplicationsResponse2) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetApplicationsResponse2200Headers

type GetApplicationsResponse2200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetApplicationsResponse2200Headers the declared response headers of an HTTP 200 response for GetApplications

type GetApplicationsResponse2429Headers

type GetApplicationsResponse2429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetApplicationsResponse2429Headers the declared response headers of an HTTP 429 response for GetApplications

type GetAssetsHistoryParams

type GetAssetsHistoryParams struct {
	// Period Predefined rolling window. Mutually exclusive with minDate/maxDate.
	Period *StatsAssetsApiRankingPeriod `form:"period,omitempty" json:"period,omitempty"`

	// MinDate Start date inclusive (YYYY-MM-DD). Mutually exclusive with period. Required together with maxDate when period is omitted.
	MinDate *openapi_types.Date `form:"minDate,omitempty" json:"minDate,omitempty"`

	// MaxDate End date inclusive (YYYY-MM-DD). Mutually exclusive with period. Required together with minDate when period is omitted.
	MaxDate *openapi_types.Date `form:"maxDate,omitempty" json:"maxDate,omitempty"`

	// Count Downsample time axis to at most N buckets. Omit or pass 0 for no downsampling.
	Count *int `form:"count,omitempty" json:"count,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetAssetsHistoryParams defines parameters for GetAssetsHistory.

type GetAssetsHistoryResponse

type GetAssetsHistoryResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *AssetsHistoryResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *StatsAssetsApiError
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *StatsAssetsApiError
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *StatsAssetsApiError
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *StatsAssetsApiError
	// JSON502 the response for an HTTP 502 `application/json` response
	JSON502 *StatsAssetsApiError
	// JSON503 the response for an HTTP 503 `application/json` response
	JSON503 *StatsAssetsApiError
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetAssetsHistoryResponse200Headers
	// Headers403 the parsed response headers for an HTTP 403 response
	Headers403 *GetAssetsHistoryResponse403Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetAssetsHistoryResponse429Headers
}

func ParseGetAssetsHistoryResponse

func ParseGetAssetsHistoryResponse(rsp *http.Response) (*GetAssetsHistoryResponse, error)

ParseGetAssetsHistoryResponse parses an HTTP response from a GetAssetsHistoryWithResponse call

func (GetAssetsHistoryResponse) ContentType

func (r GetAssetsHistoryResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetAssetsHistoryResponse) GetBody

func (r GetAssetsHistoryResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetAssetsHistoryResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetAssetsHistoryResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetAssetsHistoryResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetAssetsHistoryResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (GetAssetsHistoryResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (GetAssetsHistoryResponse) GetJSON502

GetJSON502 returns the response for an HTTP 502 `application/json` response

func (GetAssetsHistoryResponse) GetJSON503

GetJSON503 returns the response for an HTTP 503 `application/json` response

func (GetAssetsHistoryResponse) Status

func (r GetAssetsHistoryResponse) Status() string

Status returns HTTPResponse.Status

func (GetAssetsHistoryResponse) StatusCode

func (r GetAssetsHistoryResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetAssetsHistoryResponse200Headers

type GetAssetsHistoryResponse200Headers struct {
	CacheControl       *string
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetAssetsHistoryResponse200Headers the declared response headers of an HTTP 200 response for GetAssetsHistory

type GetAssetsHistoryResponse403Headers

type GetAssetsHistoryResponse403Headers struct {
	CacheControl *string
}

GetAssetsHistoryResponse403Headers the declared response headers of an HTTP 403 response for GetAssetsHistory

type GetAssetsHistoryResponse429Headers

type GetAssetsHistoryResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetAssetsHistoryResponse429Headers the declared response headers of an HTTP 429 response for GetAssetsHistory

type GetBalanceByAccountParams

type GetBalanceByAccountParams struct {
	// DisplayCurrency ISO 4217 currency code for totals and conversions. Defaults to USD.
	DisplayCurrency *string `form:"displayCurrency,omitempty" json:"displayCurrency,omitempty"`

	// Expand Comma-separated list of optional sections to include in the response. Valid values: equityDetails.
	Expand *string `form:"expand,omitempty" json:"expand,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetBalanceByAccountParams defines parameters for GetBalanceByAccount.

type GetBalanceByAccountResponse

type GetBalanceByAccountResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *GetBalancesResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *BalancesErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *BalanceAggregatorApiPublicErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *BalanceAggregatorApiPublicErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *BalanceAggregatorApiPublicErrorResponse
	// JSON502 the response for an HTTP 502 `application/json` response
	JSON502 *BalancesErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetBalanceByAccountResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetBalanceByAccountResponse429Headers
}

func ParseGetBalanceByAccountResponse

func ParseGetBalanceByAccountResponse(rsp *http.Response) (*GetBalanceByAccountResponse, error)

ParseGetBalanceByAccountResponse parses an HTTP response from a GetBalanceByAccountWithResponse call

func (GetBalanceByAccountResponse) ContentType

func (r GetBalanceByAccountResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetBalanceByAccountResponse) GetBody

func (r GetBalanceByAccountResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetBalanceByAccountResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetBalanceByAccountResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetBalanceByAccountResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetBalanceByAccountResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (GetBalanceByAccountResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (GetBalanceByAccountResponse) GetJSON502

GetJSON502 returns the response for an HTTP 502 `application/json` response

func (GetBalanceByAccountResponse) Status

Status returns HTTPResponse.Status

func (GetBalanceByAccountResponse) StatusCode

func (r GetBalanceByAccountResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetBalanceByAccountResponse200Headers

type GetBalanceByAccountResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetBalanceByAccountResponse200Headers the declared response headers of an HTTP 200 response for GetBalanceByAccount

type GetBalanceByAccountResponse429Headers

type GetBalanceByAccountResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetBalanceByAccountResponse429Headers the declared response headers of an HTTP 429 response for GetBalanceByAccount

type GetBalancesByAccountTypeParams

type GetBalancesByAccountTypeParams struct {
	// AccountIds Optional comma-separated list of account IDs to include.
	AccountIds *string `form:"accountIds,omitempty" json:"accountIds,omitempty"`

	// DisplayCurrency ISO 4217 currency code for totals and conversions. Defaults to USD.
	DisplayCurrency *string `form:"displayCurrency,omitempty" json:"displayCurrency,omitempty"`

	// IncludeZeroBalances Whether to include accounts with a zero balance in the response. Defaults to false.
	IncludeZeroBalances *bool `form:"includeZeroBalances,omitempty" json:"includeZeroBalances,omitempty"`

	// IncludeSubAccounts Whether to also include the user's sub-account Trading balances. Only effective when the accountType path segment is trading; ignored for every other account type. Sub-account entries are returned with accountType Trading and subType "subAccount". Defaults to false.
	IncludeSubAccounts *bool `form:"includeSubAccounts,omitempty" json:"includeSubAccounts,omitempty"`

	// Expand Comma-separated list of optional sections to include in the response. Valid values: equityDetails.
	Expand *string `form:"expand,omitempty" json:"expand,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetBalancesByAccountTypeParams defines parameters for GetBalancesByAccountType.

type GetBalancesByAccountTypeResponse

type GetBalancesByAccountTypeResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *GetBalancesResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *BalancesErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *BalanceAggregatorApiPublicErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *BalanceAggregatorApiPublicErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *BalanceAggregatorApiPublicErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetBalancesByAccountTypeResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetBalancesByAccountTypeResponse429Headers
}

func ParseGetBalancesByAccountTypeResponse

func ParseGetBalancesByAccountTypeResponse(rsp *http.Response) (*GetBalancesByAccountTypeResponse, error)

ParseGetBalancesByAccountTypeResponse parses an HTTP response from a GetBalancesByAccountTypeWithResponse call

func (GetBalancesByAccountTypeResponse) ContentType

func (r GetBalancesByAccountTypeResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetBalancesByAccountTypeResponse) GetBody

func (r GetBalancesByAccountTypeResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetBalancesByAccountTypeResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetBalancesByAccountTypeResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetBalancesByAccountTypeResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetBalancesByAccountTypeResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (GetBalancesByAccountTypeResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (GetBalancesByAccountTypeResponse) Status

Status returns HTTPResponse.Status

func (GetBalancesByAccountTypeResponse) StatusCode

func (r GetBalancesByAccountTypeResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetBalancesByAccountTypeResponse200Headers

type GetBalancesByAccountTypeResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetBalancesByAccountTypeResponse200Headers the declared response headers of an HTTP 200 response for GetBalancesByAccountType

type GetBalancesByAccountTypeResponse429Headers

type GetBalancesByAccountTypeResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetBalancesByAccountTypeResponse429Headers the declared response headers of an HTTP 429 response for GetBalancesByAccountType

type GetBalancesParams

type GetBalancesParams struct {
	// AccountTypes Optional comma-separated list of account types to include. Valid values: Trading, Cash, Options, Crypto, MoneyFarm, Spaceship, Plaee (case-insensitive). Unrecognised values are silently ignored rather than rejected: if none of the supplied values are recognised the filter is dropped and all account types are returned, so verify the accountType values in the response rather than assuming the filter applied.
	AccountTypes *string `form:"accountTypes,omitempty" json:"accountTypes,omitempty"`

	// DisplayCurrency ISO 4217 currency code for totals and conversions. Defaults to USD.
	DisplayCurrency *string `form:"displayCurrency,omitempty" json:"displayCurrency,omitempty"`

	// IncludeZeroBalances Whether to include accounts with a zero balance in the response. Defaults to false.
	IncludeZeroBalances *bool `form:"includeZeroBalances,omitempty" json:"includeZeroBalances,omitempty"`

	// IncludeSubAccounts Whether to also include the user's sub-account Trading balances. Only effective when Trading is in scope — that is, when no accountTypes filter is supplied, or the filter includes trading. Sub-account entries are returned with accountType Trading and subType "subAccount". Defaults to false.
	IncludeSubAccounts *bool `form:"includeSubAccounts,omitempty" json:"includeSubAccounts,omitempty"`

	// Expand Comma-separated list of optional sections to include in the response. Valid values: equityDetails.
	Expand *string `form:"expand,omitempty" json:"expand,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetBalancesParams defines parameters for GetBalances.

type GetBalancesResponse

type GetBalancesResponse struct {
	// Balances Individual account balances.
	Balances *[]AccountBalanceData `json:"balances,omitempty"`

	// DisplayCurrency ISO 4217 currency code used for totalBalance and displayBalance values.
	DisplayCurrency *string `json:"displayCurrency,omitempty"`

	// Gcid The user's global customer ID.
	Gcid *int64 `json:"gcid,omitempty"`

	// TotalBalance Sum of every included account's balance, converted to the requested display currency. Treat this as portfolio value, not spendable cash: for Trading, Options, MoneyFarm, Spaceship and Plaee it is the total account value including invested positions, and for Crypto it is the fiat value of holdings. For Trading specifically it equals equityDetails.available + equityDetails.totalUsedMargin + equityDetails.currentPNL, so it includes margin deployed in open positions and unrealized profit and loss — the available portion can be a small fraction of it. Only for Cash accounts does it equal available cash. Do not use it to decide whether a trade or withdrawal is affordable — request expand=equityDetails and read equityDetails.available (Trading, Options, MoneyFarm, Cash, Plaee) or equityDetails.spendableBalanceInFiat (Crypto). Spaceship accounts expose no spendable figure. Note that equityDetails amounts are denominated in each account's own native currency, not in displayCurrency, so they must be converted before being compared with displayBalance or totalBalance.
	TotalBalance *float64 `json:"totalBalance,omitempty"`
}

GetBalancesResponse Aggregated balances for the authenticated user.

type GetBalancesResponse2

type GetBalancesResponse2 struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *GetBalancesResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *BalancesErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *BalanceAggregatorApiPublicErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *BalanceAggregatorApiPublicErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *BalanceAggregatorApiPublicErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetBalancesResponse2200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetBalancesResponse2429Headers
}

func ParseGetBalancesResponse2

func ParseGetBalancesResponse2(rsp *http.Response) (*GetBalancesResponse2, error)

ParseGetBalancesResponse2 parses an HTTP response from a GetBalancesWithResponse call

func (GetBalancesResponse2) ContentType

func (r GetBalancesResponse2) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetBalancesResponse2) GetBody

func (r GetBalancesResponse2) GetBody() []byte

GetBody returns the raw response body bytes

func (GetBalancesResponse2) GetJSON200

func (r GetBalancesResponse2) GetJSON200() *GetBalancesResponse

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetBalancesResponse2) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetBalancesResponse2) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetBalancesResponse2) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (GetBalancesResponse2) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (GetBalancesResponse2) Status

func (r GetBalancesResponse2) Status() string

Status returns HTTPResponse.Status

func (GetBalancesResponse2) StatusCode

func (r GetBalancesResponse2) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetBalancesResponse2200Headers

type GetBalancesResponse2200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetBalancesResponse2200Headers the declared response headers of an HTTP 200 response for GetBalances

type GetBalancesResponse2429Headers

type GetBalancesResponse2429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetBalancesResponse2429Headers the declared response headers of an HTTP 429 response for GetBalances

type GetClosedPositionEventsHistoryParams

type GetClosedPositionEventsHistoryParams struct {
	// Page 1-based page number to return.
	Page *int32 `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Items per page. Defaults to 50, maximum 500.
	PageSize *int32 `form:"pageSize,omitempty" json:"pageSize,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetClosedPositionEventsHistoryParams defines parameters for GetClosedPositionEventsHistory.

type GetClosedPositionEventsHistoryResponse

type GetClosedPositionEventsHistoryResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *ClosedPositionEventsHistoryPage
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *DataApiError
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *DataApiError
	// JSON503 the response for an HTTP 503 `application/json` response
	JSON503 *DataApiError
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetClosedPositionEventsHistoryResponse200Headers
	// Headers400 the parsed response headers for an HTTP 400 response
	Headers400 *GetClosedPositionEventsHistoryResponse400Headers
	// Headers401 the parsed response headers for an HTTP 401 response
	Headers401 *GetClosedPositionEventsHistoryResponse401Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetClosedPositionEventsHistoryResponse429Headers
	// Headers503 the parsed response headers for an HTTP 503 response
	Headers503 *GetClosedPositionEventsHistoryResponse503Headers
}

func ParseGetClosedPositionEventsHistoryResponse

func ParseGetClosedPositionEventsHistoryResponse(rsp *http.Response) (*GetClosedPositionEventsHistoryResponse, error)

ParseGetClosedPositionEventsHistoryResponse parses an HTTP response from a GetClosedPositionEventsHistoryWithResponse call

func (GetClosedPositionEventsHistoryResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetClosedPositionEventsHistoryResponse) GetBody

GetBody returns the raw response body bytes

func (GetClosedPositionEventsHistoryResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetClosedPositionEventsHistoryResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetClosedPositionEventsHistoryResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetClosedPositionEventsHistoryResponse) GetJSON503

GetJSON503 returns the response for an HTTP 503 `application/json` response

func (GetClosedPositionEventsHistoryResponse) Status

Status returns HTTPResponse.Status

func (GetClosedPositionEventsHistoryResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetClosedPositionEventsHistoryResponse200Headers

type GetClosedPositionEventsHistoryResponse200Headers struct {
	CacheControl       *string
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	XCorrelationId     *openapi_types.UUID
	XRequestId         *openapi_types.UUID
	XTimestamp         *time.Time
}

GetClosedPositionEventsHistoryResponse200Headers the declared response headers of an HTTP 200 response for GetClosedPositionEventsHistory

type GetClosedPositionEventsHistoryResponse400Headers

type GetClosedPositionEventsHistoryResponse400Headers struct {
	CacheControl   *string
	XCorrelationId *openapi_types.UUID
	XRequestId     *openapi_types.UUID
	XTimestamp     *time.Time
}

GetClosedPositionEventsHistoryResponse400Headers the declared response headers of an HTTP 400 response for GetClosedPositionEventsHistory

type GetClosedPositionEventsHistoryResponse401Headers

type GetClosedPositionEventsHistoryResponse401Headers struct {
	CacheControl   *string
	XCorrelationId *openapi_types.UUID
	XRequestId     *openapi_types.UUID
	XTimestamp     *time.Time
}

GetClosedPositionEventsHistoryResponse401Headers the declared response headers of an HTTP 401 response for GetClosedPositionEventsHistory

type GetClosedPositionEventsHistoryResponse429Headers

type GetClosedPositionEventsHistoryResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetClosedPositionEventsHistoryResponse429Headers the declared response headers of an HTTP 429 response for GetClosedPositionEventsHistory

type GetClosedPositionEventsHistoryResponse503Headers

type GetClosedPositionEventsHistoryResponse503Headers struct {
	CacheControl   *string
	XCorrelationId *openapi_types.UUID
	XRequestId     *openapi_types.UUID
	XTimestamp     *time.Time
}

GetClosedPositionEventsHistoryResponse503Headers the declared response headers of an HTTP 503 response for GetClosedPositionEventsHistory

type GetClubsParams

type GetClubsParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetClubsParams defines parameters for GetClubs.

type GetClubsResponse

type GetClubsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *ClubDashboardDataResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ClubsApiPublicErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *ClubsApiPublicErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *ClubsApiPublicErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *ClubsApiPublicErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetClubsResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetClubsResponse429Headers
}

func ParseGetClubsResponse

func ParseGetClubsResponse(rsp *http.Response) (*GetClubsResponse, error)

ParseGetClubsResponse parses an HTTP response from a GetClubsWithResponse call

func (GetClubsResponse) ContentType

func (r GetClubsResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetClubsResponse) GetBody

func (r GetClubsResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetClubsResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetClubsResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetClubsResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (GetClubsResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (GetClubsResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (GetClubsResponse) Status

func (r GetClubsResponse) Status() string

Status returns HTTPResponse.Status

func (GetClubsResponse) StatusCode

func (r GetClubsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetClubsResponse200Headers

type GetClubsResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetClubsResponse200Headers the declared response headers of an HTTP 200 response for GetClubs

type GetClubsResponse429Headers

type GetClubsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetClubsResponse429Headers the declared response headers of an HTTP 429 response for GetClubs

type GetCopyTradingStatusDemoParams

type GetCopyTradingStatusDemoParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetCopyTradingStatusDemoParams defines parameters for GetCopyTradingStatusDemo.

type GetCopyTradingStatusDemoResponse

type GetCopyTradingStatusDemoResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *CopyTradingStatusResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *CopyTradingErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *GatewayErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *GatewayErrorResponse
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *CopyTradingErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *GatewayErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetCopyTradingStatusDemoResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetCopyTradingStatusDemoResponse429Headers
}

func ParseGetCopyTradingStatusDemoResponse

func ParseGetCopyTradingStatusDemoResponse(rsp *http.Response) (*GetCopyTradingStatusDemoResponse, error)

ParseGetCopyTradingStatusDemoResponse parses an HTTP response from a GetCopyTradingStatusDemoWithResponse call

func (GetCopyTradingStatusDemoResponse) ContentType

func (r GetCopyTradingStatusDemoResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetCopyTradingStatusDemoResponse) GetBody

func (r GetCopyTradingStatusDemoResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetCopyTradingStatusDemoResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetCopyTradingStatusDemoResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetCopyTradingStatusDemoResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetCopyTradingStatusDemoResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (GetCopyTradingStatusDemoResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (GetCopyTradingStatusDemoResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (GetCopyTradingStatusDemoResponse) Status

Status returns HTTPResponse.Status

func (GetCopyTradingStatusDemoResponse) StatusCode

func (r GetCopyTradingStatusDemoResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetCopyTradingStatusDemoResponse200Headers

type GetCopyTradingStatusDemoResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetCopyTradingStatusDemoResponse200Headers the declared response headers of an HTTP 200 response for GetCopyTradingStatusDemo

type GetCopyTradingStatusDemoResponse429Headers

type GetCopyTradingStatusDemoResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetCopyTradingStatusDemoResponse429Headers the declared response headers of an HTTP 429 response for GetCopyTradingStatusDemo

type GetCopyTradingStatusParams

type GetCopyTradingStatusParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetCopyTradingStatusParams defines parameters for GetCopyTradingStatus.

type GetCopyTradingStatusResponse

type GetCopyTradingStatusResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *CopyTradingStatusResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *CopyTradingErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *GatewayErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *GatewayErrorResponse
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *CopyTradingErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *GatewayErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetCopyTradingStatusResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetCopyTradingStatusResponse429Headers
}

func ParseGetCopyTradingStatusResponse

func ParseGetCopyTradingStatusResponse(rsp *http.Response) (*GetCopyTradingStatusResponse, error)

ParseGetCopyTradingStatusResponse parses an HTTP response from a GetCopyTradingStatusWithResponse call

func (GetCopyTradingStatusResponse) ContentType

func (r GetCopyTradingStatusResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetCopyTradingStatusResponse) GetBody

func (r GetCopyTradingStatusResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetCopyTradingStatusResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetCopyTradingStatusResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetCopyTradingStatusResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetCopyTradingStatusResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (GetCopyTradingStatusResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (GetCopyTradingStatusResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (GetCopyTradingStatusResponse) Status

Status returns HTTPResponse.Status

func (GetCopyTradingStatusResponse) StatusCode

func (r GetCopyTradingStatusResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetCopyTradingStatusResponse200Headers

type GetCopyTradingStatusResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetCopyTradingStatusResponse200Headers the declared response headers of an HTTP 200 response for GetCopyTradingStatus

type GetCopyTradingStatusResponse429Headers

type GetCopyTradingStatusResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetCopyTradingStatusResponse429Headers the declared response headers of an HTTP 429 response for GetCopyTradingStatus

type GetCostDemoJSONRequestBody

type GetCostDemoJSONRequestBody = TradingDemoAdminApiUnifiedOrderRequest

GetCostDemoJSONRequestBody defines body for GetCostDemo for application/json ContentType.

type GetCostDemoParams

type GetCostDemoParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetCostDemoParams defines parameters for GetCostDemo.

type GetCostDemoResponse

type GetCostDemoResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *GetCostResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetCostDemoResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetCostDemoResponse429Headers
}

func ParseGetCostDemoResponse

func ParseGetCostDemoResponse(rsp *http.Response) (*GetCostDemoResponse, error)

ParseGetCostDemoResponse parses an HTTP response from a GetCostDemoWithResponse call

func (GetCostDemoResponse) ContentType

func (r GetCostDemoResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetCostDemoResponse) GetBody

func (r GetCostDemoResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetCostDemoResponse) GetJSON200

func (r GetCostDemoResponse) GetJSON200() *GetCostResponse

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetCostDemoResponse) GetJSON400

func (r GetCostDemoResponse) GetJSON400() *ProblemDetails

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetCostDemoResponse) GetJSON401

func (r GetCostDemoResponse) GetJSON401() *ProblemDetails

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetCostDemoResponse) Status

func (r GetCostDemoResponse) Status() string

Status returns HTTPResponse.Status

func (GetCostDemoResponse) StatusCode

func (r GetCostDemoResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetCostDemoResponse200Headers

type GetCostDemoResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetCostDemoResponse200Headers the declared response headers of an HTTP 200 response for GetCostDemo

type GetCostDemoResponse429Headers

type GetCostDemoResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetCostDemoResponse429Headers the declared response headers of an HTTP 429 response for GetCostDemo

type GetCostJSONRequestBody

type GetCostJSONRequestBody = TradingRealAdminApiUnifiedOrderRequest

GetCostJSONRequestBody defines body for GetCost for application/json ContentType.

type GetCostParams

type GetCostParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetCostParams defines parameters for GetCost.

type GetCostResponse

type GetCostResponse struct {
	// Costs Cost components that would apply to the proposed order.
	Costs *[]CostBreakdown `json:"costs,omitempty"`

	// InstrumentId Identifier of the instrument the cost breakdown applies to.
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// LastUpdated Timestamp (ISO 8601) at which the cost figures were generated.
	LastUpdated *time.Time `json:"lastUpdated,omitempty"`

	// Symbol Symbol of the instrument
	Symbol *string `json:"symbol,omitempty"`
}

GetCostResponse Cost breakdown for a hypothetical open or close order.

type GetCostResponse2

type GetCostResponse2 struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *GetCostResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetCostResponse2200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetCostResponse2429Headers
}

func ParseGetCostResponse2

func ParseGetCostResponse2(rsp *http.Response) (*GetCostResponse2, error)

ParseGetCostResponse2 parses an HTTP response from a GetCostWithResponse call

func (GetCostResponse2) ContentType

func (r GetCostResponse2) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetCostResponse2) GetBody

func (r GetCostResponse2) GetBody() []byte

GetBody returns the raw response body bytes

func (GetCostResponse2) GetJSON200

func (r GetCostResponse2) GetJSON200() *GetCostResponse

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetCostResponse2) GetJSON400

func (r GetCostResponse2) GetJSON400() *ProblemDetails

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetCostResponse2) GetJSON401

func (r GetCostResponse2) GetJSON401() *ProblemDetails

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetCostResponse2) Status

func (r GetCostResponse2) Status() string

Status returns HTTPResponse.Status

func (GetCostResponse2) StatusCode

func (r GetCostResponse2) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetCostResponse2200Headers

type GetCostResponse2200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetCostResponse2200Headers the declared response headers of an HTTP 200 response for GetCost

type GetCostResponse2429Headers

type GetCostResponse2429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetCostResponse2429Headers the declared response headers of an HTTP 429 response for GetCost

type GetCuratedListsParams

type GetCuratedListsParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetCuratedListsParams defines parameters for GetCuratedLists.

type GetCuratedListsResponse

type GetCuratedListsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *CuratedListsResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetCuratedListsResponse200Headers
	// Headers204 the parsed response headers for an HTTP 204 response
	Headers204 *GetCuratedListsResponse204Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetCuratedListsResponse429Headers
}

func ParseGetCuratedListsResponse

func ParseGetCuratedListsResponse(rsp *http.Response) (*GetCuratedListsResponse, error)

ParseGetCuratedListsResponse parses an HTTP response from a GetCuratedListsWithResponse call

func (GetCuratedListsResponse) ContentType

func (r GetCuratedListsResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetCuratedListsResponse) GetBody

func (r GetCuratedListsResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetCuratedListsResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetCuratedListsResponse) Status

func (r GetCuratedListsResponse) Status() string

Status returns HTTPResponse.Status

func (GetCuratedListsResponse) StatusCode

func (r GetCuratedListsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetCuratedListsResponse200Headers

type GetCuratedListsResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetCuratedListsResponse200Headers the declared response headers of an HTTP 200 response for GetCuratedLists

type GetCuratedListsResponse204Headers

type GetCuratedListsResponse204Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetCuratedListsResponse204Headers the declared response headers of an HTTP 204 response for GetCuratedLists

type GetCuratedListsResponse429Headers

type GetCuratedListsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetCuratedListsResponse429Headers the declared response headers of an HTTP 429 response for GetCuratedLists

type GetExposureHistoryParams

type GetExposureHistoryParams struct {
	// Period Predefined rolling window. Mutually exclusive with minDate/maxDate.
	Period *StatsExposureApiRankingPeriod `form:"period,omitempty" json:"period,omitempty"`

	// MinDate Start date inclusive (ISO 8601 date, YYYY-MM-DD). Mutually exclusive with period. Required together with maxDate when period is omitted.
	MinDate *openapi_types.Date `form:"minDate,omitempty" json:"minDate,omitempty"`

	// MaxDate End date inclusive (ISO 8601 date, YYYY-MM-DD). Mutually exclusive with period. Required together with minDate when period is omitted.
	MaxDate *openapi_types.Date `form:"maxDate,omitempty" json:"maxDate,omitempty"`

	// Count Downsample time axis to at most N buckets. Omit or pass 0 for no downsampling.
	Count *int `form:"count,omitempty" json:"count,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetExposureHistoryParams defines parameters for GetExposureHistory.

type GetExposureHistoryResponse

type GetExposureHistoryResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *ExposureHistoryResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *StatsExposureApiError
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *StatsExposureApiError
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *StatsExposureApiError
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *StatsExposureApiError
	// JSON502 the response for an HTTP 502 `application/json` response
	JSON502 *StatsExposureApiError
	// JSON504 the response for an HTTP 504 `application/json` response
	JSON504 *StatsExposureApiError
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetExposureHistoryResponse200Headers
	// Headers403 the parsed response headers for an HTTP 403 response
	Headers403 *GetExposureHistoryResponse403Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetExposureHistoryResponse429Headers
}

func ParseGetExposureHistoryResponse

func ParseGetExposureHistoryResponse(rsp *http.Response) (*GetExposureHistoryResponse, error)

ParseGetExposureHistoryResponse parses an HTTP response from a GetExposureHistoryWithResponse call

func (GetExposureHistoryResponse) ContentType

func (r GetExposureHistoryResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetExposureHistoryResponse) GetBody

func (r GetExposureHistoryResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetExposureHistoryResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetExposureHistoryResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetExposureHistoryResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetExposureHistoryResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (GetExposureHistoryResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (GetExposureHistoryResponse) GetJSON502

GetJSON502 returns the response for an HTTP 502 `application/json` response

func (GetExposureHistoryResponse) GetJSON504

GetJSON504 returns the response for an HTTP 504 `application/json` response

func (GetExposureHistoryResponse) Status

Status returns HTTPResponse.Status

func (GetExposureHistoryResponse) StatusCode

func (r GetExposureHistoryResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetExposureHistoryResponse200Headers

type GetExposureHistoryResponse200Headers struct {
	CacheControl       *string
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetExposureHistoryResponse200Headers the declared response headers of an HTTP 200 response for GetExposureHistory

type GetExposureHistoryResponse403Headers

type GetExposureHistoryResponse403Headers struct {
	CacheControl *string
}

GetExposureHistoryResponse403Headers the declared response headers of an HTTP 403 response for GetExposureHistory

type GetExposureHistoryResponse429Headers

type GetExposureHistoryResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetExposureHistoryResponse429Headers the declared response headers of an HTTP 429 response for GetExposureHistory

type GetGainHistoryParams

type GetGainHistoryParams struct {
	MinDate *openapi_types.Date `form:"minDate,omitempty" json:"minDate,omitempty"`
	MaxDate *openapi_types.Date `form:"maxDate,omitempty" json:"maxDate,omitempty"`
	Count   *int                `form:"count,omitempty" json:"count,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetGainHistoryParams defines parameters for GetGainHistory.

type GetGainHistoryParamsGranularity

type GetGainHistoryParamsGranularity string

GetGainHistoryParamsGranularity defines parameters for GetGainHistory.

const (
	GetGainHistoryParamsGranularityDaily   GetGainHistoryParamsGranularity = "daily"
	GetGainHistoryParamsGranularityMonthly GetGainHistoryParamsGranularity = "monthly"
	GetGainHistoryParamsGranularityYearly  GetGainHistoryParamsGranularity = "yearly"
)

Defines values for GetGainHistoryParamsGranularity.

func (GetGainHistoryParamsGranularity) Valid

Valid indicates whether the value is a known member of the GetGainHistoryParamsGranularity enum.

type GetGainHistoryResponse

type GetGainHistoryResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *GainHistoryResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *StatsGainApiError
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *StatsGainApiError
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *StatsGainApiError
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *StatsGainApiError
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetGainHistoryResponse200Headers
	// Headers403 the parsed response headers for an HTTP 403 response
	Headers403 *GetGainHistoryResponse403Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetGainHistoryResponse429Headers
}

func ParseGetGainHistoryResponse

func ParseGetGainHistoryResponse(rsp *http.Response) (*GetGainHistoryResponse, error)

ParseGetGainHistoryResponse parses an HTTP response from a GetGainHistoryWithResponse call

func (GetGainHistoryResponse) ContentType

func (r GetGainHistoryResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetGainHistoryResponse) GetBody

func (r GetGainHistoryResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetGainHistoryResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetGainHistoryResponse) GetJSON400

func (r GetGainHistoryResponse) GetJSON400() *StatsGainApiError

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetGainHistoryResponse) GetJSON401

func (r GetGainHistoryResponse) GetJSON401() *StatsGainApiError

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetGainHistoryResponse) GetJSON403

func (r GetGainHistoryResponse) GetJSON403() *StatsGainApiError

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (GetGainHistoryResponse) GetJSON404

func (r GetGainHistoryResponse) GetJSON404() *StatsGainApiError

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (GetGainHistoryResponse) Status

func (r GetGainHistoryResponse) Status() string

Status returns HTTPResponse.Status

func (GetGainHistoryResponse) StatusCode

func (r GetGainHistoryResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetGainHistoryResponse200Headers

type GetGainHistoryResponse200Headers struct {
	CacheControl       *string
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetGainHistoryResponse200Headers the declared response headers of an HTTP 200 response for GetGainHistory

type GetGainHistoryResponse403Headers

type GetGainHistoryResponse403Headers struct {
	CacheControl *string
}

GetGainHistoryResponse403Headers the declared response headers of an HTTP 403 response for GetGainHistory

type GetGainHistoryResponse429Headers

type GetGainHistoryResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetGainHistoryResponse429Headers the declared response headers of an HTTP 429 response for GetGainHistory

type GetHistoricalBalanceByAccountParams

type GetHistoricalBalanceByAccountParams struct {
	// DisplayCurrency ISO 4217 currency code for totals and conversions. Defaults to USD.
	DisplayCurrency *string `form:"displayCurrency,omitempty" json:"displayCurrency,omitempty"`

	// FromDate Start of the date range (inclusive). Format: YYYY-MM-DD (ISO 8601). Defaults to toDate minus 30 days. Must be within the last 12 months. Maximum range with toDate: 365 days.
	FromDate *openapi_types.Date `form:"fromDate,omitempty" json:"fromDate,omitempty"`

	// ToDate End of the date range (inclusive). Format: YYYY-MM-DD (ISO 8601). Defaults to today (UTC). Maximum range with fromDate: 365 days.
	ToDate *openapi_types.Date `form:"toDate,omitempty" json:"toDate,omitempty"`

	// IncludeSubAccounts Whether to also include the user's qualifying sub-accounts in the aggregated history. Their end-of-day snapshots are merged by date with the primary account's and the daily totals are recalculated across all accounts. Only effective when the accountType path segment is trading; ignored for every other account type. Defaults to false.
	IncludeSubAccounts *bool `form:"includeSubAccounts,omitempty" json:"includeSubAccounts,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetHistoricalBalanceByAccountParams defines parameters for GetHistoricalBalanceByAccount.

type GetHistoricalBalanceByAccountResponse

type GetHistoricalBalanceByAccountResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *GetHistoricalBalancesResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *BalancesErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *BalanceAggregatorApiPublicErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *BalanceAggregatorApiPublicErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *BalanceAggregatorApiPublicErrorResponse
	// JSON502 the response for an HTTP 502 `application/json` response
	JSON502 *BalancesErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetHistoricalBalanceByAccountResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetHistoricalBalanceByAccountResponse429Headers
}

func ParseGetHistoricalBalanceByAccountResponse

func ParseGetHistoricalBalanceByAccountResponse(rsp *http.Response) (*GetHistoricalBalanceByAccountResponse, error)

ParseGetHistoricalBalanceByAccountResponse parses an HTTP response from a GetHistoricalBalanceByAccountWithResponse call

func (GetHistoricalBalanceByAccountResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetHistoricalBalanceByAccountResponse) GetBody

GetBody returns the raw response body bytes

func (GetHistoricalBalanceByAccountResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetHistoricalBalanceByAccountResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetHistoricalBalanceByAccountResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetHistoricalBalanceByAccountResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (GetHistoricalBalanceByAccountResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (GetHistoricalBalanceByAccountResponse) GetJSON502

GetJSON502 returns the response for an HTTP 502 `application/json` response

func (GetHistoricalBalanceByAccountResponse) Status

Status returns HTTPResponse.Status

func (GetHistoricalBalanceByAccountResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetHistoricalBalanceByAccountResponse200Headers

type GetHistoricalBalanceByAccountResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetHistoricalBalanceByAccountResponse200Headers the declared response headers of an HTTP 200 response for GetHistoricalBalanceByAccount

type GetHistoricalBalanceByAccountResponse429Headers

type GetHistoricalBalanceByAccountResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetHistoricalBalanceByAccountResponse429Headers the declared response headers of an HTTP 429 response for GetHistoricalBalanceByAccount

type GetHistoricalBalancesByAccountTypeParams

type GetHistoricalBalancesByAccountTypeParams struct {
	// DisplayCurrency ISO 4217 currency code for totals and conversions. Defaults to USD.
	DisplayCurrency *string `form:"displayCurrency,omitempty" json:"displayCurrency,omitempty"`

	// FromDate Start of the date range (inclusive). Format: YYYY-MM-DD (ISO 8601). Defaults to toDate minus 30 days. Must be within the last 12 months. Maximum range with toDate: 365 days.
	FromDate *openapi_types.Date `form:"fromDate,omitempty" json:"fromDate,omitempty"`

	// ToDate End of the date range (inclusive). Format: YYYY-MM-DD (ISO 8601). Defaults to today (UTC). Maximum range with fromDate: 365 days.
	ToDate *openapi_types.Date `form:"toDate,omitempty" json:"toDate,omitempty"`

	// AccountIds Optional comma-separated list of account IDs to include.
	AccountIds *string `form:"accountIds,omitempty" json:"accountIds,omitempty"`

	// IncludeSubAccounts Whether to also include the user's qualifying sub-accounts in the aggregated history. Their end-of-day snapshots are merged by date with the primary account's and the daily totals are recalculated across all accounts. Only effective when the accountType path segment is trading; ignored for every other account type. Defaults to false.
	IncludeSubAccounts *bool `form:"includeSubAccounts,omitempty" json:"includeSubAccounts,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetHistoricalBalancesByAccountTypeParams defines parameters for GetHistoricalBalancesByAccountType.

type GetHistoricalBalancesByAccountTypeResponse

type GetHistoricalBalancesByAccountTypeResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *GetHistoricalBalancesResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *BalancesErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *BalanceAggregatorApiPublicErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *BalanceAggregatorApiPublicErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *BalanceAggregatorApiPublicErrorResponse
	// JSON502 the response for an HTTP 502 `application/json` response
	JSON502 *BalancesErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetHistoricalBalancesByAccountTypeResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetHistoricalBalancesByAccountTypeResponse429Headers
}

func ParseGetHistoricalBalancesByAccountTypeResponse

func ParseGetHistoricalBalancesByAccountTypeResponse(rsp *http.Response) (*GetHistoricalBalancesByAccountTypeResponse, error)

ParseGetHistoricalBalancesByAccountTypeResponse parses an HTTP response from a GetHistoricalBalancesByAccountTypeWithResponse call

func (GetHistoricalBalancesByAccountTypeResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetHistoricalBalancesByAccountTypeResponse) GetBody

GetBody returns the raw response body bytes

func (GetHistoricalBalancesByAccountTypeResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetHistoricalBalancesByAccountTypeResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetHistoricalBalancesByAccountTypeResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetHistoricalBalancesByAccountTypeResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (GetHistoricalBalancesByAccountTypeResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (GetHistoricalBalancesByAccountTypeResponse) GetJSON502

GetJSON502 returns the response for an HTTP 502 `application/json` response

func (GetHistoricalBalancesByAccountTypeResponse) Status

Status returns HTTPResponse.Status

func (GetHistoricalBalancesByAccountTypeResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetHistoricalBalancesByAccountTypeResponse200Headers

type GetHistoricalBalancesByAccountTypeResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetHistoricalBalancesByAccountTypeResponse200Headers the declared response headers of an HTTP 200 response for GetHistoricalBalancesByAccountType

type GetHistoricalBalancesByAccountTypeResponse429Headers

type GetHistoricalBalancesByAccountTypeResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetHistoricalBalancesByAccountTypeResponse429Headers the declared response headers of an HTTP 429 response for GetHistoricalBalancesByAccountType

type GetHistoricalBalancesParams

type GetHistoricalBalancesParams struct {
	// DisplayCurrency ISO 4217 currency code for totals and conversions. Defaults to USD.
	DisplayCurrency *string `form:"displayCurrency,omitempty" json:"displayCurrency,omitempty"`

	// FromDate Start of the date range (inclusive). Format: YYYY-MM-DD (ISO 8601). Defaults to toDate minus 30 days. Must be within the last 12 months. Maximum range with toDate: 365 days.
	FromDate *openapi_types.Date `form:"fromDate,omitempty" json:"fromDate,omitempty"`

	// ToDate End of the date range (inclusive). Format: YYYY-MM-DD (ISO 8601). Defaults to today (UTC). Maximum range with fromDate: 365 days.
	ToDate *openapi_types.Date `form:"toDate,omitempty" json:"toDate,omitempty"`

	// AccountTypes Optional comma-separated list of account types to include. Valid values: Trading, Cash, Options, Crypto, MoneyFarm, Spaceship, Plaee (case-insensitive). Plaee accounts have no end-of-day history yet: filtering by Plaee returns snapshots whose accountSnapshots are empty. Unrecognised values are silently ignored rather than rejected: if none of the supplied values are recognised the filter is dropped and all account types are returned, so verify the accountType values in the response rather than assuming the filter applied.
	AccountTypes *string `form:"accountTypes,omitempty" json:"accountTypes,omitempty"`

	// IncludeSubAccounts Whether to also include the user's qualifying sub-accounts in the aggregated history. Their end-of-day snapshots are merged by date with the primary account's and the daily totals are recalculated across all accounts. Only effective when Trading is in scope. Defaults to false.
	IncludeSubAccounts *bool `form:"includeSubAccounts,omitempty" json:"includeSubAccounts,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetHistoricalBalancesParams defines parameters for GetHistoricalBalances.

type GetHistoricalBalancesResponse

type GetHistoricalBalancesResponse struct {
	// DisplayCurrency ISO 4217 currency code used for display values.
	DisplayCurrency *string `json:"displayCurrency,omitempty"`

	// FromDate Start of the returned date range (inclusive, ISO 8601).
	FromDate *openapi_types.Date `json:"fromDate,omitempty"`

	// Gcid The user's global customer ID.
	Gcid *int64 `json:"gcid,omitempty"`

	// Snapshots End-of-day balance snapshots, one entry per day in the requested range.
	Snapshots *[]HistoricalDailySnapshotData `json:"snapshots,omitempty"`

	// ToDate End of the returned date range (inclusive, ISO 8601).
	ToDate *openapi_types.Date `json:"toDate,omitempty"`
}

GetHistoricalBalancesResponse Historical end-of-day balance snapshots for the authenticated user.

type GetHistoricalBalancesResponse2

type GetHistoricalBalancesResponse2 struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *GetHistoricalBalancesResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *BalancesErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *BalanceAggregatorApiPublicErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *BalanceAggregatorApiPublicErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *BalanceAggregatorApiPublicErrorResponse
	// JSON502 the response for an HTTP 502 `application/json` response
	JSON502 *BalancesErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetHistoricalBalancesResponse2200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetHistoricalBalancesResponse2429Headers
}

func ParseGetHistoricalBalancesResponse2

func ParseGetHistoricalBalancesResponse2(rsp *http.Response) (*GetHistoricalBalancesResponse2, error)

ParseGetHistoricalBalancesResponse2 parses an HTTP response from a GetHistoricalBalancesWithResponse call

func (GetHistoricalBalancesResponse2) ContentType

func (r GetHistoricalBalancesResponse2) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetHistoricalBalancesResponse2) GetBody

func (r GetHistoricalBalancesResponse2) GetBody() []byte

GetBody returns the raw response body bytes

func (GetHistoricalBalancesResponse2) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetHistoricalBalancesResponse2) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetHistoricalBalancesResponse2) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetHistoricalBalancesResponse2) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (GetHistoricalBalancesResponse2) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (GetHistoricalBalancesResponse2) GetJSON502

GetJSON502 returns the response for an HTTP 502 `application/json` response

func (GetHistoricalBalancesResponse2) Status

Status returns HTTPResponse.Status

func (GetHistoricalBalancesResponse2) StatusCode

func (r GetHistoricalBalancesResponse2) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetHistoricalBalancesResponse2200Headers

type GetHistoricalBalancesResponse2200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetHistoricalBalancesResponse2200Headers the declared response headers of an HTTP 200 response for GetHistoricalBalances

type GetHistoricalBalancesResponse2429Headers

type GetHistoricalBalancesResponse2429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetHistoricalBalancesResponse2429Headers the declared response headers of an HTTP 429 response for GetHistoricalBalances

type GetImpressionsTopassetsUserByGcidParams

type GetImpressionsTopassetsUserByGcidParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetImpressionsTopassetsUserByGcidParams defines parameters for GetImpressionsTopassetsUserByGcid.

type GetImpressionsTopassetsUserByGcidResponse

type GetImpressionsTopassetsUserByGcidResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *[]AssetScore
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetImpressionsTopassetsUserByGcidResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetImpressionsTopassetsUserByGcidResponse429Headers
}

func ParseGetImpressionsTopassetsUserByGcidResponse

func ParseGetImpressionsTopassetsUserByGcidResponse(rsp *http.Response) (*GetImpressionsTopassetsUserByGcidResponse, error)

ParseGetImpressionsTopassetsUserByGcidResponse parses an HTTP response from a GetImpressionsTopassetsUserByGcidWithResponse call

func (GetImpressionsTopassetsUserByGcidResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetImpressionsTopassetsUserByGcidResponse) GetBody

GetBody returns the raw response body bytes

func (GetImpressionsTopassetsUserByGcidResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetImpressionsTopassetsUserByGcidResponse) Status

Status returns HTTPResponse.Status

func (GetImpressionsTopassetsUserByGcidResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetImpressionsTopassetsUserByGcidResponse200Headers

type GetImpressionsTopassetsUserByGcidResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetImpressionsTopassetsUserByGcidResponse200Headers the declared response headers of an HTTP 200 response for GetImpressionsTopassetsUserByGcid

type GetImpressionsTopassetsUserByGcidResponse429Headers

type GetImpressionsTopassetsUserByGcidResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetImpressionsTopassetsUserByGcidResponse429Headers the declared response headers of an HTTP 429 response for GetImpressionsTopassetsUserByGcid

type GetInstrumentEligibilityDemoJSONRequestBody

type GetInstrumentEligibilityDemoJSONRequestBody = InstrumentEligibilityRequest

GetInstrumentEligibilityDemoJSONRequestBody defines body for GetInstrumentEligibilityDemo for application/json ContentType.

type GetInstrumentEligibilityDemoParams

type GetInstrumentEligibilityDemoParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetInstrumentEligibilityDemoParams defines parameters for GetInstrumentEligibilityDemo.

type GetInstrumentEligibilityDemoResponse

type GetInstrumentEligibilityDemoResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *InstrumentEligibilityResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetInstrumentEligibilityDemoResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetInstrumentEligibilityDemoResponse429Headers
}

func ParseGetInstrumentEligibilityDemoResponse

func ParseGetInstrumentEligibilityDemoResponse(rsp *http.Response) (*GetInstrumentEligibilityDemoResponse, error)

ParseGetInstrumentEligibilityDemoResponse parses an HTTP response from a GetInstrumentEligibilityDemoWithResponse call

func (GetInstrumentEligibilityDemoResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetInstrumentEligibilityDemoResponse) GetBody

GetBody returns the raw response body bytes

func (GetInstrumentEligibilityDemoResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetInstrumentEligibilityDemoResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetInstrumentEligibilityDemoResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetInstrumentEligibilityDemoResponse) Status

Status returns HTTPResponse.Status

func (GetInstrumentEligibilityDemoResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetInstrumentEligibilityDemoResponse200Headers

type GetInstrumentEligibilityDemoResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetInstrumentEligibilityDemoResponse200Headers the declared response headers of an HTTP 200 response for GetInstrumentEligibilityDemo

type GetInstrumentEligibilityDemoResponse429Headers

type GetInstrumentEligibilityDemoResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetInstrumentEligibilityDemoResponse429Headers the declared response headers of an HTTP 429 response for GetInstrumentEligibilityDemo

type GetInstrumentEligibilityJSONRequestBody

type GetInstrumentEligibilityJSONRequestBody = InstrumentEligibilityRequest

GetInstrumentEligibilityJSONRequestBody defines body for GetInstrumentEligibility for application/json ContentType.

type GetInstrumentEligibilityParams

type GetInstrumentEligibilityParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetInstrumentEligibilityParams defines parameters for GetInstrumentEligibility.

type GetInstrumentEligibilityResponse

type GetInstrumentEligibilityResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *InstrumentEligibilityResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetInstrumentEligibilityResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetInstrumentEligibilityResponse429Headers
}

func ParseGetInstrumentEligibilityResponse

func ParseGetInstrumentEligibilityResponse(rsp *http.Response) (*GetInstrumentEligibilityResponse, error)

ParseGetInstrumentEligibilityResponse parses an HTTP response from a GetInstrumentEligibilityWithResponse call

func (GetInstrumentEligibilityResponse) ContentType

func (r GetInstrumentEligibilityResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetInstrumentEligibilityResponse) GetBody

func (r GetInstrumentEligibilityResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetInstrumentEligibilityResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetInstrumentEligibilityResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetInstrumentEligibilityResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetInstrumentEligibilityResponse) Status

Status returns HTTPResponse.Status

func (GetInstrumentEligibilityResponse) StatusCode

func (r GetInstrumentEligibilityResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetInstrumentEligibilityResponse200Headers

type GetInstrumentEligibilityResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetInstrumentEligibilityResponse200Headers the declared response headers of an HTTP 200 response for GetInstrumentEligibility

type GetInstrumentEligibilityResponse429Headers

type GetInstrumentEligibilityResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetInstrumentEligibilityResponse429Headers the declared response headers of an HTTP 429 response for GetInstrumentEligibility

type GetInstrumentsSearchParams

type GetInstrumentsSearchParams struct {
	// Query Free-text query to match instruments by name or symbol (1-100 chars).
	Query string `form:"query" json:"query"`

	// Limit Maximum number of results (1-50, default 10).
	Limit *int `form:"limit,omitempty" json:"limit,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetInstrumentsSearchParams defines parameters for GetInstrumentsSearch.

type GetInstrumentsSearchResponse

type GetInstrumentsSearchResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *SearchInstrumentsResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ApiErrorEnvelope
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *GatewayErrorEnvelope
	// JSON422 the response for an HTTP 422 `application/json` response
	JSON422 *GatewayErrorEnvelope
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *ApiErrorEnvelope
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetInstrumentsSearchResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetInstrumentsSearchResponse429Headers
}

func ParseGetInstrumentsSearchResponse

func ParseGetInstrumentsSearchResponse(rsp *http.Response) (*GetInstrumentsSearchResponse, error)

ParseGetInstrumentsSearchResponse parses an HTTP response from a GetInstrumentsSearchWithResponse call

func (GetInstrumentsSearchResponse) ContentType

func (r GetInstrumentsSearchResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetInstrumentsSearchResponse) GetBody

func (r GetInstrumentsSearchResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetInstrumentsSearchResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetInstrumentsSearchResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetInstrumentsSearchResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetInstrumentsSearchResponse) GetJSON422

GetJSON422 returns the response for an HTTP 422 `application/json` response

func (GetInstrumentsSearchResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (GetInstrumentsSearchResponse) Status

Status returns HTTPResponse.Status

func (GetInstrumentsSearchResponse) StatusCode

func (r GetInstrumentsSearchResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetInstrumentsSearchResponse200Headers

type GetInstrumentsSearchResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetInstrumentsSearchResponse200Headers the declared response headers of an HTTP 200 response for GetInstrumentsSearch

type GetInstrumentsSearchResponse429Headers

type GetInstrumentsSearchResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetInstrumentsSearchResponse429Headers the declared response headers of an HTTP 429 response for GetInstrumentsSearch

type GetKeydataByApplicationParams

type GetKeydataByApplicationParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetKeydataByApplicationParams defines parameters for GetKeydataByApplication.

type GetKeydataByApplicationResponse

type GetKeydataByApplicationResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *BetaTestKeydataResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetKeydataByApplicationResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetKeydataByApplicationResponse429Headers
}

func ParseGetKeydataByApplicationResponse

func ParseGetKeydataByApplicationResponse(rsp *http.Response) (*GetKeydataByApplicationResponse, error)

ParseGetKeydataByApplicationResponse parses an HTTP response from a GetKeydataByApplicationWithResponse call

func (GetKeydataByApplicationResponse) ContentType

func (r GetKeydataByApplicationResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetKeydataByApplicationResponse) GetBody

func (r GetKeydataByApplicationResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetKeydataByApplicationResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetKeydataByApplicationResponse) Status

Status returns HTTPResponse.Status

func (GetKeydataByApplicationResponse) StatusCode

func (r GetKeydataByApplicationResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetKeydataByApplicationResponse200Headers

type GetKeydataByApplicationResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetKeydataByApplicationResponse200Headers the declared response headers of an HTTP 200 response for GetKeydataByApplication

type GetKeydataByApplicationResponse429Headers

type GetKeydataByApplicationResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetKeydataByApplicationResponse429Headers the declared response headers of an HTTP 429 response for GetKeydataByApplication

type GetMarketDataExchangesParams

type GetMarketDataExchangesParams struct {
	// ExchangeIds A comma seperated list of exchange ids to retrieve
	ExchangeIds *[]int32 `form:"exchangeIds,omitempty" json:"exchangeIds,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetMarketDataExchangesParams defines parameters for GetMarketDataExchanges.

type GetMarketDataExchangesResponse

type GetMarketDataExchangesResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *ExchangesResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetMarketDataExchangesResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetMarketDataExchangesResponse429Headers
}

func ParseGetMarketDataExchangesResponse

func ParseGetMarketDataExchangesResponse(rsp *http.Response) (*GetMarketDataExchangesResponse, error)

ParseGetMarketDataExchangesResponse parses an HTTP response from a GetMarketDataExchangesWithResponse call

func (GetMarketDataExchangesResponse) ContentType

func (r GetMarketDataExchangesResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetMarketDataExchangesResponse) GetBody

func (r GetMarketDataExchangesResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetMarketDataExchangesResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetMarketDataExchangesResponse) Status

Status returns HTTPResponse.Status

func (GetMarketDataExchangesResponse) StatusCode

func (r GetMarketDataExchangesResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetMarketDataExchangesResponse200Headers

type GetMarketDataExchangesResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetMarketDataExchangesResponse200Headers the declared response headers of an HTTP 200 response for GetMarketDataExchanges

type GetMarketDataExchangesResponse429Headers

type GetMarketDataExchangesResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetMarketDataExchangesResponse429Headers the declared response headers of an HTTP 429 response for GetMarketDataExchanges

type GetMarketDataInstrumentTypesParams

type GetMarketDataInstrumentTypesParams struct {
	// InstrumentTypeIds A comma seperated list of instrument type ids to retrieve
	InstrumentTypeIds *[]int32 `form:"instrumentTypeIds,omitempty" json:"instrumentTypeIds,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetMarketDataInstrumentTypesParams defines parameters for GetMarketDataInstrumentTypes.

type GetMarketDataInstrumentTypesResponse

type GetMarketDataInstrumentTypesResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *InstrumentTypesResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetMarketDataInstrumentTypesResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetMarketDataInstrumentTypesResponse429Headers
}

func ParseGetMarketDataInstrumentTypesResponse

func ParseGetMarketDataInstrumentTypesResponse(rsp *http.Response) (*GetMarketDataInstrumentTypesResponse, error)

ParseGetMarketDataInstrumentTypesResponse parses an HTTP response from a GetMarketDataInstrumentTypesWithResponse call

func (GetMarketDataInstrumentTypesResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetMarketDataInstrumentTypesResponse) GetBody

GetBody returns the raw response body bytes

func (GetMarketDataInstrumentTypesResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetMarketDataInstrumentTypesResponse) Status

Status returns HTTPResponse.Status

func (GetMarketDataInstrumentTypesResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetMarketDataInstrumentTypesResponse200Headers

type GetMarketDataInstrumentTypesResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetMarketDataInstrumentTypesResponse200Headers the declared response headers of an HTTP 200 response for GetMarketDataInstrumentTypes

type GetMarketDataInstrumentTypesResponse429Headers

type GetMarketDataInstrumentTypesResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetMarketDataInstrumentTypesResponse429Headers the declared response headers of an HTTP 429 response for GetMarketDataInstrumentTypes

type GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParams

type GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParams defines parameters for GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCount.

type GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsDirection

type GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsDirection string

GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsDirection defines parameters for GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCount.

const (
	GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsDirectionAsc  GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsDirection = "asc"
	GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsDirectionDesc GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsDirection = "desc"
)

Defines values for GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsDirection.

func (GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsDirection) Valid

Valid indicates whether the value is a known member of the GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsDirection enum.

type GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsInterval

type GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsInterval string

GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsInterval defines parameters for GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCount.

const (
	GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsIntervalFifteenMinutes GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsInterval = "FifteenMinutes"
	GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsIntervalFiveMinutes    GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsInterval = "FiveMinutes"
	GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsIntervalFourHours      GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsInterval = "FourHours"
	GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsIntervalOneDay         GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsInterval = "OneDay"
	GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsIntervalOneHour        GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsInterval = "OneHour"
	GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsIntervalOneMinute      GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsInterval = "OneMinute"
	GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsIntervalOneWeek        GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsInterval = "OneWeek"
	GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsIntervalTenMinutes     GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsInterval = "TenMinutes"
	GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsIntervalThirtyMinutes  GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsInterval = "ThirtyMinutes"
)

Defines values for GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsInterval.

func (GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsInterval) Valid

Valid indicates whether the value is a known member of the GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountParamsInterval enum.

type GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse

type GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *CandlesResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse429Headers
}

func ParseGetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse

func ParseGetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse(rsp *http.Response) (*GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse, error)

ParseGetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse parses an HTTP response from a GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountWithResponse call

func (GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse) GetBody

GetBody returns the raw response body bytes

func (GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse) Status

Status returns HTTPResponse.Status

func (GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse200Headers

type GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse200Headers the declared response headers of an HTTP 200 response for GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCount

type GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse429Headers

type GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCountResponse429Headers the declared response headers of an HTTP 429 response for GetMarketDataInstrumentsByInstrumentIdHistoryCandlesByDirectionByIntervalByCandlesCount

type GetMarketDataInstrumentsHistoryClosingPriceParams

type GetMarketDataInstrumentsHistoryClosingPriceParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetMarketDataInstrumentsHistoryClosingPriceParams defines parameters for GetMarketDataInstrumentsHistoryClosingPrice.

type GetMarketDataInstrumentsHistoryClosingPriceResponse

type GetMarketDataInstrumentsHistoryClosingPriceResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *ClosingPricesResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetMarketDataInstrumentsHistoryClosingPriceResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetMarketDataInstrumentsHistoryClosingPriceResponse429Headers
}

func ParseGetMarketDataInstrumentsHistoryClosingPriceResponse

func ParseGetMarketDataInstrumentsHistoryClosingPriceResponse(rsp *http.Response) (*GetMarketDataInstrumentsHistoryClosingPriceResponse, error)

ParseGetMarketDataInstrumentsHistoryClosingPriceResponse parses an HTTP response from a GetMarketDataInstrumentsHistoryClosingPriceWithResponse call

func (GetMarketDataInstrumentsHistoryClosingPriceResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetMarketDataInstrumentsHistoryClosingPriceResponse) GetBody

GetBody returns the raw response body bytes

func (GetMarketDataInstrumentsHistoryClosingPriceResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetMarketDataInstrumentsHistoryClosingPriceResponse) Status

Status returns HTTPResponse.Status

func (GetMarketDataInstrumentsHistoryClosingPriceResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetMarketDataInstrumentsHistoryClosingPriceResponse200Headers

type GetMarketDataInstrumentsHistoryClosingPriceResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetMarketDataInstrumentsHistoryClosingPriceResponse200Headers the declared response headers of an HTTP 200 response for GetMarketDataInstrumentsHistoryClosingPrice

type GetMarketDataInstrumentsHistoryClosingPriceResponse429Headers

type GetMarketDataInstrumentsHistoryClosingPriceResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetMarketDataInstrumentsHistoryClosingPriceResponse429Headers the declared response headers of an HTTP 429 response for GetMarketDataInstrumentsHistoryClosingPrice

type GetMarketDataInstrumentsParams

type GetMarketDataInstrumentsParams struct {
	// InstrumentIds A comma seperated list of instrument ids to filter on
	InstrumentIds *[]int32 `form:"instrumentIds,omitempty" json:"instrumentIds,omitempty"`

	// ExchangeIds A comma seperated list of exchange ids to filter on
	ExchangeIds *[]int32 `form:"exchangeIds,omitempty" json:"exchangeIds,omitempty"`

	// StocksIndustryIds A comma seperated list of stock industry ids to filter on
	StocksIndustryIds *[]int32 `form:"stocksIndustryIds,omitempty" json:"stocksIndustryIds,omitempty"`

	// InstrumentTypeIds A comma seperated list of instrument type ids to filter on
	InstrumentTypeIds *[]int32 `form:"instrumentTypeIds,omitempty" json:"instrumentTypeIds,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetMarketDataInstrumentsParams defines parameters for GetMarketDataInstruments.

type GetMarketDataInstrumentsRatesParams

type GetMarketDataInstrumentsRatesParams struct {
	// InstrumentIds Comma-separated list of instrument IDs to retrieve market rates for. Each ID represents a unique tradable asset in the system.
	InstrumentIds []int32 `form:"instrumentIds" json:"instrumentIds"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetMarketDataInstrumentsRatesParams defines parameters for GetMarketDataInstrumentsRates.

type GetMarketDataInstrumentsRatesResponse

type GetMarketDataInstrumentsRatesResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *LiveRatesResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetMarketDataInstrumentsRatesResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetMarketDataInstrumentsRatesResponse429Headers
}

func ParseGetMarketDataInstrumentsRatesResponse

func ParseGetMarketDataInstrumentsRatesResponse(rsp *http.Response) (*GetMarketDataInstrumentsRatesResponse, error)

ParseGetMarketDataInstrumentsRatesResponse parses an HTTP response from a GetMarketDataInstrumentsRatesWithResponse call

func (GetMarketDataInstrumentsRatesResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetMarketDataInstrumentsRatesResponse) GetBody

GetBody returns the raw response body bytes

func (GetMarketDataInstrumentsRatesResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetMarketDataInstrumentsRatesResponse) Status

Status returns HTTPResponse.Status

func (GetMarketDataInstrumentsRatesResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetMarketDataInstrumentsRatesResponse200Headers

type GetMarketDataInstrumentsRatesResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetMarketDataInstrumentsRatesResponse200Headers the declared response headers of an HTTP 200 response for GetMarketDataInstrumentsRates

type GetMarketDataInstrumentsRatesResponse429Headers

type GetMarketDataInstrumentsRatesResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetMarketDataInstrumentsRatesResponse429Headers the declared response headers of an HTTP 429 response for GetMarketDataInstrumentsRates

type GetMarketDataInstrumentsResponse

type GetMarketDataInstrumentsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *InstrumentsResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetMarketDataInstrumentsResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetMarketDataInstrumentsResponse429Headers
}

func ParseGetMarketDataInstrumentsResponse

func ParseGetMarketDataInstrumentsResponse(rsp *http.Response) (*GetMarketDataInstrumentsResponse, error)

ParseGetMarketDataInstrumentsResponse parses an HTTP response from a GetMarketDataInstrumentsWithResponse call

func (GetMarketDataInstrumentsResponse) ContentType

func (r GetMarketDataInstrumentsResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetMarketDataInstrumentsResponse) GetBody

func (r GetMarketDataInstrumentsResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetMarketDataInstrumentsResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetMarketDataInstrumentsResponse) Status

Status returns HTTPResponse.Status

func (GetMarketDataInstrumentsResponse) StatusCode

func (r GetMarketDataInstrumentsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetMarketDataInstrumentsResponse200Headers

type GetMarketDataInstrumentsResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetMarketDataInstrumentsResponse200Headers the declared response headers of an HTTP 200 response for GetMarketDataInstruments

type GetMarketDataInstrumentsResponse429Headers

type GetMarketDataInstrumentsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetMarketDataInstrumentsResponse429Headers the declared response headers of an HTTP 429 response for GetMarketDataInstruments

type GetMarketDataSearchParams

type GetMarketDataSearchParams struct {
	// PageSize The number of results to return per page.
	PageSize *int `form:"pageSize,omitempty" json:"pageSize,omitempty"`

	// PageNumber The page number to retrieve for pagination.
	PageNumber *int `form:"pageNumber,omitempty" json:"pageNumber,omitempty"`

	// Fields A comma-separated list of fields to include in the response. Example: pop=popularityUniques7Day,displayname
	Fields string `form:"fields" json:"fields"`

	// Sort The field to sort by. Ascending is the default; prefix the field with `-` for descending. Sort on several fields with a comma-separated list, applied left to right (e.g. `-dailyPriceChange,weeklyPriceChange`). There is no `asc`/`desc` keyword and no space in this value - `popularityUniques7Day desc` is rejected. Not every field in the Instrument schema is sortable: unlike a filter, an unsortable or unknown sort field fails the whole request rather than being ignored.
	Sort *string `form:"sort,omitempty" json:"sort,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetMarketDataSearchParams defines parameters for GetMarketDataSearch.

type GetMarketDataSearchResponse

type GetMarketDataSearchResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *InstrumentSearchResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetMarketDataSearchResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetMarketDataSearchResponse429Headers
}

func ParseGetMarketDataSearchResponse

func ParseGetMarketDataSearchResponse(rsp *http.Response) (*GetMarketDataSearchResponse, error)

ParseGetMarketDataSearchResponse parses an HTTP response from a GetMarketDataSearchWithResponse call

func (GetMarketDataSearchResponse) ContentType

func (r GetMarketDataSearchResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetMarketDataSearchResponse) GetBody

func (r GetMarketDataSearchResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetMarketDataSearchResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetMarketDataSearchResponse) Status

Status returns HTTPResponse.Status

func (GetMarketDataSearchResponse) StatusCode

func (r GetMarketDataSearchResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetMarketDataSearchResponse200Headers

type GetMarketDataSearchResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetMarketDataSearchResponse200Headers the declared response headers of an HTTP 200 response for GetMarketDataSearch

type GetMarketDataSearchResponse429Headers

type GetMarketDataSearchResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetMarketDataSearchResponse429Headers the declared response headers of an HTTP 429 response for GetMarketDataSearch

type GetMarketDataStocksIndustriesParams

type GetMarketDataStocksIndustriesParams struct {
	// StocksIndustryIds A comma seperated list of stock industry ids to retrieves
	StocksIndustryIds *[]int32 `form:"stocksIndustryIds,omitempty" json:"stocksIndustryIds,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetMarketDataStocksIndustriesParams defines parameters for GetMarketDataStocksIndustries.

type GetMarketDataStocksIndustriesResponse

type GetMarketDataStocksIndustriesResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *StocksIndustriesResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetMarketDataStocksIndustriesResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetMarketDataStocksIndustriesResponse429Headers
}

func ParseGetMarketDataStocksIndustriesResponse

func ParseGetMarketDataStocksIndustriesResponse(rsp *http.Response) (*GetMarketDataStocksIndustriesResponse, error)

ParseGetMarketDataStocksIndustriesResponse parses an HTTP response from a GetMarketDataStocksIndustriesWithResponse call

func (GetMarketDataStocksIndustriesResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetMarketDataStocksIndustriesResponse) GetBody

GetBody returns the raw response body bytes

func (GetMarketDataStocksIndustriesResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetMarketDataStocksIndustriesResponse) Status

Status returns HTTPResponse.Status

func (GetMarketDataStocksIndustriesResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetMarketDataStocksIndustriesResponse200Headers

type GetMarketDataStocksIndustriesResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetMarketDataStocksIndustriesResponse200Headers the declared response headers of an HTTP 200 response for GetMarketDataStocksIndustries

type GetMarketDataStocksIndustriesResponse429Headers

type GetMarketDataStocksIndustriesResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetMarketDataStocksIndustriesResponse429Headers the declared response headers of an HTTP 429 response for GetMarketDataStocksIndustries

type GetMarketRecommendationsByItemsCountParams

type GetMarketRecommendationsByItemsCountParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetMarketRecommendationsByItemsCountParams defines parameters for GetMarketRecommendationsByItemsCount.

type GetMarketRecommendationsByItemsCountResponse

type GetMarketRecommendationsByItemsCountResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *MarketRecommendationsResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetMarketRecommendationsByItemsCountResponse200Headers
	// Headers204 the parsed response headers for an HTTP 204 response
	Headers204 *GetMarketRecommendationsByItemsCountResponse204Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetMarketRecommendationsByItemsCountResponse429Headers
}

func ParseGetMarketRecommendationsByItemsCountResponse

func ParseGetMarketRecommendationsByItemsCountResponse(rsp *http.Response) (*GetMarketRecommendationsByItemsCountResponse, error)

ParseGetMarketRecommendationsByItemsCountResponse parses an HTTP response from a GetMarketRecommendationsByItemsCountWithResponse call

func (GetMarketRecommendationsByItemsCountResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetMarketRecommendationsByItemsCountResponse) GetBody

GetBody returns the raw response body bytes

func (GetMarketRecommendationsByItemsCountResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetMarketRecommendationsByItemsCountResponse) Status

Status returns HTTPResponse.Status

func (GetMarketRecommendationsByItemsCountResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetMarketRecommendationsByItemsCountResponse200Headers

type GetMarketRecommendationsByItemsCountResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetMarketRecommendationsByItemsCountResponse200Headers the declared response headers of an HTTP 200 response for GetMarketRecommendationsByItemsCount

type GetMarketRecommendationsByItemsCountResponse204Headers

type GetMarketRecommendationsByItemsCountResponse204Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetMarketRecommendationsByItemsCountResponse204Headers the declared response headers of an HTTP 204 response for GetMarketRecommendationsByItemsCount

type GetMarketRecommendationsByItemsCountResponse429Headers

type GetMarketRecommendationsByItemsCountResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetMarketRecommendationsByItemsCountResponse429Headers the declared response headers of an HTTP 429 response for GetMarketRecommendationsByItemsCount

type GetMeParams

type GetMeParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetMeParams defines parameters for GetMe.

type GetMeResponse

type GetMeResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *MeResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetMeResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetMeResponse429Headers
}

func ParseGetMeResponse

func ParseGetMeResponse(rsp *http.Response) (*GetMeResponse, error)

ParseGetMeResponse parses an HTTP response from a GetMeWithResponse call

func (GetMeResponse) ContentType

func (r GetMeResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetMeResponse) GetBody

func (r GetMeResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetMeResponse) GetJSON200

func (r GetMeResponse) GetJSON200() *MeResponse

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetMeResponse) Status

func (r GetMeResponse) Status() string

Status returns HTTPResponse.Status

func (GetMeResponse) StatusCode

func (r GetMeResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetMeResponse200Headers

type GetMeResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetMeResponse200Headers the declared response headers of an HTTP 200 response for GetMe

type GetMeResponse429Headers

type GetMeResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetMeResponse429Headers the declared response headers of an HTTP 429 response for GetMe

type GetMultiplePortfoliosRankingsJSONBody

type GetMultiplePortfoliosRankingsJSONBody struct {
	// Usernames Example: ["investor1","investor2"]
	Usernames []string `json:"usernames"`
}

GetMultiplePortfoliosRankingsJSONBody defines parameters for GetMultiplePortfoliosRankings.

type GetMultiplePortfoliosRankingsJSONRequestBody

type GetMultiplePortfoliosRankingsJSONRequestBody GetMultiplePortfoliosRankingsJSONBody

GetMultiplePortfoliosRankingsJSONRequestBody defines body for GetMultiplePortfoliosRankings for application/json ContentType.

type GetMultiplePortfoliosRankingsParams

type GetMultiplePortfoliosRankingsParams struct {
	// Period Rolling time window for performance metrics.
	Period StatsRankingsApiRankingPeriod `form:"period" json:"period"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetMultiplePortfoliosRankingsParams defines parameters for GetMultiplePortfoliosRankings.

type GetMultiplePortfoliosRankingsResponse

type GetMultiplePortfoliosRankingsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *RankingsMultipleResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *RankingsError
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *RankingsError
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetMultiplePortfoliosRankingsResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetMultiplePortfoliosRankingsResponse429Headers
}

func ParseGetMultiplePortfoliosRankingsResponse

func ParseGetMultiplePortfoliosRankingsResponse(rsp *http.Response) (*GetMultiplePortfoliosRankingsResponse, error)

ParseGetMultiplePortfoliosRankingsResponse parses an HTTP response from a GetMultiplePortfoliosRankingsWithResponse call

func (GetMultiplePortfoliosRankingsResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetMultiplePortfoliosRankingsResponse) GetBody

GetBody returns the raw response body bytes

func (GetMultiplePortfoliosRankingsResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetMultiplePortfoliosRankingsResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetMultiplePortfoliosRankingsResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetMultiplePortfoliosRankingsResponse) Status

Status returns HTTPResponse.Status

func (GetMultiplePortfoliosRankingsResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetMultiplePortfoliosRankingsResponse200Headers

type GetMultiplePortfoliosRankingsResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetMultiplePortfoliosRankingsResponse200Headers the declared response headers of an HTTP 200 response for GetMultiplePortfoliosRankings

type GetMultiplePortfoliosRankingsResponse429Headers

type GetMultiplePortfoliosRankingsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetMultiplePortfoliosRankingsResponse429Headers the declared response headers of an HTTP 429 response for GetMultiplePortfoliosRankings

type GetMySubAccountsParams

type GetMySubAccountsParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetMySubAccountsParams defines parameters for GetMySubAccounts.

type GetMySubAccountsResponse

type GetMySubAccountsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetMySubAccountsResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetMySubAccountsResponse429Headers
}

func ParseGetMySubAccountsResponse

func ParseGetMySubAccountsResponse(rsp *http.Response) (*GetMySubAccountsResponse, error)

ParseGetMySubAccountsResponse parses an HTTP response from a GetMySubAccountsWithResponse call

func (GetMySubAccountsResponse) ContentType

func (r GetMySubAccountsResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetMySubAccountsResponse) GetBody

func (r GetMySubAccountsResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetMySubAccountsResponse) Status

func (r GetMySubAccountsResponse) Status() string

Status returns HTTPResponse.Status

func (GetMySubAccountsResponse) StatusCode

func (r GetMySubAccountsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetMySubAccountsResponse200Headers

type GetMySubAccountsResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetMySubAccountsResponse200Headers the declared response headers of an HTTP 200 response for GetMySubAccounts

type GetMySubAccountsResponse429Headers

type GetMySubAccountsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetMySubAccountsResponse429Headers the declared response headers of an HTTP 429 response for GetMySubAccounts

type GetNotificationsMessagesParams

type GetNotificationsMessagesParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetNotificationsMessagesParams defines parameters for GetNotificationsMessages.

type GetNotificationsMessagesResponse

type GetNotificationsMessagesResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *InAppNotificationsResult
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetNotificationsMessagesResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetNotificationsMessagesResponse429Headers
}

func ParseGetNotificationsMessagesResponse

func ParseGetNotificationsMessagesResponse(rsp *http.Response) (*GetNotificationsMessagesResponse, error)

ParseGetNotificationsMessagesResponse parses an HTTP response from a GetNotificationsMessagesWithResponse call

func (GetNotificationsMessagesResponse) ContentType

func (r GetNotificationsMessagesResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetNotificationsMessagesResponse) GetBody

func (r GetNotificationsMessagesResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetNotificationsMessagesResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetNotificationsMessagesResponse) Status

Status returns HTTPResponse.Status

func (GetNotificationsMessagesResponse) StatusCode

func (r GetNotificationsMessagesResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetNotificationsMessagesResponse200Headers

type GetNotificationsMessagesResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetNotificationsMessagesResponse200Headers the declared response headers of an HTTP 200 response for GetNotificationsMessages

type GetNotificationsMessagesResponse429Headers

type GetNotificationsMessagesResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetNotificationsMessagesResponse429Headers the declared response headers of an HTTP 429 response for GetNotificationsMessages

type GetOrderInfoAsset

type GetOrderInfoAsset struct {
	// Currency The asset's base currency.
	Currency *string `json:"currency,omitempty"`

	// InstrumentId The etoro instrument identifier.
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// Leverage The leverage applied to the order.
	Leverage *int32 `json:"leverage,omitempty"`

	// SettlementType Settlement type. Possible values: cfd, real, realFutures, marginTrade.
	SettlementType *string `json:"settlementType,omitempty"`

	// Side The position side. Possible values: long, short.
	Side *string `json:"side,omitempty"`

	// Symbol The asset ticker symbol.
	Symbol *string `json:"symbol,omitempty"`
}

GetOrderInfoAsset Asset information associated with the order.

type GetOrderInfoOpeningData

type GetOrderInfoOpeningData struct {
	// AvgConversionRate The average currency conversion rate applied.
	AvgConversionRate *float64 `json:"avgConversionRate,omitempty"`

	// AvgPrice The average execution price.
	AvgPrice *float64 `json:"avgPrice,omitempty"`

	// Contracts Number of contracts executed.
	Contracts *float64 `json:"contracts,omitempty"`

	// ExecutionTime The execution timestamp.
	ExecutionTime *time.Time `json:"executionTime,omitempty"`

	// Fees Fees charged for the execution.
	Fees *float64 `json:"fees,omitempty"`

	// MarketSpread The market spread at execution time.
	MarketSpread *float64 `json:"marketSpread,omitempty"`

	// Markup The markup applied to the spread.
	Markup *float64 `json:"markup,omitempty"`

	// OpenTime The timestamp when the position was opened.
	OpenTime *time.Time `json:"openTime,omitempty"`

	// OrderId The order identifier that opened the position.
	OrderId *int64 `json:"orderId,omitempty"`

	// PriceId The price snapshot identifier used for execution.
	PriceId *int64 `json:"priceId,omitempty"`

	// Taxes Taxes applied to the execution.
	Taxes *float64 `json:"taxes,omitempty"`

	// Units Number of units executed.
	Units *float64 `json:"units,omitempty"`
}

GetOrderInfoOpeningData Execution data recorded when the position was opened.

type GetOrderInfoPositionExecution

type GetOrderInfoPositionExecution struct {
	// AddedFunds Additional funds added to the position.
	AddedFunds *float64 `json:"addedFunds,omitempty"`

	// InitialExposureAccountCurrency The initial exposure in the account currency.
	InitialExposureAccountCurrency *float64 `json:"initialExposureAccountCurrency,omitempty"`

	// InitialExposureAssetCurrency The initial exposure in the asset currency.
	InitialExposureAssetCurrency *float64 `json:"initialExposureAssetCurrency,omitempty"`

	// InvestedAmountCurrency The invested amount in the account currency.
	InvestedAmountCurrency *float64 `json:"investedAmountCurrency,omitempty"`

	// MarginAccountCurrency Margin held in the account currency.
	MarginAccountCurrency *float64 `json:"marginAccountCurrency,omitempty"`

	// MarginAssetCurrency Margin held in the asset currency.
	MarginAssetCurrency *float64 `json:"marginAssetCurrency,omitempty"`

	// OpeningData Execution data recorded when the position was opened.
	OpeningData *GetOrderInfoOpeningData `json:"openingData,omitempty"`

	// PositionId The unique identifier of the executed position.
	PositionId *int64 `json:"positionId,omitempty"`

	// RemainingContracts Remaining contracts in the position.
	RemainingContracts *float64 `json:"remainingContracts,omitempty"`

	// RemainingUnits Remaining units in the position.
	RemainingUnits *float64 `json:"remainingUnits,omitempty"`

	// State The current state of the position. Possible values: open, closed.
	State *string `json:"state,omitempty"`

	// StopLossRate The stop-loss rate for the position.
	StopLossRate *float64 `json:"stopLossRate,omitempty"`

	// TakeProfitRate The take-profit rate for the position.
	TakeProfitRate *float64 `json:"takeProfitRate,omitempty"`
}

GetOrderInfoPositionExecution Details of a position execution resulting from the order.

type GetOrderInfoResponse

type GetOrderInfoResponse struct {
	// AccountId The account identifier associated with this order.
	AccountId *int64 `json:"accountId,omitempty"`

	// Action The order action. Possible values: open, close.
	Action *string `json:"action,omitempty"`

	// Asset Asset information associated with the order.
	Asset *GetOrderInfoAsset `json:"asset,omitempty"`

	// EtoroOrderTypeId The internal etoro order type identifier.
	EtoroOrderTypeId *int32 `json:"etoroOrderTypeId,omitempty"`

	// FrozenAmount The amount frozen/reserved for the order including costs.
	FrozenAmount *float64 `json:"frozenAmount,omitempty"`

	// Gcid The global customer identifier.
	Gcid *int64 `json:"gcid,omitempty"`

	// LastUpdate The timestamp of the last update to the order.
	LastUpdate *time.Time `json:"lastUpdate,omitempty"`

	// OpenActionType The action type that initiated the order.
	OpenActionType *string `json:"openActionType,omitempty"`

	// OpenStopLossRate The stop-loss rate at order open.
	OpenStopLossRate *float64 `json:"openStopLossRate,omitempty"`

	// OpenTakeProfitRate The take-profit rate at order open.
	OpenTakeProfitRate *float64 `json:"openTakeProfitRate,omitempty"`

	// OrderCurrency The currency used for the order.
	OrderCurrency *string `json:"orderCurrency,omitempty"`

	// OrderId The unique identifier of the order.
	OrderId *int64 `json:"orderId,omitempty"`

	// PortfolioId The portfolio identifier.
	PortfolioId *int32 `json:"portfolioId,omitempty"`

	// PositionExecutions List of position executions resulting from this order.
	PositionExecutions *[]GetOrderInfoPositionExecution `json:"positionExecutions,omitempty"`

	// PositionsToClose List of position IDs to close as part of a close order.
	PositionsToClose *[]int64 `json:"positionsToClose,omitempty"`

	// RequestTime The timestamp when the order was requested.
	RequestTime *time.Time `json:"requestTime,omitempty"`

	// RequestType The request sizing type. Possible values: byAmount, byUnits, byContracts.
	RequestType *string `json:"requestType,omitempty"`

	// RequestedAmount The requested monetary amount for the order.
	RequestedAmount *float64 `json:"requestedAmount,omitempty"`

	// RequestedContracts The requested number of contracts for the order.
	RequestedContracts *float64 `json:"requestedContracts,omitempty"`

	// RequestedTriggerRate The trigger rate for limit or stop orders.
	RequestedTriggerRate *float64 `json:"requestedTriggerRate,omitempty"`

	// RequestedUnits The requested number of units for the order.
	RequestedUnits *float64 `json:"requestedUnits,omitempty"`

	// Status Status information for the order.
	Status *GetOrderInfoStatus `json:"status,omitempty"`

	// StopLossType The stop-loss type. Possible values: fixed, trailing.
	StopLossType *string `json:"stopLossType,omitempty"`

	// TotalCosts Total costs associated with the order.
	TotalCosts *float64 `json:"totalCosts,omitempty"`

	// Transaction The transaction direction. Possible values: buy, sell, sellShort, buyToCover.
	Transaction *string `json:"transaction,omitempty"`

	// Type The order type. Possible values: mkt, mit.
	Type *string `json:"type,omitempty"`
}

GetOrderInfoResponse Detailed information about a specific order retrieved via the orders lookup endpoint.

type GetOrderInfoStatus

type GetOrderInfoStatus struct {
	// ErrorCode Error code if the order failed. Zero indicates no error.
	ErrorCode *int32 `json:"errorCode,omitempty"`

	// ErrorMessage Human-readable error message if the order failed.
	ErrorMessage *string `json:"errorMessage,omitempty"`

	// Id Status identifier. Values: 1 = Received, 2 = Placed, 3 = Filled, 4 = Rejected, 5 = PartiallyFilled, 6 = PendingCancel, 7 = Canceled, 8 = Expired, 9 = CanceledPartiallyFilled, 10 = RejectedPartiallyFilled, 11 = WaitingForMarket, 12 = PendingTriggeredRate.
	Id *int32 `json:"id,omitempty"`

	// Name Human-readable status name.
	Name *string `json:"name,omitempty"`
}

GetOrderInfoStatus Status information for the order.

type GetPiDataCopiersParams

type GetPiDataCopiersParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetPiDataCopiersParams defines parameters for GetPiDataCopiers.

type GetPiDataCopiersResponse

type GetPiDataCopiersResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *GeCopiersResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetPiDataCopiersResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetPiDataCopiersResponse429Headers
}

func ParseGetPiDataCopiersResponse

func ParseGetPiDataCopiersResponse(rsp *http.Response) (*GetPiDataCopiersResponse, error)

ParseGetPiDataCopiersResponse parses an HTTP response from a GetPiDataCopiersWithResponse call

func (GetPiDataCopiersResponse) ContentType

func (r GetPiDataCopiersResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetPiDataCopiersResponse) GetBody

func (r GetPiDataCopiersResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetPiDataCopiersResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetPiDataCopiersResponse) Status

func (r GetPiDataCopiersResponse) Status() string

Status returns HTTPResponse.Status

func (GetPiDataCopiersResponse) StatusCode

func (r GetPiDataCopiersResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetPiDataCopiersResponse200Headers

type GetPiDataCopiersResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetPiDataCopiersResponse200Headers the declared response headers of an HTTP 200 response for GetPiDataCopiers

type GetPiDataCopiersResponse429Headers

type GetPiDataCopiersResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetPiDataCopiersResponse429Headers the declared response headers of an HTTP 429 response for GetPiDataCopiers

type GetPortfolioCopiersParams

type GetPortfolioCopiersParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetPortfolioCopiersParams defines parameters for GetPortfolioCopiers.

type GetPortfolioCopiersResponse

type GetPortfolioCopiersResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *CopiersCurrentResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *StandardErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *StandardErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *StandardErrorResponse
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *StandardErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetPortfolioCopiersResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetPortfolioCopiersResponse429Headers
}

func ParseGetPortfolioCopiersResponse

func ParseGetPortfolioCopiersResponse(rsp *http.Response) (*GetPortfolioCopiersResponse, error)

ParseGetPortfolioCopiersResponse parses an HTTP response from a GetPortfolioCopiersWithResponse call

func (GetPortfolioCopiersResponse) ContentType

func (r GetPortfolioCopiersResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetPortfolioCopiersResponse) GetBody

func (r GetPortfolioCopiersResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetPortfolioCopiersResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetPortfolioCopiersResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetPortfolioCopiersResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetPortfolioCopiersResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (GetPortfolioCopiersResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (GetPortfolioCopiersResponse) Status

Status returns HTTPResponse.Status

func (GetPortfolioCopiersResponse) StatusCode

func (r GetPortfolioCopiersResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetPortfolioCopiersResponse200Headers

type GetPortfolioCopiersResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetPortfolioCopiersResponse200Headers the declared response headers of an HTTP 200 response for GetPortfolioCopiers

type GetPortfolioCopiersResponse429Headers

type GetPortfolioCopiersResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetPortfolioCopiersResponse429Headers the declared response headers of an HTTP 429 response for GetPortfolioCopiers

type GetPortfolioRankingParams

type GetPortfolioRankingParams struct {
	// Period Rolling time window for performance metrics.
	Period StatsRankingsApiRankingPeriod `form:"period" json:"period"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetPortfolioRankingParams defines parameters for GetPortfolioRanking.

type GetPortfolioRankingResponse

type GetPortfolioRankingResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *CustomerRankingResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *RankingsError
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *RankingsError
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *RankingsError
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetPortfolioRankingResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetPortfolioRankingResponse429Headers
}

func ParseGetPortfolioRankingResponse

func ParseGetPortfolioRankingResponse(rsp *http.Response) (*GetPortfolioRankingResponse, error)

ParseGetPortfolioRankingResponse parses an HTTP response from a GetPortfolioRankingWithResponse call

func (GetPortfolioRankingResponse) ContentType

func (r GetPortfolioRankingResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetPortfolioRankingResponse) GetBody

func (r GetPortfolioRankingResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetPortfolioRankingResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetPortfolioRankingResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetPortfolioRankingResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetPortfolioRankingResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (GetPortfolioRankingResponse) Status

Status returns HTTPResponse.Status

func (GetPortfolioRankingResponse) StatusCode

func (r GetPortfolioRankingResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetPortfolioRankingResponse200Headers

type GetPortfolioRankingResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetPortfolioRankingResponse200Headers the declared response headers of an HTTP 200 response for GetPortfolioRanking

type GetPortfolioRankingResponse429Headers

type GetPortfolioRankingResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetPortfolioRankingResponse429Headers the declared response headers of an HTTP 429 response for GetPortfolioRanking

type GetPortfolioRankingsByPresetParams

type GetPortfolioRankingsByPresetParams struct {
	Page     *int `form:"page,omitempty" json:"page,omitempty"`
	PageSize *int `form:"pageSize,omitempty" json:"pageSize,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetPortfolioRankingsByPresetParams defines parameters for GetPortfolioRankingsByPreset.

type GetPortfolioRankingsByPresetResponse

type GetPortfolioRankingsByPresetResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *RankingsListResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *RankingsError
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *RankingsError
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *string
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetPortfolioRankingsByPresetResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetPortfolioRankingsByPresetResponse429Headers
}

func ParseGetPortfolioRankingsByPresetResponse

func ParseGetPortfolioRankingsByPresetResponse(rsp *http.Response) (*GetPortfolioRankingsByPresetResponse, error)

ParseGetPortfolioRankingsByPresetResponse parses an HTTP response from a GetPortfolioRankingsByPresetWithResponse call

func (GetPortfolioRankingsByPresetResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetPortfolioRankingsByPresetResponse) GetBody

GetBody returns the raw response body bytes

func (GetPortfolioRankingsByPresetResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetPortfolioRankingsByPresetResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetPortfolioRankingsByPresetResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetPortfolioRankingsByPresetResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (GetPortfolioRankingsByPresetResponse) Status

Status returns HTTPResponse.Status

func (GetPortfolioRankingsByPresetResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetPortfolioRankingsByPresetResponse200Headers

type GetPortfolioRankingsByPresetResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetPortfolioRankingsByPresetResponse200Headers the declared response headers of an HTTP 200 response for GetPortfolioRankingsByPreset

type GetPortfolioRankingsByPresetResponse429Headers

type GetPortfolioRankingsByPresetResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetPortfolioRankingsByPresetResponse429Headers the declared response headers of an HTTP 429 response for GetPortfolioRankingsByPreset

type GetPortfoliosRankingsParams

type GetPortfoliosRankingsParams struct {
	// Period Rolling time window for performance metrics.
	Period StatsRankingsApiRankingPeriod `form:"period" json:"period"`

	// Sort Sort field in camelCase; prefix with `-` for descending (e.g. `-copiers`). Unknown values are rejected with 400.
	Sort     *string `form:"sort,omitempty" json:"sort,omitempty"`
	Page     *int    `form:"page,omitempty" json:"page,omitempty"`
	PageSize *int    `form:"pageSize,omitempty" json:"pageSize,omitempty"`

	// Country Filter by ISO 3166-1 alpha-2 country code (e.g. "GB", "US").
	Country      *string  `form:"country,omitempty" json:"country,omitempty"`
	GainMin      *float32 `form:"gainMin,omitempty" json:"gainMin,omitempty"`
	GainMax      *float32 `form:"gainMax,omitempty" json:"gainMax,omitempty"`
	CopiersMin   *int     `form:"copiersMin,omitempty" json:"copiersMin,omitempty"`
	CopiersMax   *int     `form:"copiersMax,omitempty" json:"copiersMax,omitempty"`
	RiskScoreMin *int     `form:"riskScoreMin,omitempty" json:"riskScoreMin,omitempty"`
	RiskScoreMax *int     `form:"riskScoreMax,omitempty" json:"riskScoreMax,omitempty"`

	// PopularInvestor When true, filters to active Popular Investors only.
	PopularInvestor *bool `form:"popularInvestor,omitempty" json:"popularInvestor,omitempty"`
	AumTier         *int  `form:"aumTier,omitempty" json:"aumTier,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetPortfoliosRankingsParams defines parameters for GetPortfoliosRankings.

type GetPortfoliosRankingsResponse

type GetPortfoliosRankingsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *RankingsListResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *RankingsError
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *RankingsError
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetPortfoliosRankingsResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetPortfoliosRankingsResponse429Headers
}

func ParseGetPortfoliosRankingsResponse

func ParseGetPortfoliosRankingsResponse(rsp *http.Response) (*GetPortfoliosRankingsResponse, error)

ParseGetPortfoliosRankingsResponse parses an HTTP response from a GetPortfoliosRankingsWithResponse call

func (GetPortfoliosRankingsResponse) ContentType

func (r GetPortfoliosRankingsResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetPortfoliosRankingsResponse) GetBody

func (r GetPortfoliosRankingsResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetPortfoliosRankingsResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetPortfoliosRankingsResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetPortfoliosRankingsResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetPortfoliosRankingsResponse) Status

Status returns HTTPResponse.Status

func (GetPortfoliosRankingsResponse) StatusCode

func (r GetPortfoliosRankingsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetPortfoliosRankingsResponse200Headers

type GetPortfoliosRankingsResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetPortfoliosRankingsResponse200Headers the declared response headers of an HTTP 200 response for GetPortfoliosRankings

type GetPortfoliosRankingsResponse429Headers

type GetPortfoliosRankingsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetPortfoliosRankingsResponse429Headers the declared response headers of an HTTP 429 response for GetPortfoliosRankings

type GetPortfoliosRankingsSummaryParams

type GetPortfoliosRankingsSummaryParams struct {
	// Summary Aggregation dimension.
	Summary GetPortfoliosRankingsSummaryParamsSummary `form:"summary" json:"summary"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetPortfoliosRankingsSummaryParams defines parameters for GetPortfoliosRankingsSummary.

type GetPortfoliosRankingsSummaryParamsSummary

type GetPortfoliosRankingsSummaryParamsSummary string

GetPortfoliosRankingsSummaryParamsSummary defines parameters for GetPortfoliosRankingsSummary.

const (
	GetPortfoliosRankingsSummaryParamsSummaryIndustries GetPortfoliosRankingsSummaryParamsSummary = "industries"
	GetPortfoliosRankingsSummaryParamsSummarySectors    GetPortfoliosRankingsSummaryParamsSummary = "sectors"
)

Defines values for GetPortfoliosRankingsSummaryParamsSummary.

func (GetPortfoliosRankingsSummaryParamsSummary) Valid

Valid indicates whether the value is a known member of the GetPortfoliosRankingsSummaryParamsSummary enum.

type GetPortfoliosRankingsSummaryResponse

type GetPortfoliosRankingsSummaryResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *RankingSummaryResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *RankingsError
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *RankingsError
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetPortfoliosRankingsSummaryResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetPortfoliosRankingsSummaryResponse429Headers
}

func ParseGetPortfoliosRankingsSummaryResponse

func ParseGetPortfoliosRankingsSummaryResponse(rsp *http.Response) (*GetPortfoliosRankingsSummaryResponse, error)

ParseGetPortfoliosRankingsSummaryResponse parses an HTTP response from a GetPortfoliosRankingsSummaryWithResponse call

func (GetPortfoliosRankingsSummaryResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetPortfoliosRankingsSummaryResponse) GetBody

GetBody returns the raw response body bytes

func (GetPortfoliosRankingsSummaryResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetPortfoliosRankingsSummaryResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetPortfoliosRankingsSummaryResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetPortfoliosRankingsSummaryResponse) Status

Status returns HTTPResponse.Status

func (GetPortfoliosRankingsSummaryResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetPortfoliosRankingsSummaryResponse200Headers

type GetPortfoliosRankingsSummaryResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetPortfoliosRankingsSummaryResponse200Headers the declared response headers of an HTTP 200 response for GetPortfoliosRankingsSummary

type GetPortfoliosRankingsSummaryResponse429Headers

type GetPortfoliosRankingsSummaryResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetPortfoliosRankingsSummaryResponse429Headers the declared response headers of an HTTP 429 response for GetPortfoliosRankingsSummary

type GetPriceAlertsParams

type GetPriceAlertsParams struct {
	// AlertIds Comma-separated list of alert IDs to filter by. AND-combined with the instrument filter when both are present.
	AlertIds *string `form:"alertIds,omitempty" json:"alertIds,omitempty"`

	// InstrumentIds Comma-separated list of instrument IDs to filter by. Treated as the same dimension as symbols — results matching either instrumentIds or symbols are returned.
	InstrumentIds *string `form:"instrumentIds,omitempty" json:"instrumentIds,omitempty"`

	// Symbols Comma-separated list of trading symbols to filter by. Treated as the same dimension as instrumentIds — results matching either symbols or instrumentIds are returned.
	Symbols *string `form:"symbols,omitempty" json:"symbols,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetPriceAlertsParams defines parameters for GetPriceAlerts.

type GetPriceAlertsResponse

type GetPriceAlertsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *PriceAlertCollectionResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *PriceAlertErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *PriceAlertsApiPublicErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *PriceAlertsApiPublicErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *PriceAlertsApiPublicErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *PriceAlertsApiPublicErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetPriceAlertsResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetPriceAlertsResponse429Headers
}

func ParseGetPriceAlertsResponse

func ParseGetPriceAlertsResponse(rsp *http.Response) (*GetPriceAlertsResponse, error)

ParseGetPriceAlertsResponse parses an HTTP response from a GetPriceAlertsWithResponse call

func (GetPriceAlertsResponse) ContentType

func (r GetPriceAlertsResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetPriceAlertsResponse) GetBody

func (r GetPriceAlertsResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetPriceAlertsResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetPriceAlertsResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetPriceAlertsResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetPriceAlertsResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (GetPriceAlertsResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (GetPriceAlertsResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (GetPriceAlertsResponse) Status

func (r GetPriceAlertsResponse) Status() string

Status returns HTTPResponse.Status

func (GetPriceAlertsResponse) StatusCode

func (r GetPriceAlertsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetPriceAlertsResponse200Headers

type GetPriceAlertsResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetPriceAlertsResponse200Headers the declared response headers of an HTTP 200 response for GetPriceAlerts

type GetPriceAlertsResponse429Headers

type GetPriceAlertsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetPriceAlertsResponse429Headers the declared response headers of an HTTP 429 response for GetPriceAlerts

type GetPriceCandleCoverageParams

type GetPriceCandleCoverageParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetPriceCandleCoverageParams defines parameters for GetPriceCandleCoverage.

type GetPriceCandleCoverageResponse

type GetPriceCandleCoverageResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *PriceCandleCoverage
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *DataApiError
	// JSON503 the response for an HTTP 503 `application/json` response
	JSON503 *DataApiError
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetPriceCandleCoverageResponse200Headers
	// Headers400 the parsed response headers for an HTTP 400 response
	Headers400 *GetPriceCandleCoverageResponse400Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetPriceCandleCoverageResponse429Headers
	// Headers503 the parsed response headers for an HTTP 503 response
	Headers503 *GetPriceCandleCoverageResponse503Headers
}

func ParseGetPriceCandleCoverageResponse

func ParseGetPriceCandleCoverageResponse(rsp *http.Response) (*GetPriceCandleCoverageResponse, error)

ParseGetPriceCandleCoverageResponse parses an HTTP response from a GetPriceCandleCoverageWithResponse call

func (GetPriceCandleCoverageResponse) ContentType

func (r GetPriceCandleCoverageResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetPriceCandleCoverageResponse) GetBody

func (r GetPriceCandleCoverageResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetPriceCandleCoverageResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetPriceCandleCoverageResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetPriceCandleCoverageResponse) GetJSON503

GetJSON503 returns the response for an HTTP 503 `application/json` response

func (GetPriceCandleCoverageResponse) Status

Status returns HTTPResponse.Status

func (GetPriceCandleCoverageResponse) StatusCode

func (r GetPriceCandleCoverageResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetPriceCandleCoverageResponse200Headers

type GetPriceCandleCoverageResponse200Headers struct {
	CacheControl       *string
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	XCorrelationId     *openapi_types.UUID
	XRequestId         *openapi_types.UUID
	XTimestamp         *time.Time
}

GetPriceCandleCoverageResponse200Headers the declared response headers of an HTTP 200 response for GetPriceCandleCoverage

type GetPriceCandleCoverageResponse400Headers

type GetPriceCandleCoverageResponse400Headers struct {
	CacheControl   *string
	XCorrelationId *openapi_types.UUID
	XRequestId     *openapi_types.UUID
	XTimestamp     *time.Time
}

GetPriceCandleCoverageResponse400Headers the declared response headers of an HTTP 400 response for GetPriceCandleCoverage

type GetPriceCandleCoverageResponse429Headers

type GetPriceCandleCoverageResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetPriceCandleCoverageResponse429Headers the declared response headers of an HTTP 429 response for GetPriceCandleCoverage

type GetPriceCandleCoverageResponse503Headers

type GetPriceCandleCoverageResponse503Headers struct {
	CacheControl   *string
	XCorrelationId *openapi_types.UUID
	XRequestId     *openapi_types.UUID
	XTimestamp     *time.Time
}

GetPriceCandleCoverageResponse503Headers the declared response headers of an HTTP 503 response for GetPriceCandleCoverage

type GetPriceCandlesParams

type GetPriceCandlesParams struct {
	// Interval Candle interval.
	Interval GetPriceCandlesParamsInterval `form:"interval" json:"interval"`

	// From Inclusive lower bound on candle open time, ISO 8601 with a time zone. Defaults to one slice before `to`.
	From *time.Time `form:"from,omitempty" json:"from,omitempty"`

	// To Exclusive upper bound on candle open time, ISO 8601 with a time zone. Defaults to now.
	To *time.Time `form:"to,omitempty" json:"to,omitempty"`

	// Limit Candles per page. Defaults to 100, maximum 2000.
	Limit *int32 `form:"limit,omitempty" json:"limit,omitempty"`

	// Side Price side to return. Defaults to bid.
	Side *GetPriceCandlesParamsSide `form:"side,omitempty" json:"side,omitempty"`

	// Format `compact` names each column once; `results` becomes one array per candle instead of an object.
	Format *GetPriceCandlesParamsFormat `form:"format,omitempty" json:"format,omitempty"`

	// Cursor Opaque token from `pagination.nextCursor`.
	Cursor *string `form:"cursor,omitempty" json:"cursor,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetPriceCandlesParams defines parameters for GetPriceCandles.

type GetPriceCandlesParamsFormat

type GetPriceCandlesParamsFormat string

GetPriceCandlesParamsFormat defines parameters for GetPriceCandles.

const (
	GetPriceCandlesParamsFormatCompact GetPriceCandlesParamsFormat = "compact"
	GetPriceCandlesParamsFormatVerbose GetPriceCandlesParamsFormat = "verbose"
)

Defines values for GetPriceCandlesParamsFormat.

func (GetPriceCandlesParamsFormat) Valid

Valid indicates whether the value is a known member of the GetPriceCandlesParamsFormat enum.

type GetPriceCandlesParamsInterval

type GetPriceCandlesParamsInterval string

GetPriceCandlesParamsInterval defines parameters for GetPriceCandles.

const (
	GetPriceCandlesParamsIntervalN10m GetPriceCandlesParamsInterval = "10m"
	GetPriceCandlesParamsIntervalN15m GetPriceCandlesParamsInterval = "15m"
	GetPriceCandlesParamsIntervalN1d  GetPriceCandlesParamsInterval = "1d"
	GetPriceCandlesParamsIntervalN1h  GetPriceCandlesParamsInterval = "1h"
	GetPriceCandlesParamsIntervalN1m  GetPriceCandlesParamsInterval = "1m"
	GetPriceCandlesParamsIntervalN1w  GetPriceCandlesParamsInterval = "1w"
	GetPriceCandlesParamsIntervalN30m GetPriceCandlesParamsInterval = "30m"
	GetPriceCandlesParamsIntervalN4h  GetPriceCandlesParamsInterval = "4h"
	GetPriceCandlesParamsIntervalN5m  GetPriceCandlesParamsInterval = "5m"
)

Defines values for GetPriceCandlesParamsInterval.

func (GetPriceCandlesParamsInterval) Valid

Valid indicates whether the value is a known member of the GetPriceCandlesParamsInterval enum.

type GetPriceCandlesParamsSide

type GetPriceCandlesParamsSide string

GetPriceCandlesParamsSide defines parameters for GetPriceCandles.

const (
	GetPriceCandlesParamsSideAsk  GetPriceCandlesParamsSide = "ask"
	GetPriceCandlesParamsSideBid  GetPriceCandlesParamsSide = "bid"
	GetPriceCandlesParamsSideBoth GetPriceCandlesParamsSide = "both"
)

Defines values for GetPriceCandlesParamsSide.

func (GetPriceCandlesParamsSide) Valid

func (e GetPriceCandlesParamsSide) Valid() bool

Valid indicates whether the value is a known member of the GetPriceCandlesParamsSide enum.

type GetPriceCandlesResponse

type GetPriceCandlesResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *PriceCandlesPage
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *DataApiError
	// JSON503 the response for an HTTP 503 `application/json` response
	JSON503 *DataApiError
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetPriceCandlesResponse200Headers
	// Headers400 the parsed response headers for an HTTP 400 response
	Headers400 *GetPriceCandlesResponse400Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetPriceCandlesResponse429Headers
	// Headers503 the parsed response headers for an HTTP 503 response
	Headers503 *GetPriceCandlesResponse503Headers
}

func ParseGetPriceCandlesResponse

func ParseGetPriceCandlesResponse(rsp *http.Response) (*GetPriceCandlesResponse, error)

ParseGetPriceCandlesResponse parses an HTTP response from a GetPriceCandlesWithResponse call

func (GetPriceCandlesResponse) ContentType

func (r GetPriceCandlesResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetPriceCandlesResponse) GetBody

func (r GetPriceCandlesResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetPriceCandlesResponse) GetJSON200

func (r GetPriceCandlesResponse) GetJSON200() *PriceCandlesPage

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetPriceCandlesResponse) GetJSON400

func (r GetPriceCandlesResponse) GetJSON400() *DataApiError

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetPriceCandlesResponse) GetJSON503

func (r GetPriceCandlesResponse) GetJSON503() *DataApiError

GetJSON503 returns the response for an HTTP 503 `application/json` response

func (GetPriceCandlesResponse) Status

func (r GetPriceCandlesResponse) Status() string

Status returns HTTPResponse.Status

func (GetPriceCandlesResponse) StatusCode

func (r GetPriceCandlesResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetPriceCandlesResponse200Headers

type GetPriceCandlesResponse200Headers struct {
	CacheControl       *string
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	XCorrelationId     *openapi_types.UUID
	XRequestId         *openapi_types.UUID
	XTimestamp         *time.Time
}

GetPriceCandlesResponse200Headers the declared response headers of an HTTP 200 response for GetPriceCandles

type GetPriceCandlesResponse400Headers

type GetPriceCandlesResponse400Headers struct {
	CacheControl   *string
	XCorrelationId *openapi_types.UUID
	XRequestId     *openapi_types.UUID
	XTimestamp     *time.Time
}

GetPriceCandlesResponse400Headers the declared response headers of an HTTP 400 response for GetPriceCandles

type GetPriceCandlesResponse429Headers

type GetPriceCandlesResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetPriceCandlesResponse429Headers the declared response headers of an HTTP 429 response for GetPriceCandles

type GetPriceCandlesResponse503Headers

type GetPriceCandlesResponse503Headers struct {
	CacheControl   *string
	XCorrelationId *openapi_types.UUID
	XRequestId     *openapi_types.UUID
	XTimestamp     *time.Time
}

GetPriceCandlesResponse503Headers the declared response headers of an HTTP 503 response for GetPriceCandles

type GetRatesParams

type GetRatesParams struct {
	// InstrumentIds List of instrument IDs to fetch rates for (max 1000).
	InstrumentIds []int `form:"instrumentIds" json:"instrumentIds"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetRatesParams defines parameters for GetRates.

type GetRatesResponse

type GetRatesResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *RatesResponse
	// JSON206 the response for an HTTP 206 `application/json` response
	JSON206 *RatesResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *GatewayErrorEnvelope
	// JSON422 the response for an HTTP 422 `application/json` response
	JSON422 *GatewayErrorEnvelope
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetRatesResponse200Headers
	// Headers206 the parsed response headers for an HTTP 206 response
	Headers206 *GetRatesResponse206Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetRatesResponse429Headers
}

func ParseGetRatesResponse

func ParseGetRatesResponse(rsp *http.Response) (*GetRatesResponse, error)

ParseGetRatesResponse parses an HTTP response from a GetRatesWithResponse call

func (GetRatesResponse) ContentType

func (r GetRatesResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetRatesResponse) GetBody

func (r GetRatesResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetRatesResponse) GetJSON200

func (r GetRatesResponse) GetJSON200() *RatesResponse

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetRatesResponse) GetJSON206

func (r GetRatesResponse) GetJSON206() *RatesResponse

GetJSON206 returns the response for an HTTP 206 `application/json` response

func (GetRatesResponse) GetJSON401

func (r GetRatesResponse) GetJSON401() *GatewayErrorEnvelope

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetRatesResponse) GetJSON422

func (r GetRatesResponse) GetJSON422() *GatewayErrorEnvelope

GetJSON422 returns the response for an HTTP 422 `application/json` response

func (GetRatesResponse) Status

func (r GetRatesResponse) Status() string

Status returns HTTPResponse.Status

func (GetRatesResponse) StatusCode

func (r GetRatesResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetRatesResponse200Headers

type GetRatesResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetRatesResponse200Headers the declared response headers of an HTTP 200 response for GetRates

type GetRatesResponse206Headers

type GetRatesResponse206Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetRatesResponse206Headers the declared response headers of an HTTP 206 response for GetRates

type GetRatesResponse429Headers

type GetRatesResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetRatesResponse429Headers the declared response headers of an HTTP 429 response for GetRates

type GetScopesParams

type GetScopesParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetScopesParams defines parameters for GetScopes.

type GetScopesResponse

type GetScopesResponse struct {
	// Scopes Public catalog of OAuth scopes available for application registration.
	Scopes *[]ScopeResponseItem `json:"scopes,omitempty"`
}

GetScopesResponse defines model for GetScopesResponse.

type GetScopesResponse2

type GetScopesResponse2 struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *GetScopesResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetScopesResponse2200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetScopesResponse2429Headers
}

func ParseGetScopesResponse2

func ParseGetScopesResponse2(rsp *http.Response) (*GetScopesResponse2, error)

ParseGetScopesResponse2 parses an HTTP response from a GetScopesWithResponse call

func (GetScopesResponse2) ContentType

func (r GetScopesResponse2) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetScopesResponse2) GetBody

func (r GetScopesResponse2) GetBody() []byte

GetBody returns the raw response body bytes

func (GetScopesResponse2) GetJSON200

func (r GetScopesResponse2) GetJSON200() *GetScopesResponse

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetScopesResponse2) Status

func (r GetScopesResponse2) Status() string

Status returns HTTPResponse.Status

func (GetScopesResponse2) StatusCode

func (r GetScopesResponse2) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetScopesResponse2200Headers

type GetScopesResponse2200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetScopesResponse2200Headers the declared response headers of an HTTP 200 response for GetScopes

type GetScopesResponse2429Headers

type GetScopesResponse2429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetScopesResponse2429Headers the declared response headers of an HTTP 429 response for GetScopes

type GetSecuritiesParams

type GetSecuritiesParams struct {
	// InstrumentsIds Filter by instrument IDs. Mutually exclusive with symbols.
	InstrumentsIds *[]int `form:"instrumentsIds,omitempty" json:"instrumentsIds,omitempty"`

	// Symbols Filter by trading symbols (e.g. AAPL). Mutually exclusive with instrumentsIds.
	Symbols *[]string `form:"symbols,omitempty" json:"symbols,omitempty"`

	// PageSize Maximum number of results per page. Defaults to 100 when omitted.
	PageSize *int `form:"pageSize,omitempty" json:"pageSize,omitempty"`

	// PageToken Pagination cursor from the previous response's pagination.nextPageToken.
	PageToken *string `form:"pageToken,omitempty" json:"pageToken,omitempty"`

	// ExchangeId Filter by exchange ID.
	ExchangeId *int `form:"exchangeId,omitempty" json:"exchangeId,omitempty"`

	// Type Filter by instrument type.
	Type *GetSecuritiesParamsType `form:"type,omitempty" json:"type,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetSecuritiesParams defines parameters for GetSecurities.

type GetSecuritiesParamsType

type GetSecuritiesParamsType string

GetSecuritiesParamsType defines parameters for GetSecurities.

const (
	GetSecuritiesParamsTypeBonds      GetSecuritiesParamsType = "Bonds"
	GetSecuritiesParamsTypeCFD        GetSecuritiesParamsType = "CFD"
	GetSecuritiesParamsTypeCommodity  GetSecuritiesParamsType = "Commodity"
	GetSecuritiesParamsTypeCrypto     GetSecuritiesParamsType = "Crypto"
	GetSecuritiesParamsTypeETF        GetSecuritiesParamsType = "ETF"
	GetSecuritiesParamsTypeForex      GetSecuritiesParamsType = "Forex"
	GetSecuritiesParamsTypeIndices    GetSecuritiesParamsType = "Indices"
	GetSecuritiesParamsTypeOptions    GetSecuritiesParamsType = "Options"
	GetSecuritiesParamsTypeStocks     GetSecuritiesParamsType = "Stocks"
	GetSecuritiesParamsTypeTrustFunds GetSecuritiesParamsType = "TrustFunds"
)

Defines values for GetSecuritiesParamsType.

func (GetSecuritiesParamsType) Valid

func (e GetSecuritiesParamsType) Valid() bool

Valid indicates whether the value is a known member of the GetSecuritiesParamsType enum.

type GetSecuritiesResponse

type GetSecuritiesResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *MarketDataResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *GatewayErrorEnvelope
	// JSON422 the response for an HTTP 422 `application/json` response
	JSON422 *GatewayErrorEnvelope
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetSecuritiesResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetSecuritiesResponse429Headers
}

func ParseGetSecuritiesResponse

func ParseGetSecuritiesResponse(rsp *http.Response) (*GetSecuritiesResponse, error)

ParseGetSecuritiesResponse parses an HTTP response from a GetSecuritiesWithResponse call

func (GetSecuritiesResponse) ContentType

func (r GetSecuritiesResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetSecuritiesResponse) GetBody

func (r GetSecuritiesResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetSecuritiesResponse) GetJSON200

func (r GetSecuritiesResponse) GetJSON200() *MarketDataResponse

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetSecuritiesResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetSecuritiesResponse) GetJSON422

GetJSON422 returns the response for an HTTP 422 `application/json` response

func (GetSecuritiesResponse) Status

func (r GetSecuritiesResponse) Status() string

Status returns HTTPResponse.Status

func (GetSecuritiesResponse) StatusCode

func (r GetSecuritiesResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetSecuritiesResponse200Headers

type GetSecuritiesResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetSecuritiesResponse200Headers the declared response headers of an HTTP 200 response for GetSecurities

type GetSecuritiesResponse429Headers

type GetSecuritiesResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetSecuritiesResponse429Headers the declared response headers of an HTTP 429 response for GetSecurities

type GetStockbackPromoStatusParams

type GetStockbackPromoStatusParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetStockbackPromoStatusParams defines parameters for GetStockbackPromoStatus.

type GetStockbackPromoStatusResponse

type GetStockbackPromoStatusResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *StockbackPromoStatus
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *DataApiError
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *DataApiError
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *DataApiError
	// JSON503 the response for an HTTP 503 `application/json` response
	JSON503 *DataApiError
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetStockbackPromoStatusResponse200Headers
	// Headers401 the parsed response headers for an HTTP 401 response
	Headers401 *GetStockbackPromoStatusResponse401Headers
	// Headers404 the parsed response headers for an HTTP 404 response
	Headers404 *GetStockbackPromoStatusResponse404Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetStockbackPromoStatusResponse429Headers
	// Headers500 the parsed response headers for an HTTP 500 response
	Headers500 *GetStockbackPromoStatusResponse500Headers
	// Headers503 the parsed response headers for an HTTP 503 response
	Headers503 *GetStockbackPromoStatusResponse503Headers
}

func ParseGetStockbackPromoStatusResponse

func ParseGetStockbackPromoStatusResponse(rsp *http.Response) (*GetStockbackPromoStatusResponse, error)

ParseGetStockbackPromoStatusResponse parses an HTTP response from a GetStockbackPromoStatusWithResponse call

func (GetStockbackPromoStatusResponse) ContentType

func (r GetStockbackPromoStatusResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetStockbackPromoStatusResponse) GetBody

func (r GetStockbackPromoStatusResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetStockbackPromoStatusResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetStockbackPromoStatusResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetStockbackPromoStatusResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (GetStockbackPromoStatusResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (GetStockbackPromoStatusResponse) GetJSON503

GetJSON503 returns the response for an HTTP 503 `application/json` response

func (GetStockbackPromoStatusResponse) Status

Status returns HTTPResponse.Status

func (GetStockbackPromoStatusResponse) StatusCode

func (r GetStockbackPromoStatusResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetStockbackPromoStatusResponse200Headers

type GetStockbackPromoStatusResponse200Headers struct {
	CacheControl       *string
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	XCorrelationId     *openapi_types.UUID
	XRequestId         *openapi_types.UUID
	XTimestamp         *time.Time
}

GetStockbackPromoStatusResponse200Headers the declared response headers of an HTTP 200 response for GetStockbackPromoStatus

type GetStockbackPromoStatusResponse401Headers

type GetStockbackPromoStatusResponse401Headers struct {
	CacheControl   *string
	XCorrelationId *openapi_types.UUID
	XRequestId     *openapi_types.UUID
	XTimestamp     *time.Time
}

GetStockbackPromoStatusResponse401Headers the declared response headers of an HTTP 401 response for GetStockbackPromoStatus

type GetStockbackPromoStatusResponse404Headers

type GetStockbackPromoStatusResponse404Headers struct {
	CacheControl   *string
	XCorrelationId *openapi_types.UUID
	XRequestId     *openapi_types.UUID
	XTimestamp     *time.Time
}

GetStockbackPromoStatusResponse404Headers the declared response headers of an HTTP 404 response for GetStockbackPromoStatus

type GetStockbackPromoStatusResponse429Headers

type GetStockbackPromoStatusResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetStockbackPromoStatusResponse429Headers the declared response headers of an HTTP 429 response for GetStockbackPromoStatus

type GetStockbackPromoStatusResponse500Headers

type GetStockbackPromoStatusResponse500Headers struct {
	CacheControl   *string
	XCorrelationId *openapi_types.UUID
	XRequestId     *openapi_types.UUID
	XTimestamp     *time.Time
}

GetStockbackPromoStatusResponse500Headers the declared response headers of an HTTP 500 response for GetStockbackPromoStatus

type GetStockbackPromoStatusResponse503Headers

type GetStockbackPromoStatusResponse503Headers struct {
	CacheControl   *string
	XCorrelationId *openapi_types.UUID
	XRequestId     *openapi_types.UUID
	XTimestamp     *time.Time
}

GetStockbackPromoStatusResponse503Headers the declared response headers of an HTTP 503 response for GetStockbackPromoStatus

type GetSubAccountUserTokenScopesParams

type GetSubAccountUserTokenScopesParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetSubAccountUserTokenScopesParams defines parameters for GetSubAccountUserTokenScopes.

type GetSubAccountUserTokenScopesResponse

type GetSubAccountUserTokenScopesResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *EtoroTradingSubAccountsOperationsApiGetAllowedScopesResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetSubAccountUserTokenScopesResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetSubAccountUserTokenScopesResponse429Headers
}

func ParseGetSubAccountUserTokenScopesResponse

func ParseGetSubAccountUserTokenScopesResponse(rsp *http.Response) (*GetSubAccountUserTokenScopesResponse, error)

ParseGetSubAccountUserTokenScopesResponse parses an HTTP response from a GetSubAccountUserTokenScopesWithResponse call

func (GetSubAccountUserTokenScopesResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetSubAccountUserTokenScopesResponse) GetBody

GetBody returns the raw response body bytes

func (GetSubAccountUserTokenScopesResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetSubAccountUserTokenScopesResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetSubAccountUserTokenScopesResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (GetSubAccountUserTokenScopesResponse) Status

Status returns HTTPResponse.Status

func (GetSubAccountUserTokenScopesResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetSubAccountUserTokenScopesResponse200Headers

type GetSubAccountUserTokenScopesResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetSubAccountUserTokenScopesResponse200Headers the declared response headers of an HTTP 200 response for GetSubAccountUserTokenScopes

type GetSubAccountUserTokenScopesResponse429Headers

type GetSubAccountUserTokenScopesResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetSubAccountUserTokenScopesResponse429Headers the declared response headers of an HTTP 429 response for GetSubAccountUserTokenScopes

type GetSubAccountUserTokensParams

type GetSubAccountUserTokensParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetSubAccountUserTokensParams defines parameters for GetSubAccountUserTokens.

type GetSubAccountUserTokensResponse

type GetSubAccountUserTokensResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *ListUserTokensResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetSubAccountUserTokensResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetSubAccountUserTokensResponse429Headers
}

func ParseGetSubAccountUserTokensResponse

func ParseGetSubAccountUserTokensResponse(rsp *http.Response) (*GetSubAccountUserTokensResponse, error)

ParseGetSubAccountUserTokensResponse parses an HTTP response from a GetSubAccountUserTokensWithResponse call

func (GetSubAccountUserTokensResponse) ContentType

func (r GetSubAccountUserTokensResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetSubAccountUserTokensResponse) GetBody

func (r GetSubAccountUserTokensResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetSubAccountUserTokensResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetSubAccountUserTokensResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetSubAccountUserTokensResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (GetSubAccountUserTokensResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (GetSubAccountUserTokensResponse) Status

Status returns HTTPResponse.Status

func (GetSubAccountUserTokensResponse) StatusCode

func (r GetSubAccountUserTokensResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetSubAccountUserTokensResponse200Headers

type GetSubAccountUserTokensResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetSubAccountUserTokensResponse200Headers the declared response headers of an HTTP 200 response for GetSubAccountUserTokens

type GetSubAccountUserTokensResponse429Headers

type GetSubAccountUserTokensResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetSubAccountUserTokensResponse429Headers the declared response headers of an HTTP 429 response for GetSubAccountUserTokens

type GetTradingInfoDemoCloseOrdersByOrderIdParams

type GetTradingInfoDemoCloseOrdersByOrderIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetTradingInfoDemoCloseOrdersByOrderIdParams defines parameters for GetTradingInfoDemoCloseOrdersByOrderId.

type GetTradingInfoDemoCloseOrdersByOrderIdResponse

type GetTradingInfoDemoCloseOrdersByOrderIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *OrderForCloseInfoResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *ProblemDetails
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetTradingInfoDemoCloseOrdersByOrderIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetTradingInfoDemoCloseOrdersByOrderIdResponse429Headers
}

func ParseGetTradingInfoDemoCloseOrdersByOrderIdResponse

func ParseGetTradingInfoDemoCloseOrdersByOrderIdResponse(rsp *http.Response) (*GetTradingInfoDemoCloseOrdersByOrderIdResponse, error)

ParseGetTradingInfoDemoCloseOrdersByOrderIdResponse parses an HTTP response from a GetTradingInfoDemoCloseOrdersByOrderIdWithResponse call

func (GetTradingInfoDemoCloseOrdersByOrderIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetTradingInfoDemoCloseOrdersByOrderIdResponse) GetBody

GetBody returns the raw response body bytes

func (GetTradingInfoDemoCloseOrdersByOrderIdResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetTradingInfoDemoCloseOrdersByOrderIdResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetTradingInfoDemoCloseOrdersByOrderIdResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetTradingInfoDemoCloseOrdersByOrderIdResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (GetTradingInfoDemoCloseOrdersByOrderIdResponse) Status

Status returns HTTPResponse.Status

func (GetTradingInfoDemoCloseOrdersByOrderIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetTradingInfoDemoCloseOrdersByOrderIdResponse200Headers

type GetTradingInfoDemoCloseOrdersByOrderIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetTradingInfoDemoCloseOrdersByOrderIdResponse200Headers the declared response headers of an HTTP 200 response for GetTradingInfoDemoCloseOrdersByOrderId

type GetTradingInfoDemoCloseOrdersByOrderIdResponse429Headers

type GetTradingInfoDemoCloseOrdersByOrderIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetTradingInfoDemoCloseOrdersByOrderIdResponse429Headers the declared response headers of an HTTP 429 response for GetTradingInfoDemoCloseOrdersByOrderId

type GetTradingInfoDemoOrdersLookupParams

type GetTradingInfoDemoOrdersLookupParams struct {
	// OrderId Numeric order identifier. Mutually exclusive with referenceId.
	OrderId *int64 `form:"orderId,omitempty" json:"orderId,omitempty"`

	// ReferenceId Request ID header sent during order submission. Mutually exclusive with orderId.
	ReferenceId *string `form:"referenceId,omitempty" json:"referenceId,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetTradingInfoDemoOrdersLookupParams defines parameters for GetTradingInfoDemoOrdersLookup.

type GetTradingInfoDemoOrdersLookupResponse

type GetTradingInfoDemoOrdersLookupResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *GetOrderInfoResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *ProblemDetails
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetTradingInfoDemoOrdersLookupResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetTradingInfoDemoOrdersLookupResponse429Headers
}

func ParseGetTradingInfoDemoOrdersLookupResponse

func ParseGetTradingInfoDemoOrdersLookupResponse(rsp *http.Response) (*GetTradingInfoDemoOrdersLookupResponse, error)

ParseGetTradingInfoDemoOrdersLookupResponse parses an HTTP response from a GetTradingInfoDemoOrdersLookupWithResponse call

func (GetTradingInfoDemoOrdersLookupResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetTradingInfoDemoOrdersLookupResponse) GetBody

GetBody returns the raw response body bytes

func (GetTradingInfoDemoOrdersLookupResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetTradingInfoDemoOrdersLookupResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetTradingInfoDemoOrdersLookupResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetTradingInfoDemoOrdersLookupResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (GetTradingInfoDemoOrdersLookupResponse) Status

Status returns HTTPResponse.Status

func (GetTradingInfoDemoOrdersLookupResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetTradingInfoDemoOrdersLookupResponse200Headers

type GetTradingInfoDemoOrdersLookupResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetTradingInfoDemoOrdersLookupResponse200Headers the declared response headers of an HTTP 200 response for GetTradingInfoDemoOrdersLookup

type GetTradingInfoDemoOrdersLookupResponse429Headers

type GetTradingInfoDemoOrdersLookupResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetTradingInfoDemoOrdersLookupResponse429Headers the declared response headers of an HTTP 429 response for GetTradingInfoDemoOrdersLookup

type GetTradingInfoDemoPnlParams

type GetTradingInfoDemoPnlParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetTradingInfoDemoPnlParams defines parameters for GetTradingInfoDemoPnl.

type GetTradingInfoDemoPnlResponse

type GetTradingInfoDemoPnlResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *PortfolioResponseWithPnl
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetTradingInfoDemoPnlResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetTradingInfoDemoPnlResponse429Headers
}

func ParseGetTradingInfoDemoPnlResponse

func ParseGetTradingInfoDemoPnlResponse(rsp *http.Response) (*GetTradingInfoDemoPnlResponse, error)

ParseGetTradingInfoDemoPnlResponse parses an HTTP response from a GetTradingInfoDemoPnlWithResponse call

func (GetTradingInfoDemoPnlResponse) ContentType

func (r GetTradingInfoDemoPnlResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetTradingInfoDemoPnlResponse) GetBody

func (r GetTradingInfoDemoPnlResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetTradingInfoDemoPnlResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetTradingInfoDemoPnlResponse) Status

Status returns HTTPResponse.Status

func (GetTradingInfoDemoPnlResponse) StatusCode

func (r GetTradingInfoDemoPnlResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetTradingInfoDemoPnlResponse200Headers

type GetTradingInfoDemoPnlResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetTradingInfoDemoPnlResponse200Headers the declared response headers of an HTTP 200 response for GetTradingInfoDemoPnl

type GetTradingInfoDemoPnlResponse429Headers

type GetTradingInfoDemoPnlResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetTradingInfoDemoPnlResponse429Headers the declared response headers of an HTTP 429 response for GetTradingInfoDemoPnl

type GetTradingInfoDemoPortfolioInstrumentBreakdownParams

type GetTradingInfoDemoPortfolioInstrumentBreakdownParams struct {
	// ConversionMode Conversion to use for non-USD assets when the market is closed. 'eToroApp' uses the last conversion at market close; 'Realtime' uses the realtime conversion.
	ConversionMode *GetTradingInfoDemoPortfolioInstrumentBreakdownParamsConversionMode `form:"conversionMode,omitempty" json:"conversionMode,omitempty"`

	// PositionLevel Level of position data to return. 'Normal' returns position-level data; 'None' omits it.
	PositionLevel *GetTradingInfoDemoPortfolioInstrumentBreakdownParamsPositionLevel `form:"positionLevel,omitempty" json:"positionLevel,omitempty"`

	// OrderLevel Level of order data to return. 'Normal' returns order-level data; 'None' omits it.
	OrderLevel *GetTradingInfoDemoPortfolioInstrumentBreakdownParamsOrderLevel `form:"orderLevel,omitempty" json:"orderLevel,omitempty"`

	// MirrorLevel Level of mirror data to return. 'None' returns only the manual part of the portfolio; 'Details' includes position/order-level data inside mirrors.
	MirrorLevel *GetTradingInfoDemoPortfolioInstrumentBreakdownParamsMirrorLevel `form:"mirrorLevel,omitempty" json:"mirrorLevel,omitempty"`

	// InstrumentIds Filter by instrument IDs. Default: all instruments. Maximum 100 IDs.
	InstrumentIds *[]int32 `form:"instrumentIds,omitempty" json:"instrumentIds,omitempty"`

	// MirrorIds Filter by mirror IDs. MirrorId=0 means the manual part of the portfolio. When mirrorLevel=None the default is manual only ([0]); otherwise the default is all mirrors and manual. Maximum 100 IDs.
	MirrorIds *[]int32 `form:"mirrorIds,omitempty" json:"mirrorIds,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`

	// CID Client identifier.
	CID int32 `json:"CID"`
}

GetTradingInfoDemoPortfolioInstrumentBreakdownParams defines parameters for GetTradingInfoDemoPortfolioInstrumentBreakdown.

type GetTradingInfoDemoPortfolioInstrumentBreakdownParamsConversionMode

type GetTradingInfoDemoPortfolioInstrumentBreakdownParamsConversionMode string

GetTradingInfoDemoPortfolioInstrumentBreakdownParamsConversionMode defines parameters for GetTradingInfoDemoPortfolioInstrumentBreakdown.

const (
	GetTradingInfoDemoPortfolioInstrumentBreakdownParamsConversionModeEToroApp GetTradingInfoDemoPortfolioInstrumentBreakdownParamsConversionMode = "eToroApp"
	GetTradingInfoDemoPortfolioInstrumentBreakdownParamsConversionModeRealtime GetTradingInfoDemoPortfolioInstrumentBreakdownParamsConversionMode = "Realtime"
)

Defines values for GetTradingInfoDemoPortfolioInstrumentBreakdownParamsConversionMode.

func (GetTradingInfoDemoPortfolioInstrumentBreakdownParamsConversionMode) Valid

Valid indicates whether the value is a known member of the GetTradingInfoDemoPortfolioInstrumentBreakdownParamsConversionMode enum.

type GetTradingInfoDemoPortfolioInstrumentBreakdownParamsMirrorLevel

type GetTradingInfoDemoPortfolioInstrumentBreakdownParamsMirrorLevel string

GetTradingInfoDemoPortfolioInstrumentBreakdownParamsMirrorLevel defines parameters for GetTradingInfoDemoPortfolioInstrumentBreakdown.

const (
	GetTradingInfoDemoPortfolioInstrumentBreakdownParamsMirrorLevelDetails GetTradingInfoDemoPortfolioInstrumentBreakdownParamsMirrorLevel = "Details"
	GetTradingInfoDemoPortfolioInstrumentBreakdownParamsMirrorLevelNone    GetTradingInfoDemoPortfolioInstrumentBreakdownParamsMirrorLevel = "None"
)

Defines values for GetTradingInfoDemoPortfolioInstrumentBreakdownParamsMirrorLevel.

func (GetTradingInfoDemoPortfolioInstrumentBreakdownParamsMirrorLevel) Valid

Valid indicates whether the value is a known member of the GetTradingInfoDemoPortfolioInstrumentBreakdownParamsMirrorLevel enum.

type GetTradingInfoDemoPortfolioInstrumentBreakdownParamsOrderLevel

type GetTradingInfoDemoPortfolioInstrumentBreakdownParamsOrderLevel string

GetTradingInfoDemoPortfolioInstrumentBreakdownParamsOrderLevel defines parameters for GetTradingInfoDemoPortfolioInstrumentBreakdown.

const (
	GetTradingInfoDemoPortfolioInstrumentBreakdownParamsOrderLevelNone   GetTradingInfoDemoPortfolioInstrumentBreakdownParamsOrderLevel = "None"
	GetTradingInfoDemoPortfolioInstrumentBreakdownParamsOrderLevelNormal GetTradingInfoDemoPortfolioInstrumentBreakdownParamsOrderLevel = "Normal"
)

Defines values for GetTradingInfoDemoPortfolioInstrumentBreakdownParamsOrderLevel.

func (GetTradingInfoDemoPortfolioInstrumentBreakdownParamsOrderLevel) Valid

Valid indicates whether the value is a known member of the GetTradingInfoDemoPortfolioInstrumentBreakdownParamsOrderLevel enum.

type GetTradingInfoDemoPortfolioInstrumentBreakdownParamsPositionLevel

type GetTradingInfoDemoPortfolioInstrumentBreakdownParamsPositionLevel string

GetTradingInfoDemoPortfolioInstrumentBreakdownParamsPositionLevel defines parameters for GetTradingInfoDemoPortfolioInstrumentBreakdown.

const (
	GetTradingInfoDemoPortfolioInstrumentBreakdownParamsPositionLevelNone   GetTradingInfoDemoPortfolioInstrumentBreakdownParamsPositionLevel = "None"
	GetTradingInfoDemoPortfolioInstrumentBreakdownParamsPositionLevelNormal GetTradingInfoDemoPortfolioInstrumentBreakdownParamsPositionLevel = "Normal"
)

Defines values for GetTradingInfoDemoPortfolioInstrumentBreakdownParamsPositionLevel.

func (GetTradingInfoDemoPortfolioInstrumentBreakdownParamsPositionLevel) Valid

Valid indicates whether the value is a known member of the GetTradingInfoDemoPortfolioInstrumentBreakdownParamsPositionLevel enum.

type GetTradingInfoDemoPortfolioInstrumentBreakdownResponse

type GetTradingInfoDemoPortfolioInstrumentBreakdownResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *InstrumentBreakdownResponseDemo
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetTradingInfoDemoPortfolioInstrumentBreakdownResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetTradingInfoDemoPortfolioInstrumentBreakdownResponse429Headers
}

func ParseGetTradingInfoDemoPortfolioInstrumentBreakdownResponse

func ParseGetTradingInfoDemoPortfolioInstrumentBreakdownResponse(rsp *http.Response) (*GetTradingInfoDemoPortfolioInstrumentBreakdownResponse, error)

ParseGetTradingInfoDemoPortfolioInstrumentBreakdownResponse parses an HTTP response from a GetTradingInfoDemoPortfolioInstrumentBreakdownWithResponse call

func (GetTradingInfoDemoPortfolioInstrumentBreakdownResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetTradingInfoDemoPortfolioInstrumentBreakdownResponse) GetBody

GetBody returns the raw response body bytes

func (GetTradingInfoDemoPortfolioInstrumentBreakdownResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetTradingInfoDemoPortfolioInstrumentBreakdownResponse) Status

Status returns HTTPResponse.Status

func (GetTradingInfoDemoPortfolioInstrumentBreakdownResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetTradingInfoDemoPortfolioInstrumentBreakdownResponse200Headers

type GetTradingInfoDemoPortfolioInstrumentBreakdownResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetTradingInfoDemoPortfolioInstrumentBreakdownResponse200Headers the declared response headers of an HTTP 200 response for GetTradingInfoDemoPortfolioInstrumentBreakdown

type GetTradingInfoDemoPortfolioInstrumentBreakdownResponse429Headers

type GetTradingInfoDemoPortfolioInstrumentBreakdownResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetTradingInfoDemoPortfolioInstrumentBreakdownResponse429Headers the declared response headers of an HTTP 429 response for GetTradingInfoDemoPortfolioInstrumentBreakdown

type GetTradingInfoDemoPortfolioParams

type GetTradingInfoDemoPortfolioParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetTradingInfoDemoPortfolioParams defines parameters for GetTradingInfoDemoPortfolio.

type GetTradingInfoDemoPortfolioResponse

type GetTradingInfoDemoPortfolioResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *PortfolioResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetTradingInfoDemoPortfolioResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetTradingInfoDemoPortfolioResponse429Headers
}

func ParseGetTradingInfoDemoPortfolioResponse

func ParseGetTradingInfoDemoPortfolioResponse(rsp *http.Response) (*GetTradingInfoDemoPortfolioResponse, error)

ParseGetTradingInfoDemoPortfolioResponse parses an HTTP response from a GetTradingInfoDemoPortfolioWithResponse call

func (GetTradingInfoDemoPortfolioResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetTradingInfoDemoPortfolioResponse) GetBody

GetBody returns the raw response body bytes

func (GetTradingInfoDemoPortfolioResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetTradingInfoDemoPortfolioResponse) Status

Status returns HTTPResponse.Status

func (GetTradingInfoDemoPortfolioResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetTradingInfoDemoPortfolioResponse200Headers

type GetTradingInfoDemoPortfolioResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetTradingInfoDemoPortfolioResponse200Headers the declared response headers of an HTTP 200 response for GetTradingInfoDemoPortfolio

type GetTradingInfoDemoPortfolioResponse429Headers

type GetTradingInfoDemoPortfolioResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetTradingInfoDemoPortfolioResponse429Headers the declared response headers of an HTTP 429 response for GetTradingInfoDemoPortfolio

type GetTradingInfoOrdersLookupParams

type GetTradingInfoOrdersLookupParams struct {
	// OrderId Numeric order identifier. Mutually exclusive with referenceId.
	OrderId *int64 `form:"orderId,omitempty" json:"orderId,omitempty"`

	// ReferenceId Request ID header sent during order submission. Mutually exclusive with orderId.
	ReferenceId *string `form:"referenceId,omitempty" json:"referenceId,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetTradingInfoOrdersLookupParams defines parameters for GetTradingInfoOrdersLookup.

type GetTradingInfoOrdersLookupResponse

type GetTradingInfoOrdersLookupResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *GetOrderInfoResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *ProblemDetails
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetTradingInfoOrdersLookupResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetTradingInfoOrdersLookupResponse429Headers
}

func ParseGetTradingInfoOrdersLookupResponse

func ParseGetTradingInfoOrdersLookupResponse(rsp *http.Response) (*GetTradingInfoOrdersLookupResponse, error)

ParseGetTradingInfoOrdersLookupResponse parses an HTTP response from a GetTradingInfoOrdersLookupWithResponse call

func (GetTradingInfoOrdersLookupResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetTradingInfoOrdersLookupResponse) GetBody

GetBody returns the raw response body bytes

func (GetTradingInfoOrdersLookupResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetTradingInfoOrdersLookupResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetTradingInfoOrdersLookupResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetTradingInfoOrdersLookupResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (GetTradingInfoOrdersLookupResponse) Status

Status returns HTTPResponse.Status

func (GetTradingInfoOrdersLookupResponse) StatusCode

func (r GetTradingInfoOrdersLookupResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetTradingInfoOrdersLookupResponse200Headers

type GetTradingInfoOrdersLookupResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetTradingInfoOrdersLookupResponse200Headers the declared response headers of an HTTP 200 response for GetTradingInfoOrdersLookup

type GetTradingInfoOrdersLookupResponse429Headers

type GetTradingInfoOrdersLookupResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetTradingInfoOrdersLookupResponse429Headers the declared response headers of an HTTP 429 response for GetTradingInfoOrdersLookup

type GetTradingInfoPortfolioInstrumentBreakdownParams

type GetTradingInfoPortfolioInstrumentBreakdownParams struct {
	// ConversionMode Conversion to use for non-USD assets when the market is closed. 'eToroApp' uses the last conversion at market close; 'Realtime' uses the realtime conversion.
	ConversionMode *GetTradingInfoPortfolioInstrumentBreakdownParamsConversionMode `form:"conversionMode,omitempty" json:"conversionMode,omitempty"`

	// PositionLevel Level of position data to return. 'Normal' returns position-level data; 'None' omits it.
	PositionLevel *GetTradingInfoPortfolioInstrumentBreakdownParamsPositionLevel `form:"positionLevel,omitempty" json:"positionLevel,omitempty"`

	// OrderLevel Level of order data to return. 'Normal' returns order-level data; 'None' omits it.
	OrderLevel *GetTradingInfoPortfolioInstrumentBreakdownParamsOrderLevel `form:"orderLevel,omitempty" json:"orderLevel,omitempty"`

	// MirrorLevel Level of mirror data to return. 'None' returns only the manual part of the portfolio; 'Details' includes position/order-level data inside mirrors.
	MirrorLevel *GetTradingInfoPortfolioInstrumentBreakdownParamsMirrorLevel `form:"mirrorLevel,omitempty" json:"mirrorLevel,omitempty"`

	// InstrumentIds Filter by instrument IDs. Default: all instruments. Maximum 100 IDs.
	InstrumentIds *[]int32 `form:"instrumentIds,omitempty" json:"instrumentIds,omitempty"`

	// MirrorIds Filter by mirror IDs. MirrorId=0 means the manual part of the portfolio. When mirrorLevel=None the default is manual only ([0]); otherwise the default is all mirrors and manual. Maximum 100 IDs.
	MirrorIds *[]int32 `form:"mirrorIds,omitempty" json:"mirrorIds,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`

	// CID Client identifier.
	CID int32 `json:"CID"`
}

GetTradingInfoPortfolioInstrumentBreakdownParams defines parameters for GetTradingInfoPortfolioInstrumentBreakdown.

type GetTradingInfoPortfolioInstrumentBreakdownParamsConversionMode

type GetTradingInfoPortfolioInstrumentBreakdownParamsConversionMode string

GetTradingInfoPortfolioInstrumentBreakdownParamsConversionMode defines parameters for GetTradingInfoPortfolioInstrumentBreakdown.

const (
	GetTradingInfoPortfolioInstrumentBreakdownParamsConversionModeEToroApp GetTradingInfoPortfolioInstrumentBreakdownParamsConversionMode = "eToroApp"
	GetTradingInfoPortfolioInstrumentBreakdownParamsConversionModeRealtime GetTradingInfoPortfolioInstrumentBreakdownParamsConversionMode = "Realtime"
)

Defines values for GetTradingInfoPortfolioInstrumentBreakdownParamsConversionMode.

func (GetTradingInfoPortfolioInstrumentBreakdownParamsConversionMode) Valid

Valid indicates whether the value is a known member of the GetTradingInfoPortfolioInstrumentBreakdownParamsConversionMode enum.

type GetTradingInfoPortfolioInstrumentBreakdownParamsMirrorLevel

type GetTradingInfoPortfolioInstrumentBreakdownParamsMirrorLevel string

GetTradingInfoPortfolioInstrumentBreakdownParamsMirrorLevel defines parameters for GetTradingInfoPortfolioInstrumentBreakdown.

const (
	GetTradingInfoPortfolioInstrumentBreakdownParamsMirrorLevelDetails GetTradingInfoPortfolioInstrumentBreakdownParamsMirrorLevel = "Details"
	GetTradingInfoPortfolioInstrumentBreakdownParamsMirrorLevelNone    GetTradingInfoPortfolioInstrumentBreakdownParamsMirrorLevel = "None"
)

Defines values for GetTradingInfoPortfolioInstrumentBreakdownParamsMirrorLevel.

func (GetTradingInfoPortfolioInstrumentBreakdownParamsMirrorLevel) Valid

Valid indicates whether the value is a known member of the GetTradingInfoPortfolioInstrumentBreakdownParamsMirrorLevel enum.

type GetTradingInfoPortfolioInstrumentBreakdownParamsOrderLevel

type GetTradingInfoPortfolioInstrumentBreakdownParamsOrderLevel string

GetTradingInfoPortfolioInstrumentBreakdownParamsOrderLevel defines parameters for GetTradingInfoPortfolioInstrumentBreakdown.

const (
	GetTradingInfoPortfolioInstrumentBreakdownParamsOrderLevelNone   GetTradingInfoPortfolioInstrumentBreakdownParamsOrderLevel = "None"
	GetTradingInfoPortfolioInstrumentBreakdownParamsOrderLevelNormal GetTradingInfoPortfolioInstrumentBreakdownParamsOrderLevel = "Normal"
)

Defines values for GetTradingInfoPortfolioInstrumentBreakdownParamsOrderLevel.

func (GetTradingInfoPortfolioInstrumentBreakdownParamsOrderLevel) Valid

Valid indicates whether the value is a known member of the GetTradingInfoPortfolioInstrumentBreakdownParamsOrderLevel enum.

type GetTradingInfoPortfolioInstrumentBreakdownParamsPositionLevel

type GetTradingInfoPortfolioInstrumentBreakdownParamsPositionLevel string

GetTradingInfoPortfolioInstrumentBreakdownParamsPositionLevel defines parameters for GetTradingInfoPortfolioInstrumentBreakdown.

const (
	GetTradingInfoPortfolioInstrumentBreakdownParamsPositionLevelNone   GetTradingInfoPortfolioInstrumentBreakdownParamsPositionLevel = "None"
	GetTradingInfoPortfolioInstrumentBreakdownParamsPositionLevelNormal GetTradingInfoPortfolioInstrumentBreakdownParamsPositionLevel = "Normal"
)

Defines values for GetTradingInfoPortfolioInstrumentBreakdownParamsPositionLevel.

func (GetTradingInfoPortfolioInstrumentBreakdownParamsPositionLevel) Valid

Valid indicates whether the value is a known member of the GetTradingInfoPortfolioInstrumentBreakdownParamsPositionLevel enum.

type GetTradingInfoPortfolioInstrumentBreakdownResponse

type GetTradingInfoPortfolioInstrumentBreakdownResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *InstrumentBreakdownResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetTradingInfoPortfolioInstrumentBreakdownResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetTradingInfoPortfolioInstrumentBreakdownResponse429Headers
}

func ParseGetTradingInfoPortfolioInstrumentBreakdownResponse

func ParseGetTradingInfoPortfolioInstrumentBreakdownResponse(rsp *http.Response) (*GetTradingInfoPortfolioInstrumentBreakdownResponse, error)

ParseGetTradingInfoPortfolioInstrumentBreakdownResponse parses an HTTP response from a GetTradingInfoPortfolioInstrumentBreakdownWithResponse call

func (GetTradingInfoPortfolioInstrumentBreakdownResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetTradingInfoPortfolioInstrumentBreakdownResponse) GetBody

GetBody returns the raw response body bytes

func (GetTradingInfoPortfolioInstrumentBreakdownResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetTradingInfoPortfolioInstrumentBreakdownResponse) Status

Status returns HTTPResponse.Status

func (GetTradingInfoPortfolioInstrumentBreakdownResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetTradingInfoPortfolioInstrumentBreakdownResponse200Headers

type GetTradingInfoPortfolioInstrumentBreakdownResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetTradingInfoPortfolioInstrumentBreakdownResponse200Headers the declared response headers of an HTTP 200 response for GetTradingInfoPortfolioInstrumentBreakdown

type GetTradingInfoPortfolioInstrumentBreakdownResponse429Headers

type GetTradingInfoPortfolioInstrumentBreakdownResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetTradingInfoPortfolioInstrumentBreakdownResponse429Headers the declared response headers of an HTTP 429 response for GetTradingInfoPortfolioInstrumentBreakdown

type GetTradingInfoPortfolioParams

type GetTradingInfoPortfolioParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetTradingInfoPortfolioParams defines parameters for GetTradingInfoPortfolio.

type GetTradingInfoPortfolioResponse

type GetTradingInfoPortfolioResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *PortfolioResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetTradingInfoPortfolioResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetTradingInfoPortfolioResponse429Headers
}

func ParseGetTradingInfoPortfolioResponse

func ParseGetTradingInfoPortfolioResponse(rsp *http.Response) (*GetTradingInfoPortfolioResponse, error)

ParseGetTradingInfoPortfolioResponse parses an HTTP response from a GetTradingInfoPortfolioWithResponse call

func (GetTradingInfoPortfolioResponse) ContentType

func (r GetTradingInfoPortfolioResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetTradingInfoPortfolioResponse) GetBody

func (r GetTradingInfoPortfolioResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetTradingInfoPortfolioResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetTradingInfoPortfolioResponse) Status

Status returns HTTPResponse.Status

func (GetTradingInfoPortfolioResponse) StatusCode

func (r GetTradingInfoPortfolioResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetTradingInfoPortfolioResponse200Headers

type GetTradingInfoPortfolioResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetTradingInfoPortfolioResponse200Headers the declared response headers of an HTTP 200 response for GetTradingInfoPortfolio

type GetTradingInfoPortfolioResponse429Headers

type GetTradingInfoPortfolioResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetTradingInfoPortfolioResponse429Headers the declared response headers of an HTTP 429 response for GetTradingInfoPortfolio

type GetTradingInfoRealCloseOrdersByOrderIdParams

type GetTradingInfoRealCloseOrdersByOrderIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetTradingInfoRealCloseOrdersByOrderIdParams defines parameters for GetTradingInfoRealCloseOrdersByOrderId.

type GetTradingInfoRealCloseOrdersByOrderIdResponse

type GetTradingInfoRealCloseOrdersByOrderIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *OrderForCloseInfoResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *ProblemDetails
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetTradingInfoRealCloseOrdersByOrderIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetTradingInfoRealCloseOrdersByOrderIdResponse429Headers
}

func ParseGetTradingInfoRealCloseOrdersByOrderIdResponse

func ParseGetTradingInfoRealCloseOrdersByOrderIdResponse(rsp *http.Response) (*GetTradingInfoRealCloseOrdersByOrderIdResponse, error)

ParseGetTradingInfoRealCloseOrdersByOrderIdResponse parses an HTTP response from a GetTradingInfoRealCloseOrdersByOrderIdWithResponse call

func (GetTradingInfoRealCloseOrdersByOrderIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetTradingInfoRealCloseOrdersByOrderIdResponse) GetBody

GetBody returns the raw response body bytes

func (GetTradingInfoRealCloseOrdersByOrderIdResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetTradingInfoRealCloseOrdersByOrderIdResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (GetTradingInfoRealCloseOrdersByOrderIdResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (GetTradingInfoRealCloseOrdersByOrderIdResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (GetTradingInfoRealCloseOrdersByOrderIdResponse) Status

Status returns HTTPResponse.Status

func (GetTradingInfoRealCloseOrdersByOrderIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetTradingInfoRealCloseOrdersByOrderIdResponse200Headers

type GetTradingInfoRealCloseOrdersByOrderIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetTradingInfoRealCloseOrdersByOrderIdResponse200Headers the declared response headers of an HTTP 200 response for GetTradingInfoRealCloseOrdersByOrderId

type GetTradingInfoRealCloseOrdersByOrderIdResponse429Headers

type GetTradingInfoRealCloseOrdersByOrderIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetTradingInfoRealCloseOrdersByOrderIdResponse429Headers the declared response headers of an HTTP 429 response for GetTradingInfoRealCloseOrdersByOrderId

type GetTradingInfoRealPnlParams

type GetTradingInfoRealPnlParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetTradingInfoRealPnlParams defines parameters for GetTradingInfoRealPnl.

type GetTradingInfoRealPnlResponse

type GetTradingInfoRealPnlResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *PortfolioResponseWithPnl
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetTradingInfoRealPnlResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetTradingInfoRealPnlResponse429Headers
}

func ParseGetTradingInfoRealPnlResponse

func ParseGetTradingInfoRealPnlResponse(rsp *http.Response) (*GetTradingInfoRealPnlResponse, error)

ParseGetTradingInfoRealPnlResponse parses an HTTP response from a GetTradingInfoRealPnlWithResponse call

func (GetTradingInfoRealPnlResponse) ContentType

func (r GetTradingInfoRealPnlResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetTradingInfoRealPnlResponse) GetBody

func (r GetTradingInfoRealPnlResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetTradingInfoRealPnlResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetTradingInfoRealPnlResponse) Status

Status returns HTTPResponse.Status

func (GetTradingInfoRealPnlResponse) StatusCode

func (r GetTradingInfoRealPnlResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetTradingInfoRealPnlResponse200Headers

type GetTradingInfoRealPnlResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetTradingInfoRealPnlResponse200Headers the declared response headers of an HTTP 200 response for GetTradingInfoRealPnl

type GetTradingInfoRealPnlResponse429Headers

type GetTradingInfoRealPnlResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetTradingInfoRealPnlResponse429Headers the declared response headers of an HTTP 429 response for GetTradingInfoRealPnl

type GetTradingInfoTradeDemoHistoryParams

type GetTradingInfoTradeDemoHistoryParams struct {
	// MinDate The start date of the period you would like to view.
	MinDate openapi_types.Date `form:"minDate" json:"minDate"`

	// Page The page number.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize The amount of trades in each page.
	PageSize *int `form:"pageSize,omitempty" json:"pageSize,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetTradingInfoTradeDemoHistoryParams defines parameters for GetTradingInfoTradeDemoHistory.

type GetTradingInfoTradeDemoHistoryResponse

type GetTradingInfoTradeDemoHistoryResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *[]struct {
		// CloseRate The closing rate of the trade
		CloseRate *float32 `json:"closeRate,omitempty"`

		// CloseTimestamp The closing timestamp of the trade
		CloseTimestamp *time.Time `json:"closeTimestamp,omitempty"`

		// Fees The fees of the trade
		Fees *float32 `json:"fees,omitempty"`

		// InitialInvestment The initial investment amount of the trade
		InitialInvestment *float32 `json:"initialInvestment,omitempty"`

		// InstrumentId The instrument ID of the instrument that was traded
		InstrumentId *int32 `json:"instrumentId,omitempty"`

		// Investment The investment amount of the trade
		Investment *float32 `json:"investment,omitempty"`

		// IsBuy Indicates if the trade was a buy or sell
		IsBuy *bool `json:"isBuy,omitempty"`

		// Leverage The leverage used in the trade
		Leverage *int32 `json:"leverage,omitempty"`

		// NetProfit The net profit of the trade
		NetProfit *float32 `json:"netProfit,omitempty"`

		// OpenRate The opening rate of the trade
		OpenRate *float32 `json:"openRate,omitempty"`

		// OpenTimestamp The opening timestamp of the trade
		OpenTimestamp *time.Time `json:"openTimestamp,omitempty"`

		// OrderId The order ID of the trade
		OrderId *int64 `json:"orderId,omitempty"`

		// ParentPositionId The parent position ID of the trade
		ParentPositionId *int64 `json:"parentPositionId,omitempty"`

		// PositionId The position ID of the trade
		PositionId *int64 `json:"positionId,omitempty"`

		// SocialTradeId The social trade ID of the trade
		SocialTradeId *int64 `json:"socialTradeId,omitempty"`

		// StopLossRate The stop loss rate of the trade
		StopLossRate *float32 `json:"stopLossRate,omitempty"`

		// TakeProfitRate The take profit rate of the trade
		TakeProfitRate *float32 `json:"takeProfitRate,omitempty"`

		// TrailingStopLoss Indicates if the trade had a trailing stop loss
		TrailingStopLoss *bool `json:"trailingStopLoss,omitempty"`

		// Units The number of units traded
		Units *float32 `json:"units,omitempty"`
	}
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetTradingInfoTradeDemoHistoryResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetTradingInfoTradeDemoHistoryResponse429Headers
}

func ParseGetTradingInfoTradeDemoHistoryResponse

func ParseGetTradingInfoTradeDemoHistoryResponse(rsp *http.Response) (*GetTradingInfoTradeDemoHistoryResponse, error)

ParseGetTradingInfoTradeDemoHistoryResponse parses an HTTP response from a GetTradingInfoTradeDemoHistoryWithResponse call

func (GetTradingInfoTradeDemoHistoryResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetTradingInfoTradeDemoHistoryResponse) GetBody

GetBody returns the raw response body bytes

func (GetTradingInfoTradeDemoHistoryResponse) GetJSON200

func (r GetTradingInfoTradeDemoHistoryResponse) GetJSON200() *[]struct {
	// CloseRate The closing rate of the trade
	CloseRate *float32 `json:"closeRate,omitempty"`

	// CloseTimestamp The closing timestamp of the trade
	CloseTimestamp *time.Time `json:"closeTimestamp,omitempty"`

	// Fees The fees of the trade
	Fees *float32 `json:"fees,omitempty"`

	// InitialInvestment The initial investment amount of the trade
	InitialInvestment *float32 `json:"initialInvestment,omitempty"`

	// InstrumentId The instrument ID of the instrument that was traded
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// Investment The investment amount of the trade
	Investment *float32 `json:"investment,omitempty"`

	// IsBuy Indicates if the trade was a buy or sell
	IsBuy *bool `json:"isBuy,omitempty"`

	// Leverage The leverage used in the trade
	Leverage *int32 `json:"leverage,omitempty"`

	// NetProfit The net profit of the trade
	NetProfit *float32 `json:"netProfit,omitempty"`

	// OpenRate The opening rate of the trade
	OpenRate *float32 `json:"openRate,omitempty"`

	// OpenTimestamp The opening timestamp of the trade
	OpenTimestamp *time.Time `json:"openTimestamp,omitempty"`

	// OrderId The order ID of the trade
	OrderId *int64 `json:"orderId,omitempty"`

	// ParentPositionId The parent position ID of the trade
	ParentPositionId *int64 `json:"parentPositionId,omitempty"`

	// PositionId The position ID of the trade
	PositionId *int64 `json:"positionId,omitempty"`

	// SocialTradeId The social trade ID of the trade
	SocialTradeId *int64 `json:"socialTradeId,omitempty"`

	// StopLossRate The stop loss rate of the trade
	StopLossRate *float32 `json:"stopLossRate,omitempty"`

	// TakeProfitRate The take profit rate of the trade
	TakeProfitRate *float32 `json:"takeProfitRate,omitempty"`

	// TrailingStopLoss Indicates if the trade had a trailing stop loss
	TrailingStopLoss *bool `json:"trailingStopLoss,omitempty"`

	// Units The number of units traded
	Units *float32 `json:"units,omitempty"`
}

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetTradingInfoTradeDemoHistoryResponse) Status

Status returns HTTPResponse.Status

func (GetTradingInfoTradeDemoHistoryResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetTradingInfoTradeDemoHistoryResponse200Headers

type GetTradingInfoTradeDemoHistoryResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetTradingInfoTradeDemoHistoryResponse200Headers the declared response headers of an HTTP 200 response for GetTradingInfoTradeDemoHistory

type GetTradingInfoTradeDemoHistoryResponse429Headers

type GetTradingInfoTradeDemoHistoryResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetTradingInfoTradeDemoHistoryResponse429Headers the declared response headers of an HTTP 429 response for GetTradingInfoTradeDemoHistory

type GetTradingInfoTradeHistoryParams

type GetTradingInfoTradeHistoryParams struct {
	// MinDate The start date of the period you would like to view.
	MinDate openapi_types.Date `form:"minDate" json:"minDate"`

	// Page The page number.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize The amount of trades in each page.
	PageSize *int `form:"pageSize,omitempty" json:"pageSize,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetTradingInfoTradeHistoryParams defines parameters for GetTradingInfoTradeHistory.

type GetTradingInfoTradeHistoryResponse

type GetTradingInfoTradeHistoryResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *[]struct {
		// CloseRate The closing rate of the trade
		CloseRate *float32 `json:"closeRate,omitempty"`

		// CloseTimestamp The closing timestamp of the trade
		CloseTimestamp *time.Time `json:"closeTimestamp,omitempty"`

		// Fees The fees of the trade
		Fees *float32 `json:"fees,omitempty"`

		// InitialInvestment The initial investment amount of the trade
		InitialInvestment *float32 `json:"initialInvestment,omitempty"`

		// InstrumentId The instrument ID of the instrument that was traded
		InstrumentId *int32 `json:"instrumentId,omitempty"`

		// Investment The investment amount of the trade
		Investment *float32 `json:"investment,omitempty"`

		// IsBuy Indicates if the trade was a buy or sell
		IsBuy *bool `json:"isBuy,omitempty"`

		// Leverage The leverage used in the trade
		Leverage *int32 `json:"leverage,omitempty"`

		// NetProfit The net profit of the trade
		NetProfit *float32 `json:"netProfit,omitempty"`

		// OpenRate The opening rate of the trade
		OpenRate *float32 `json:"openRate,omitempty"`

		// OpenTimestamp The opening timestamp of the trade
		OpenTimestamp *time.Time `json:"openTimestamp,omitempty"`

		// OrderId The order ID of the trade
		OrderId *int64 `json:"orderId,omitempty"`

		// ParentPositionId The parent position ID of the trade
		ParentPositionId *int64 `json:"parentPositionId,omitempty"`

		// PositionId The position ID of the trade
		PositionId *int64 `json:"positionId,omitempty"`

		// SocialTradeId The social trade ID of the trade
		SocialTradeId *int64 `json:"socialTradeId,omitempty"`

		// StopLossRate The stop loss rate of the trade
		StopLossRate *float32 `json:"stopLossRate,omitempty"`

		// TakeProfitRate The take profit rate of the trade
		TakeProfitRate *float32 `json:"takeProfitRate,omitempty"`

		// TrailingStopLoss Indicates if the trade had a trailing stop loss
		TrailingStopLoss *bool `json:"trailingStopLoss,omitempty"`

		// Units The number of units traded
		Units *float32 `json:"units,omitempty"`
	}
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetTradingInfoTradeHistoryResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetTradingInfoTradeHistoryResponse429Headers
}

func ParseGetTradingInfoTradeHistoryResponse

func ParseGetTradingInfoTradeHistoryResponse(rsp *http.Response) (*GetTradingInfoTradeHistoryResponse, error)

ParseGetTradingInfoTradeHistoryResponse parses an HTTP response from a GetTradingInfoTradeHistoryWithResponse call

func (GetTradingInfoTradeHistoryResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetTradingInfoTradeHistoryResponse) GetBody

GetBody returns the raw response body bytes

func (GetTradingInfoTradeHistoryResponse) GetJSON200

func (r GetTradingInfoTradeHistoryResponse) GetJSON200() *[]struct {
	// CloseRate The closing rate of the trade
	CloseRate *float32 `json:"closeRate,omitempty"`

	// CloseTimestamp The closing timestamp of the trade
	CloseTimestamp *time.Time `json:"closeTimestamp,omitempty"`

	// Fees The fees of the trade
	Fees *float32 `json:"fees,omitempty"`

	// InitialInvestment The initial investment amount of the trade
	InitialInvestment *float32 `json:"initialInvestment,omitempty"`

	// InstrumentId The instrument ID of the instrument that was traded
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// Investment The investment amount of the trade
	Investment *float32 `json:"investment,omitempty"`

	// IsBuy Indicates if the trade was a buy or sell
	IsBuy *bool `json:"isBuy,omitempty"`

	// Leverage The leverage used in the trade
	Leverage *int32 `json:"leverage,omitempty"`

	// NetProfit The net profit of the trade
	NetProfit *float32 `json:"netProfit,omitempty"`

	// OpenRate The opening rate of the trade
	OpenRate *float32 `json:"openRate,omitempty"`

	// OpenTimestamp The opening timestamp of the trade
	OpenTimestamp *time.Time `json:"openTimestamp,omitempty"`

	// OrderId The order ID of the trade
	OrderId *int64 `json:"orderId,omitempty"`

	// ParentPositionId The parent position ID of the trade
	ParentPositionId *int64 `json:"parentPositionId,omitempty"`

	// PositionId The position ID of the trade
	PositionId *int64 `json:"positionId,omitempty"`

	// SocialTradeId The social trade ID of the trade
	SocialTradeId *int64 `json:"socialTradeId,omitempty"`

	// StopLossRate The stop loss rate of the trade
	StopLossRate *float32 `json:"stopLossRate,omitempty"`

	// TakeProfitRate The take profit rate of the trade
	TakeProfitRate *float32 `json:"takeProfitRate,omitempty"`

	// TrailingStopLoss Indicates if the trade had a trailing stop loss
	TrailingStopLoss *bool `json:"trailingStopLoss,omitempty"`

	// Units The number of units traded
	Units *float32 `json:"units,omitempty"`
}

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetTradingInfoTradeHistoryResponse) Status

Status returns HTTPResponse.Status

func (GetTradingInfoTradeHistoryResponse) StatusCode

func (r GetTradingInfoTradeHistoryResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetTradingInfoTradeHistoryResponse200Headers

type GetTradingInfoTradeHistoryResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetTradingInfoTradeHistoryResponse200Headers the declared response headers of an HTTP 200 response for GetTradingInfoTradeHistory

type GetTradingInfoTradeHistoryResponse429Headers

type GetTradingInfoTradeHistoryResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetTradingInfoTradeHistoryResponse429Headers the declared response headers of an HTTP 429 response for GetTradingInfoTradeHistory

type GetTransferByIdParams

type GetTransferByIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetTransferByIdParams defines parameters for GetTransferById.

type GetTransferByIdResponse

type GetTransferByIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *TransferLookupResult
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetTransferByIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetTransferByIdResponse429Headers
}

func ParseGetTransferByIdResponse

func ParseGetTransferByIdResponse(rsp *http.Response) (*GetTransferByIdResponse, error)

ParseGetTransferByIdResponse parses an HTTP response from a GetTransferByIdWithResponse call

func (GetTransferByIdResponse) ContentType

func (r GetTransferByIdResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetTransferByIdResponse) GetBody

func (r GetTransferByIdResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetTransferByIdResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetTransferByIdResponse) Status

func (r GetTransferByIdResponse) Status() string

Status returns HTTPResponse.Status

func (GetTransferByIdResponse) StatusCode

func (r GetTransferByIdResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetTransferByIdResponse200Headers

type GetTransferByIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetTransferByIdResponse200Headers the declared response headers of an HTTP 200 response for GetTransferById

type GetTransferByIdResponse429Headers

type GetTransferByIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetTransferByIdResponse429Headers the declared response headers of an HTTP 429 response for GetTransferById

type GetTransferEligibilityParams

type GetTransferEligibilityParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetTransferEligibilityParams defines parameters for GetTransferEligibility.

type GetTransferEligibilityResponse

type GetTransferEligibilityResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *[]TransferEligibility
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetTransferEligibilityResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetTransferEligibilityResponse429Headers
}

func ParseGetTransferEligibilityResponse

func ParseGetTransferEligibilityResponse(rsp *http.Response) (*GetTransferEligibilityResponse, error)

ParseGetTransferEligibilityResponse parses an HTTP response from a GetTransferEligibilityWithResponse call

func (GetTransferEligibilityResponse) ContentType

func (r GetTransferEligibilityResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetTransferEligibilityResponse) GetBody

func (r GetTransferEligibilityResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetTransferEligibilityResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetTransferEligibilityResponse) Status

Status returns HTTPResponse.Status

func (GetTransferEligibilityResponse) StatusCode

func (r GetTransferEligibilityResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetTransferEligibilityResponse200Headers

type GetTransferEligibilityResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetTransferEligibilityResponse200Headers the declared response headers of an HTTP 200 response for GetTransferEligibility

type GetTransferEligibilityResponse429Headers

type GetTransferEligibilityResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetTransferEligibilityResponse429Headers the declared response headers of an HTTP 429 response for GetTransferEligibility

type GetTransferFeeConfigurationParams

type GetTransferFeeConfigurationParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetTransferFeeConfigurationParams defines parameters for GetTransferFeeConfiguration.

type GetTransferFeeConfigurationResponse

type GetTransferFeeConfigurationResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *[]TransferFeeConfigurationRow
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetTransferFeeConfigurationResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetTransferFeeConfigurationResponse429Headers
}

func ParseGetTransferFeeConfigurationResponse

func ParseGetTransferFeeConfigurationResponse(rsp *http.Response) (*GetTransferFeeConfigurationResponse, error)

ParseGetTransferFeeConfigurationResponse parses an HTTP response from a GetTransferFeeConfigurationWithResponse call

func (GetTransferFeeConfigurationResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetTransferFeeConfigurationResponse) GetBody

GetBody returns the raw response body bytes

func (GetTransferFeeConfigurationResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetTransferFeeConfigurationResponse) Status

Status returns HTTPResponse.Status

func (GetTransferFeeConfigurationResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetTransferFeeConfigurationResponse200Headers

type GetTransferFeeConfigurationResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetTransferFeeConfigurationResponse200Headers the declared response headers of an HTTP 200 response for GetTransferFeeConfiguration

type GetTransferFeeConfigurationResponse429Headers

type GetTransferFeeConfigurationResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetTransferFeeConfigurationResponse429Headers the declared response headers of an HTTP 429 response for GetTransferFeeConfiguration

type GetTransferLimitsParams

type GetTransferLimitsParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetTransferLimitsParams defines parameters for GetTransferLimits.

type GetTransferLimitsResponse

type GetTransferLimitsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *[]TransferLimitRow
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetTransferLimitsResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetTransferLimitsResponse429Headers
}

func ParseGetTransferLimitsResponse

func ParseGetTransferLimitsResponse(rsp *http.Response) (*GetTransferLimitsResponse, error)

ParseGetTransferLimitsResponse parses an HTTP response from a GetTransferLimitsWithResponse call

func (GetTransferLimitsResponse) ContentType

func (r GetTransferLimitsResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetTransferLimitsResponse) GetBody

func (r GetTransferLimitsResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetTransferLimitsResponse) GetJSON200

func (r GetTransferLimitsResponse) GetJSON200() *[]TransferLimitRow

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetTransferLimitsResponse) Status

func (r GetTransferLimitsResponse) Status() string

Status returns HTTPResponse.Status

func (GetTransferLimitsResponse) StatusCode

func (r GetTransferLimitsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetTransferLimitsResponse200Headers

type GetTransferLimitsResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetTransferLimitsResponse200Headers the declared response headers of an HTTP 200 response for GetTransferLimits

type GetTransferLimitsResponse429Headers

type GetTransferLimitsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetTransferLimitsResponse429Headers the declared response headers of an HTTP 429 response for GetTransferLimits

type GetTransferableBalanceParams

type GetTransferableBalanceParams struct {
	// SourceAccountType Source account type (trading, options, or cash).
	SourceAccountType MoneybusApiAccountType `form:"sourceAccountType" json:"sourceAccountType"`

	// SourceAccountId Source account identifier.
	SourceAccountId string `form:"sourceAccountId" json:"sourceAccountId"`

	// DestinationAccountType Destination account type (trading, options, or cash).
	DestinationAccountType MoneybusApiAccountType `form:"destinationAccountType" json:"destinationAccountType"`

	// DestinationAccountId Destination account identifier.
	DestinationAccountId string `form:"destinationAccountId" json:"destinationAccountId"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetTransferableBalanceParams defines parameters for GetTransferableBalance.

type GetTransferableBalanceResponse

type GetTransferableBalanceResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *TransferableBalanceResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetTransferableBalanceResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetTransferableBalanceResponse429Headers
}

func ParseGetTransferableBalanceResponse

func ParseGetTransferableBalanceResponse(rsp *http.Response) (*GetTransferableBalanceResponse, error)

ParseGetTransferableBalanceResponse parses an HTTP response from a GetTransferableBalanceWithResponse call

func (GetTransferableBalanceResponse) ContentType

func (r GetTransferableBalanceResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetTransferableBalanceResponse) GetBody

func (r GetTransferableBalanceResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetTransferableBalanceResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetTransferableBalanceResponse) Status

Status returns HTTPResponse.Status

func (GetTransferableBalanceResponse) StatusCode

func (r GetTransferableBalanceResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetTransferableBalanceResponse200Headers

type GetTransferableBalanceResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetTransferableBalanceResponse200Headers the declared response headers of an HTTP 200 response for GetTransferableBalance

type GetTransferableBalanceResponse429Headers

type GetTransferableBalanceResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetTransferableBalanceResponse429Headers the declared response headers of an HTTP 429 response for GetTransferableBalance

type GetUserDailyGainResponse

type GetUserDailyGainResponse struct {
	// contains filtered or unexported fields
}

GetUserDailyGainResponse defines model for getUserDailyGainResponse.

func (GetUserDailyGainResponse) AsGetUserDailyGainResponse0

func (t GetUserDailyGainResponse) AsGetUserDailyGainResponse0() (GetUserDailyGainResponse0, error)

AsGetUserDailyGainResponse0 returns the union data inside the GetUserDailyGainResponse as a GetUserDailyGainResponse0

func (GetUserDailyGainResponse) AsGetUserDailyGainResponse1

func (t GetUserDailyGainResponse) AsGetUserDailyGainResponse1() (GetUserDailyGainResponse1, error)

AsGetUserDailyGainResponse1 returns the union data inside the GetUserDailyGainResponse as a GetUserDailyGainResponse1

func (*GetUserDailyGainResponse) FromGetUserDailyGainResponse0

func (t *GetUserDailyGainResponse) FromGetUserDailyGainResponse0(v GetUserDailyGainResponse0) error

FromGetUserDailyGainResponse0 overwrites any union data inside the GetUserDailyGainResponse as the provided GetUserDailyGainResponse0

func (*GetUserDailyGainResponse) FromGetUserDailyGainResponse1

func (t *GetUserDailyGainResponse) FromGetUserDailyGainResponse1(v GetUserDailyGainResponse1) error

FromGetUserDailyGainResponse1 overwrites any union data inside the GetUserDailyGainResponse as the provided GetUserDailyGainResponse1

func (GetUserDailyGainResponse) MarshalJSON

func (t GetUserDailyGainResponse) MarshalJSON() ([]byte, error)

func (*GetUserDailyGainResponse) MergeGetUserDailyGainResponse0

func (t *GetUserDailyGainResponse) MergeGetUserDailyGainResponse0(v GetUserDailyGainResponse0) error

MergeGetUserDailyGainResponse0 performs a merge with any union data inside the GetUserDailyGainResponse, using the provided GetUserDailyGainResponse0

func (*GetUserDailyGainResponse) MergeGetUserDailyGainResponse1

func (t *GetUserDailyGainResponse) MergeGetUserDailyGainResponse1(v GetUserDailyGainResponse1) error

MergeGetUserDailyGainResponse1 performs a merge with any union data inside the GetUserDailyGainResponse, using the provided GetUserDailyGainResponse1

func (*GetUserDailyGainResponse) UnmarshalJSON

func (t *GetUserDailyGainResponse) UnmarshalJSON(b []byte) error

type GetUserDailyGainResponse0

type GetUserDailyGainResponse0 = []GainEntry

GetUserDailyGainResponse0 defines model for GetUserDailyGainResponse.0.

type GetUserDailyGainResponse1

type GetUserDailyGainResponse1 struct {
	Gain *float32 `json:"gain,omitempty"`
}

GetUserDailyGainResponse1 defines model for GetUserDailyGainResponse.1.

type GetUserGainResponse

type GetUserGainResponse struct {
	Monthly *[]GainEntry `json:"monthly,omitempty"`
	Yearly  *[]GainEntry `json:"yearly,omitempty"`
}

GetUserGainResponse defines model for getUserGainResponse.

type GetUserInfoPeopleByUsernameDailyGainParams

type GetUserInfoPeopleByUsernameDailyGainParams struct {
	// MinDate Start date for the analysis period (inclusive) in YYYY-MM-DD format
	MinDate openapi_types.Date `form:"minDate" json:"minDate"`

	// MaxDate End date for the analysis period (inclusive) in YYYY-MM-DD format
	MaxDate openapi_types.Date `form:"maxDate" json:"maxDate"`

	// Type Specifies the granularity of the performance data: 'Daily' for day-by-day metrics or 'Period' for aggregated period statistics
	Type GetUserInfoPeopleByUsernameDailyGainParamsType `form:"type" json:"type"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetUserInfoPeopleByUsernameDailyGainParams defines parameters for GetUserInfoPeopleByUsernameDailyGain.

type GetUserInfoPeopleByUsernameDailyGainParamsType

type GetUserInfoPeopleByUsernameDailyGainParamsType string

GetUserInfoPeopleByUsernameDailyGainParamsType defines parameters for GetUserInfoPeopleByUsernameDailyGain.

const (
	GetUserInfoPeopleByUsernameDailyGainParamsTypeDaily  GetUserInfoPeopleByUsernameDailyGainParamsType = "Daily"
	GetUserInfoPeopleByUsernameDailyGainParamsTypePeriod GetUserInfoPeopleByUsernameDailyGainParamsType = "Period"
)

Defines values for GetUserInfoPeopleByUsernameDailyGainParamsType.

func (GetUserInfoPeopleByUsernameDailyGainParamsType) Valid

Valid indicates whether the value is a known member of the GetUserInfoPeopleByUsernameDailyGainParamsType enum.

type GetUserInfoPeopleByUsernameDailyGainResponse

type GetUserInfoPeopleByUsernameDailyGainResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *GetUserDailyGainResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetUserInfoPeopleByUsernameDailyGainResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetUserInfoPeopleByUsernameDailyGainResponse429Headers
}

func ParseGetUserInfoPeopleByUsernameDailyGainResponse

func ParseGetUserInfoPeopleByUsernameDailyGainResponse(rsp *http.Response) (*GetUserInfoPeopleByUsernameDailyGainResponse, error)

ParseGetUserInfoPeopleByUsernameDailyGainResponse parses an HTTP response from a GetUserInfoPeopleByUsernameDailyGainWithResponse call

func (GetUserInfoPeopleByUsernameDailyGainResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetUserInfoPeopleByUsernameDailyGainResponse) GetBody

GetBody returns the raw response body bytes

func (GetUserInfoPeopleByUsernameDailyGainResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetUserInfoPeopleByUsernameDailyGainResponse) Status

Status returns HTTPResponse.Status

func (GetUserInfoPeopleByUsernameDailyGainResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetUserInfoPeopleByUsernameDailyGainResponse200Headers

type GetUserInfoPeopleByUsernameDailyGainResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetUserInfoPeopleByUsernameDailyGainResponse200Headers the declared response headers of an HTTP 200 response for GetUserInfoPeopleByUsernameDailyGain

type GetUserInfoPeopleByUsernameDailyGainResponse429Headers

type GetUserInfoPeopleByUsernameDailyGainResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetUserInfoPeopleByUsernameDailyGainResponse429Headers the declared response headers of an HTTP 429 response for GetUserInfoPeopleByUsernameDailyGain

type GetUserInfoPeopleByUsernameGainParams

type GetUserInfoPeopleByUsernameGainParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetUserInfoPeopleByUsernameGainParams defines parameters for GetUserInfoPeopleByUsernameGain.

type GetUserInfoPeopleByUsernameGainResponse

type GetUserInfoPeopleByUsernameGainResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *GetUserGainResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetUserInfoPeopleByUsernameGainResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetUserInfoPeopleByUsernameGainResponse429Headers
}

func ParseGetUserInfoPeopleByUsernameGainResponse

func ParseGetUserInfoPeopleByUsernameGainResponse(rsp *http.Response) (*GetUserInfoPeopleByUsernameGainResponse, error)

ParseGetUserInfoPeopleByUsernameGainResponse parses an HTTP response from a GetUserInfoPeopleByUsernameGainWithResponse call

func (GetUserInfoPeopleByUsernameGainResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetUserInfoPeopleByUsernameGainResponse) GetBody

GetBody returns the raw response body bytes

func (GetUserInfoPeopleByUsernameGainResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetUserInfoPeopleByUsernameGainResponse) Status

Status returns HTTPResponse.Status

func (GetUserInfoPeopleByUsernameGainResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetUserInfoPeopleByUsernameGainResponse200Headers

type GetUserInfoPeopleByUsernameGainResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetUserInfoPeopleByUsernameGainResponse200Headers the declared response headers of an HTTP 200 response for GetUserInfoPeopleByUsernameGain

type GetUserInfoPeopleByUsernameGainResponse429Headers

type GetUserInfoPeopleByUsernameGainResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetUserInfoPeopleByUsernameGainResponse429Headers the declared response headers of an HTTP 429 response for GetUserInfoPeopleByUsernameGain

type GetUserInfoPeopleByUsernamePortfolioLiveParams

type GetUserInfoPeopleByUsernamePortfolioLiveParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetUserInfoPeopleByUsernamePortfolioLiveParams defines parameters for GetUserInfoPeopleByUsernamePortfolioLive.

type GetUserInfoPeopleByUsernamePortfolioLiveResponse

type GetUserInfoPeopleByUsernamePortfolioLiveResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *struct {
		Positions *[]struct {
			// InstrumentId Instrument ID
			InstrumentId *int `json:"instrumentId,omitempty"`

			// InvestmentPct Realized Investment
			InvestmentPct *float32 `json:"investmentPct,omitempty"`

			// IsBuy Buy/Sell
			IsBuy *bool `json:"isBuy,omitempty"`

			// Leverage Leverage
			Leverage *int `json:"leverage,omitempty"`

			// NetProfit Profit Percentage
			NetProfit *float32 `json:"netProfit,omitempty"`

			// OpenRate Open Rate
			OpenRate *float32 `json:"openRate,omitempty"`

			// OpenTimestamp Open Timestamp
			OpenTimestamp *time.Time `json:"openTimestamp,omitempty"`

			// ParentPositionId Parent Position ID
			ParentPositionId *int `json:"parentPositionId,omitempty"`

			// PositionId Position ID
			PositionId *int `json:"positionId,omitempty"`

			// SocialTradeId Mirror ID
			SocialTradeId *int `json:"socialTradeId,omitempty"`

			// StopLossRate Stop Loss
			StopLossRate *float32 `json:"stopLossRate,omitempty"`

			// TakeProfitRate Take Profit
			TakeProfitRate *float32 `json:"takeProfitRate,omitempty"`

			// TrailingStopLoss Trailing Stop loss enabled
			TrailingStopLoss *bool `json:"trailingStopLoss,omitempty"`
		} `json:"positions,omitempty"`

		// RealizedCreditPct Credit as a percentage of the realized credit
		RealizedCreditPct *float32 `json:"realizedCreditPct,omitempty"`
		SocialTrades      *[]struct {
			// ClosedNetProfit Net profit of closed trades
			ClosedNetProfit *float32 `json:"closedNetProfit,omitempty"`

			// InvestmentPct Investment Pct
			InvestmentPct *float32 `json:"investmentPct,omitempty"`

			// IsClosing Pending Close
			IsClosing *bool `json:"isClosing,omitempty"`

			// NetProfit Profit Pct
			NetProfit *float32 `json:"netProfit,omitempty"`

			// OpenInvestmentPct Open Trades in Mirror
			OpenInvestmentPct *float32 `json:"openInvestmentPct,omitempty"`

			// OpenNetProfit Net profit of opened trades
			OpenNetProfit *float32 `json:"openNetProfit,omitempty"`

			// OpenTimestamp Opening Timestamp
			OpenTimestamp *time.Time `json:"openTimestamp,omitempty"`

			// ParentUsername Parent Username
			ParentUsername *string `json:"parentUsername,omitempty"`
			Positions      *[]struct {
				// InstrumentId Instrument ID
				InstrumentId *int `json:"instrumentId,omitempty"`

				// InvestmentPct Realized Investment
				InvestmentPct *float32 `json:"investmentPct,omitempty"`

				// IsBuy Buy/Sell
				IsBuy *bool `json:"isBuy,omitempty"`

				// Leverage Leverage
				Leverage *int `json:"leverage,omitempty"`

				// NetProfit Profit Percentage
				NetProfit *float32 `json:"netProfit,omitempty"`

				// OpenRate Open Rate
				OpenRate *float32 `json:"openRate,omitempty"`

				// OpenTimestamp Open Timestamp
				OpenTimestamp *time.Time `json:"openTimestamp,omitempty"`

				// ParentPositionId Parent Position ID
				ParentPositionId *int `json:"parentPositionId,omitempty"`

				// PositionId Position ID
				PositionId *int `json:"positionId,omitempty"`

				// SocialTradeId Mirror ID
				SocialTradeId *int `json:"socialTradeId,omitempty"`

				// StopLossRate Stop Loss
				StopLossRate *float32 `json:"stopLossRate,omitempty"`

				// TakeProfitRate Take Profit
				TakeProfitRate *float32 `json:"takeProfitRate,omitempty"`

				// TrailingStopLoss Trailing Stop loss enabled
				TrailingStopLoss *bool `json:"trailingStopLoss,omitempty"`
			} `json:"positions,omitempty"`

			// RealizedPct Live Realized percentage
			RealizedPct *float32 `json:"realizedPct,omitempty"`

			// SocialTradeId Internal Mirror ID
			SocialTradeId *int `json:"socialTradeId,omitempty"`

			// StopLossPercentage Stop Loss
			StopLossPercentage *float32 `json:"stopLossPercentage,omitempty"`

			// UnrealizedPct Unrealized
			UnrealizedPct *float32 `json:"unrealizedPct,omitempty"`
		} `json:"socialTrades,omitempty"`

		// UnrealizedCreditPct Credit as a percentage of the unrealized credit
		UnrealizedCreditPct *float32 `json:"unrealizedCreditPct,omitempty"`
	}
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetUserInfoPeopleByUsernamePortfolioLiveResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetUserInfoPeopleByUsernamePortfolioLiveResponse429Headers
}

func ParseGetUserInfoPeopleByUsernamePortfolioLiveResponse

func ParseGetUserInfoPeopleByUsernamePortfolioLiveResponse(rsp *http.Response) (*GetUserInfoPeopleByUsernamePortfolioLiveResponse, error)

ParseGetUserInfoPeopleByUsernamePortfolioLiveResponse parses an HTTP response from a GetUserInfoPeopleByUsernamePortfolioLiveWithResponse call

func (GetUserInfoPeopleByUsernamePortfolioLiveResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetUserInfoPeopleByUsernamePortfolioLiveResponse) GetBody

GetBody returns the raw response body bytes

func (GetUserInfoPeopleByUsernamePortfolioLiveResponse) GetJSON200

func (r GetUserInfoPeopleByUsernamePortfolioLiveResponse) GetJSON200() *struct {
	Positions *[]struct {
		// InstrumentId Instrument ID
		InstrumentId *int `json:"instrumentId,omitempty"`

		// InvestmentPct Realized Investment
		InvestmentPct *float32 `json:"investmentPct,omitempty"`

		// IsBuy Buy/Sell
		IsBuy *bool `json:"isBuy,omitempty"`

		// Leverage Leverage
		Leverage *int `json:"leverage,omitempty"`

		// NetProfit Profit Percentage
		NetProfit *float32 `json:"netProfit,omitempty"`

		// OpenRate Open Rate
		OpenRate *float32 `json:"openRate,omitempty"`

		// OpenTimestamp Open Timestamp
		OpenTimestamp *time.Time `json:"openTimestamp,omitempty"`

		// ParentPositionId Parent Position ID
		ParentPositionId *int `json:"parentPositionId,omitempty"`

		// PositionId Position ID
		PositionId *int `json:"positionId,omitempty"`

		// SocialTradeId Mirror ID
		SocialTradeId *int `json:"socialTradeId,omitempty"`

		// StopLossRate Stop Loss
		StopLossRate *float32 `json:"stopLossRate,omitempty"`

		// TakeProfitRate Take Profit
		TakeProfitRate *float32 `json:"takeProfitRate,omitempty"`

		// TrailingStopLoss Trailing Stop loss enabled
		TrailingStopLoss *bool `json:"trailingStopLoss,omitempty"`
	} `json:"positions,omitempty"`

	// RealizedCreditPct Credit as a percentage of the realized credit
	RealizedCreditPct *float32 `json:"realizedCreditPct,omitempty"`
	SocialTrades      *[]struct {
		// ClosedNetProfit Net profit of closed trades
		ClosedNetProfit *float32 `json:"closedNetProfit,omitempty"`

		// InvestmentPct Investment Pct
		InvestmentPct *float32 `json:"investmentPct,omitempty"`

		// IsClosing Pending Close
		IsClosing *bool `json:"isClosing,omitempty"`

		// NetProfit Profit Pct
		NetProfit *float32 `json:"netProfit,omitempty"`

		// OpenInvestmentPct Open Trades in Mirror
		OpenInvestmentPct *float32 `json:"openInvestmentPct,omitempty"`

		// OpenNetProfit Net profit of opened trades
		OpenNetProfit *float32 `json:"openNetProfit,omitempty"`

		// OpenTimestamp Opening Timestamp
		OpenTimestamp *time.Time `json:"openTimestamp,omitempty"`

		// ParentUsername Parent Username
		ParentUsername *string `json:"parentUsername,omitempty"`
		Positions      *[]struct {
			// InstrumentId Instrument ID
			InstrumentId *int `json:"instrumentId,omitempty"`

			// InvestmentPct Realized Investment
			InvestmentPct *float32 `json:"investmentPct,omitempty"`

			// IsBuy Buy/Sell
			IsBuy *bool `json:"isBuy,omitempty"`

			// Leverage Leverage
			Leverage *int `json:"leverage,omitempty"`

			// NetProfit Profit Percentage
			NetProfit *float32 `json:"netProfit,omitempty"`

			// OpenRate Open Rate
			OpenRate *float32 `json:"openRate,omitempty"`

			// OpenTimestamp Open Timestamp
			OpenTimestamp *time.Time `json:"openTimestamp,omitempty"`

			// ParentPositionId Parent Position ID
			ParentPositionId *int `json:"parentPositionId,omitempty"`

			// PositionId Position ID
			PositionId *int `json:"positionId,omitempty"`

			// SocialTradeId Mirror ID
			SocialTradeId *int `json:"socialTradeId,omitempty"`

			// StopLossRate Stop Loss
			StopLossRate *float32 `json:"stopLossRate,omitempty"`

			// TakeProfitRate Take Profit
			TakeProfitRate *float32 `json:"takeProfitRate,omitempty"`

			// TrailingStopLoss Trailing Stop loss enabled
			TrailingStopLoss *bool `json:"trailingStopLoss,omitempty"`
		} `json:"positions,omitempty"`

		// RealizedPct Live Realized percentage
		RealizedPct *float32 `json:"realizedPct,omitempty"`

		// SocialTradeId Internal Mirror ID
		SocialTradeId *int `json:"socialTradeId,omitempty"`

		// StopLossPercentage Stop Loss
		StopLossPercentage *float32 `json:"stopLossPercentage,omitempty"`

		// UnrealizedPct Unrealized
		UnrealizedPct *float32 `json:"unrealizedPct,omitempty"`
	} `json:"socialTrades,omitempty"`

	// UnrealizedCreditPct Credit as a percentage of the unrealized credit
	UnrealizedCreditPct *float32 `json:"unrealizedCreditPct,omitempty"`
}

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetUserInfoPeopleByUsernamePortfolioLiveResponse) Status

Status returns HTTPResponse.Status

func (GetUserInfoPeopleByUsernamePortfolioLiveResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetUserInfoPeopleByUsernamePortfolioLiveResponse200Headers

type GetUserInfoPeopleByUsernamePortfolioLiveResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetUserInfoPeopleByUsernamePortfolioLiveResponse200Headers the declared response headers of an HTTP 200 response for GetUserInfoPeopleByUsernamePortfolioLive

type GetUserInfoPeopleByUsernamePortfolioLiveResponse429Headers

type GetUserInfoPeopleByUsernamePortfolioLiveResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetUserInfoPeopleByUsernamePortfolioLiveResponse429Headers the declared response headers of an HTTP 429 response for GetUserInfoPeopleByUsernamePortfolioLive

type GetUserInfoPeopleByUsernameTradeinfoParams

type GetUserInfoPeopleByUsernameTradeinfoParams struct {
	// Period The period filter (e.g., LastTwoYears).
	Period GetUserInfoPeopleByUsernameTradeinfoParamsPeriod `form:"period" json:"period"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetUserInfoPeopleByUsernameTradeinfoParams defines parameters for GetUserInfoPeopleByUsernameTradeinfo.

type GetUserInfoPeopleByUsernameTradeinfoParamsPeriod

type GetUserInfoPeopleByUsernameTradeinfoParamsPeriod string

GetUserInfoPeopleByUsernameTradeinfoParamsPeriod defines parameters for GetUserInfoPeopleByUsernameTradeinfo.

const (
	GetUserInfoPeopleByUsernameTradeinfoParamsPeriodCurrMonth      GetUserInfoPeopleByUsernameTradeinfoParamsPeriod = "CurrMonth"
	GetUserInfoPeopleByUsernameTradeinfoParamsPeriodCurrQuarter    GetUserInfoPeopleByUsernameTradeinfoParamsPeriod = "CurrQuarter"
	GetUserInfoPeopleByUsernameTradeinfoParamsPeriodCurrYear       GetUserInfoPeopleByUsernameTradeinfoParamsPeriod = "CurrYear"
	GetUserInfoPeopleByUsernameTradeinfoParamsPeriodLastTwoYears   GetUserInfoPeopleByUsernameTradeinfoParamsPeriod = "LastTwoYears"
	GetUserInfoPeopleByUsernameTradeinfoParamsPeriodLastYear       GetUserInfoPeopleByUsernameTradeinfoParamsPeriod = "LastYear"
	GetUserInfoPeopleByUsernameTradeinfoParamsPeriodOneMonthAgo    GetUserInfoPeopleByUsernameTradeinfoParamsPeriod = "OneMonthAgo"
	GetUserInfoPeopleByUsernameTradeinfoParamsPeriodOneYearAgo     GetUserInfoPeopleByUsernameTradeinfoParamsPeriod = "OneYearAgo"
	GetUserInfoPeopleByUsernameTradeinfoParamsPeriodSixMonthsAgo   GetUserInfoPeopleByUsernameTradeinfoParamsPeriod = "SixMonthsAgo"
	GetUserInfoPeopleByUsernameTradeinfoParamsPeriodThreeMonthsAgo GetUserInfoPeopleByUsernameTradeinfoParamsPeriod = "ThreeMonthsAgo"
	GetUserInfoPeopleByUsernameTradeinfoParamsPeriodTwoMonthsAgo   GetUserInfoPeopleByUsernameTradeinfoParamsPeriod = "TwoMonthsAgo"
)

Defines values for GetUserInfoPeopleByUsernameTradeinfoParamsPeriod.

func (GetUserInfoPeopleByUsernameTradeinfoParamsPeriod) Valid

Valid indicates whether the value is a known member of the GetUserInfoPeopleByUsernameTradeinfoParamsPeriod enum.

type GetUserInfoPeopleByUsernameTradeinfoResponse

type GetUserInfoPeopleByUsernameTradeinfoResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *struct {
		// ActiveWeeksPct The percentage of weeks in the interval which the user had active trades
		ActiveWeeksPct *float32 `json:"activeWeeksPct,omitempty"`

		// AffiliateId The affiliate ID of the user
		AffiliateId *int `json:"affiliateId,omitempty"`

		// AumTier The total assets under management of the user, in a scale of 0-4, where 4 is the highest tier
		AumTier *int `json:"aumTier,omitempty"`

		// AumTierDesc Description of the AUM Tier
		AumTierDesc *string `json:"aumTierDesc,omitempty"`

		// AvgPosSize Average position size relative to the realized equity on opening the trade
		AvgPosSize *float32 `json:"avgPosSize,omitempty"`

		// BaseLineCopiers The number of copiers one week ago
		BaseLineCopiers *int `json:"baseLineCopiers,omitempty"`

		// CopiedTrades The total number of copied trades in this interval
		CopiedTrades *int `json:"copiedTrades,omitempty"`

		// Copiers The current number of copiers of this user
		Copiers *int `json:"copiers,omitempty"`

		// CopiersGain The gain percentage of the number of copiers in a week
		CopiersGain *float32 `json:"copiersGain,omitempty"`

		// CopyInvestmentPct The percentage of invested amounts in copied trades in this interval of all investments
		CopyInvestmentPct *float32 `json:"copyInvestmentPct,omitempty"`

		// CopyTradesPct The percentage of copied trades in this interval of all trades
		CopyTradesPct *float32 `json:"copyTradesPct,omitempty"`

		// CountryId The registered country ID of the user
		CountryId *int `json:"countryId,omitempty"`

		// DailyDd The maximum daily draw-down of the user in this interval
		DailyDd *float32 `json:"dailyDd,omitempty"`

		// DailyGain The user's last day gain
		DailyGain *float32 `json:"dailyGain,omitempty"`

		// FirstActivity Number of days since the beginning of the interval of a user trading activity
		FirstActivity *int `json:"firstActivity,omitempty"`

		// FullName Full name of the customer
		FullName *string `json:"fullName,omitempty"`

		// FundType Fund Type
		FundType *int `json:"fundType,omitempty"`

		// Gain The periodic gain of the user
		Gain *float32 `json:"gain,omitempty"`

		// HasAvatar Does the customer have a picture
		HasAvatar *bool `json:"hasAvatar,omitempty"`

		// HighLeveragePct High leverage trades percentage in this interval
		HighLeveragePct *float32 `json:"highLeveragePct,omitempty"`

		// InstrumentPct Percentage of investment in the requested instrument ID
		InstrumentPct *float32 `json:"instrumentPct,omitempty"`

		// IsFund Does this customer represent a fund
		IsFund *bool `json:"isFund,omitempty"`

		// IsPopularInvestor Is the customer a popular investor
		IsPopularInvestor *bool `json:"isPopularInvestor,omitempty"`

		// LastActivity Number of days from the last trading activity till the end of the interval
		LastActivity *int `json:"lastActivity,omitempty"`

		// LowLeveragePct Low leverage trades percentage in this interval
		LowLeveragePct *float32 `json:"lowLeveragePct,omitempty"`

		// MaxDailyRiskScore The maximum daily risk score of the user in this interval
		MaxDailyRiskScore *int `json:"maxDailyRiskScore,omitempty"`

		// MaxMonthlyRiskScore The maximum monthly risk score of the user in this interval
		MaxMonthlyRiskScore *int `json:"maxMonthlyRiskScore,omitempty"`

		// MediumLeveragePct Medium leverage trades percentage in this interval
		MediumLeveragePct *float32 `json:"mediumLeveragePct,omitempty"`

		// PeakToValley The peak to valley draw-down in this interval
		PeakToValley *float32 `json:"peakToValley,omitempty"`

		// ProfitableMonthsPct The percentage of months which were profitable in this interval
		ProfitableMonthsPct *float32 `json:"profitableMonthsPct,omitempty"`

		// ProfitableWeeksPct The percentage of trading weeks which were profitable in this interval
		ProfitableWeeksPct *float32 `json:"profitableWeeksPct,omitempty"`

		// RiskScore The current risk score of the user
		RiskScore *int `json:"riskScore,omitempty"`

		// ThisWeekGain The user's gain from the beginning of the trading week
		ThisWeekGain *float32 `json:"thisWeekGain,omitempty"`

		// TopTradedAssetId Top Traded Asset ID in this interval
		TopTradedAssetId *int `json:"topTradedAssetId,omitempty"`

		// TopTradedInstrumentId Top Traded Instrument ID in this interval
		TopTradedInstrumentId *int `json:"topTradedInstrumentId,omitempty"`

		// Trades The total number of trades in this interval
		Trades *int `json:"trades,omitempty"`

		// UserName The username of the customer
		UserName *string `json:"userName,omitempty"`

		// VirtualCopiers The total amount of virtual copiers of this user
		VirtualCopiers *int `json:"virtualCopiers,omitempty"`

		// WeeklyDd The maximum weekly draw-down of this user in this interval
		WeeklyDd *float32 `json:"weeklyDd,omitempty"`

		// WeeksSinceRegistration Number of weeks since registration
		WeeksSinceRegistration *int `json:"weeksSinceRegistration,omitempty"`

		// WinRatio The winning ratio of all closed trades in this interval
		WinRatio *float32 `json:"winRatio,omitempty"`
	}
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetUserInfoPeopleByUsernameTradeinfoResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetUserInfoPeopleByUsernameTradeinfoResponse429Headers
}

func ParseGetUserInfoPeopleByUsernameTradeinfoResponse

func ParseGetUserInfoPeopleByUsernameTradeinfoResponse(rsp *http.Response) (*GetUserInfoPeopleByUsernameTradeinfoResponse, error)

ParseGetUserInfoPeopleByUsernameTradeinfoResponse parses an HTTP response from a GetUserInfoPeopleByUsernameTradeinfoWithResponse call

func (GetUserInfoPeopleByUsernameTradeinfoResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetUserInfoPeopleByUsernameTradeinfoResponse) GetBody

GetBody returns the raw response body bytes

func (GetUserInfoPeopleByUsernameTradeinfoResponse) GetJSON200

func (r GetUserInfoPeopleByUsernameTradeinfoResponse) GetJSON200() *struct {
	// ActiveWeeksPct The percentage of weeks in the interval which the user had active trades
	ActiveWeeksPct *float32 `json:"activeWeeksPct,omitempty"`

	// AffiliateId The affiliate ID of the user
	AffiliateId *int `json:"affiliateId,omitempty"`

	// AumTier The total assets under management of the user, in a scale of 0-4, where 4 is the highest tier
	AumTier *int `json:"aumTier,omitempty"`

	// AumTierDesc Description of the AUM Tier
	AumTierDesc *string `json:"aumTierDesc,omitempty"`

	// AvgPosSize Average position size relative to the realized equity on opening the trade
	AvgPosSize *float32 `json:"avgPosSize,omitempty"`

	// BaseLineCopiers The number of copiers one week ago
	BaseLineCopiers *int `json:"baseLineCopiers,omitempty"`

	// CopiedTrades The total number of copied trades in this interval
	CopiedTrades *int `json:"copiedTrades,omitempty"`

	// Copiers The current number of copiers of this user
	Copiers *int `json:"copiers,omitempty"`

	// CopiersGain The gain percentage of the number of copiers in a week
	CopiersGain *float32 `json:"copiersGain,omitempty"`

	// CopyInvestmentPct The percentage of invested amounts in copied trades in this interval of all investments
	CopyInvestmentPct *float32 `json:"copyInvestmentPct,omitempty"`

	// CopyTradesPct The percentage of copied trades in this interval of all trades
	CopyTradesPct *float32 `json:"copyTradesPct,omitempty"`

	// CountryId The registered country ID of the user
	CountryId *int `json:"countryId,omitempty"`

	// DailyDd The maximum daily draw-down of the user in this interval
	DailyDd *float32 `json:"dailyDd,omitempty"`

	// DailyGain The user's last day gain
	DailyGain *float32 `json:"dailyGain,omitempty"`

	// FirstActivity Number of days since the beginning of the interval of a user trading activity
	FirstActivity *int `json:"firstActivity,omitempty"`

	// FullName Full name of the customer
	FullName *string `json:"fullName,omitempty"`

	// FundType Fund Type
	FundType *int `json:"fundType,omitempty"`

	// Gain The periodic gain of the user
	Gain *float32 `json:"gain,omitempty"`

	// HasAvatar Does the customer have a picture
	HasAvatar *bool `json:"hasAvatar,omitempty"`

	// HighLeveragePct High leverage trades percentage in this interval
	HighLeveragePct *float32 `json:"highLeveragePct,omitempty"`

	// InstrumentPct Percentage of investment in the requested instrument ID
	InstrumentPct *float32 `json:"instrumentPct,omitempty"`

	// IsFund Does this customer represent a fund
	IsFund *bool `json:"isFund,omitempty"`

	// IsPopularInvestor Is the customer a popular investor
	IsPopularInvestor *bool `json:"isPopularInvestor,omitempty"`

	// LastActivity Number of days from the last trading activity till the end of the interval
	LastActivity *int `json:"lastActivity,omitempty"`

	// LowLeveragePct Low leverage trades percentage in this interval
	LowLeveragePct *float32 `json:"lowLeveragePct,omitempty"`

	// MaxDailyRiskScore The maximum daily risk score of the user in this interval
	MaxDailyRiskScore *int `json:"maxDailyRiskScore,omitempty"`

	// MaxMonthlyRiskScore The maximum monthly risk score of the user in this interval
	MaxMonthlyRiskScore *int `json:"maxMonthlyRiskScore,omitempty"`

	// MediumLeveragePct Medium leverage trades percentage in this interval
	MediumLeveragePct *float32 `json:"mediumLeveragePct,omitempty"`

	// PeakToValley The peak to valley draw-down in this interval
	PeakToValley *float32 `json:"peakToValley,omitempty"`

	// ProfitableMonthsPct The percentage of months which were profitable in this interval
	ProfitableMonthsPct *float32 `json:"profitableMonthsPct,omitempty"`

	// ProfitableWeeksPct The percentage of trading weeks which were profitable in this interval
	ProfitableWeeksPct *float32 `json:"profitableWeeksPct,omitempty"`

	// RiskScore The current risk score of the user
	RiskScore *int `json:"riskScore,omitempty"`

	// ThisWeekGain The user's gain from the beginning of the trading week
	ThisWeekGain *float32 `json:"thisWeekGain,omitempty"`

	// TopTradedAssetId Top Traded Asset ID in this interval
	TopTradedAssetId *int `json:"topTradedAssetId,omitempty"`

	// TopTradedInstrumentId Top Traded Instrument ID in this interval
	TopTradedInstrumentId *int `json:"topTradedInstrumentId,omitempty"`

	// Trades The total number of trades in this interval
	Trades *int `json:"trades,omitempty"`

	// UserName The username of the customer
	UserName *string `json:"userName,omitempty"`

	// VirtualCopiers The total amount of virtual copiers of this user
	VirtualCopiers *int `json:"virtualCopiers,omitempty"`

	// WeeklyDd The maximum weekly draw-down of this user in this interval
	WeeklyDd *float32 `json:"weeklyDd,omitempty"`

	// WeeksSinceRegistration Number of weeks since registration
	WeeksSinceRegistration *int `json:"weeksSinceRegistration,omitempty"`

	// WinRatio The winning ratio of all closed trades in this interval
	WinRatio *float32 `json:"winRatio,omitempty"`
}

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetUserInfoPeopleByUsernameTradeinfoResponse) Status

Status returns HTTPResponse.Status

func (GetUserInfoPeopleByUsernameTradeinfoResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetUserInfoPeopleByUsernameTradeinfoResponse200Headers

type GetUserInfoPeopleByUsernameTradeinfoResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetUserInfoPeopleByUsernameTradeinfoResponse200Headers the declared response headers of an HTTP 200 response for GetUserInfoPeopleByUsernameTradeinfo

type GetUserInfoPeopleByUsernameTradeinfoResponse429Headers

type GetUserInfoPeopleByUsernameTradeinfoResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetUserInfoPeopleByUsernameTradeinfoResponse429Headers the declared response headers of an HTTP 429 response for GetUserInfoPeopleByUsernameTradeinfo

type GetUserInfoPeopleParams

type GetUserInfoPeopleParams struct {
	Usernames *[]string `form:"usernames,omitempty" json:"usernames,omitempty"`
	CidList   *[]int    `form:"cidList,omitempty" json:"cidList,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetUserInfoPeopleParams defines parameters for GetUserInfoPeople.

type GetUserInfoPeopleResponse

type GetUserInfoPeopleResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *PublicAggregatedInfoResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetUserInfoPeopleResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetUserInfoPeopleResponse429Headers
}

func ParseGetUserInfoPeopleResponse

func ParseGetUserInfoPeopleResponse(rsp *http.Response) (*GetUserInfoPeopleResponse, error)

ParseGetUserInfoPeopleResponse parses an HTTP response from a GetUserInfoPeopleWithResponse call

func (GetUserInfoPeopleResponse) ContentType

func (r GetUserInfoPeopleResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetUserInfoPeopleResponse) GetBody

func (r GetUserInfoPeopleResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetUserInfoPeopleResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetUserInfoPeopleResponse) Status

func (r GetUserInfoPeopleResponse) Status() string

Status returns HTTPResponse.Status

func (GetUserInfoPeopleResponse) StatusCode

func (r GetUserInfoPeopleResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetUserInfoPeopleResponse200Headers

type GetUserInfoPeopleResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetUserInfoPeopleResponse200Headers the declared response headers of an HTTP 200 response for GetUserInfoPeople

type GetUserInfoPeopleResponse429Headers

type GetUserInfoPeopleResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetUserInfoPeopleResponse429Headers the declared response headers of an HTTP 429 response for GetUserInfoPeople

type GetUserInfoPeopleSearchParams

type GetUserInfoPeopleSearchParams struct {
	// Period Defines the time period for analyzing user metrics and performance data. Supports various predefined intervals for consistent analysis.
	Period GetUserInfoPeopleSearchParamsPeriod `form:"period" json:"period"`

	// IsTestAccount When set to true, filters results to include only test/demo accounts. When false, shows only live accounts. Optional filter.
	IsTestAccount *bool `form:"isTestAccount,omitempty" json:"isTestAccount,omitempty"`

	// OptIn Filter for users who have explicitly opted in to specific features or programs. Used for compliance and feature-specific filtering.
	OptIn *bool `form:"optIn,omitempty" json:"optIn,omitempty"`

	// Blocked When true, includes only blocked accounts in the results. Used for compliance and risk management purposes.
	Blocked *bool `form:"blocked,omitempty" json:"blocked,omitempty"`

	// Page Page number for pagination.
	Page *int `form:"page,omitempty" json:"page,omitempty"`

	// PageSize Number of results per page.
	PageSize *int `form:"pageSize,omitempty" json:"pageSize,omitempty"`

	// Sort Sort results by specific field (e.g., -copiers).
	Sort *string `form:"sort,omitempty" json:"sort,omitempty"`

	// PopularInvestor Filter for popular investors.
	PopularInvestor *bool `form:"popularInvestor,omitempty" json:"popularInvestor,omitempty"`

	// GainMax Max gain value filter.
	GainMax *int `form:"gainMax,omitempty" json:"gainMax,omitempty"`

	// MaxDailyRiskScoreMin Minimum daily risk score.
	MaxDailyRiskScoreMin *int `form:"maxDailyRiskScoreMin,omitempty" json:"maxDailyRiskScoreMin,omitempty"`

	// MaxDailyRiskScoreMax Maximum daily risk score.
	MaxDailyRiskScoreMax *int `form:"maxDailyRiskScoreMax,omitempty" json:"maxDailyRiskScoreMax,omitempty"`

	// MaxMonthlyRiskScoreMin Minimum monthly risk score.
	MaxMonthlyRiskScoreMin *int `form:"maxMonthlyRiskScoreMin,omitempty" json:"maxMonthlyRiskScoreMin,omitempty"`

	// MaxMonthlyRiskScoreMax Maximum monthly risk score.
	MaxMonthlyRiskScoreMax *int `form:"maxMonthlyRiskScoreMax,omitempty" json:"maxMonthlyRiskScoreMax,omitempty"`

	// WeeksSinceRegistrationMin Minimum weeks since registration.
	WeeksSinceRegistrationMin *int `form:"weeksSinceRegistrationMin,omitempty" json:"weeksSinceRegistrationMin,omitempty"`

	// CountryId The registered country ID of the user
	CountryId *int `form:"countryId,omitempty" json:"countryId,omitempty"`

	// InstrumentId The instrument ID (you can also use this to exclude an instrument e.g., -5).
	InstrumentId *int `form:"instrumentId,omitempty" json:"instrumentId,omitempty"`

	// InstrumentPctMin Minimum percentage of investment in the requested instrument ID.
	InstrumentPctMin *int `form:"instrumentPctMin,omitempty" json:"instrumentPctMin,omitempty"`

	// InstrumentPctMax Maximum percentage of investment in the requested instrument ID.
	InstrumentPctMax *int `form:"instrumentPctMax,omitempty" json:"instrumentPctMax,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetUserInfoPeopleSearchParams defines parameters for GetUserInfoPeopleSearch.

type GetUserInfoPeopleSearchParamsPeriod

type GetUserInfoPeopleSearchParamsPeriod string

GetUserInfoPeopleSearchParamsPeriod defines parameters for GetUserInfoPeopleSearch.

const (
	GetUserInfoPeopleSearchParamsPeriodCurrMonth      GetUserInfoPeopleSearchParamsPeriod = "CurrMonth"
	GetUserInfoPeopleSearchParamsPeriodCurrQuarter    GetUserInfoPeopleSearchParamsPeriod = "CurrQuarter"
	GetUserInfoPeopleSearchParamsPeriodCurrYear       GetUserInfoPeopleSearchParamsPeriod = "CurrYear"
	GetUserInfoPeopleSearchParamsPeriodLastTwoYears   GetUserInfoPeopleSearchParamsPeriod = "LastTwoYears"
	GetUserInfoPeopleSearchParamsPeriodLastYear       GetUserInfoPeopleSearchParamsPeriod = "LastYear"
	GetUserInfoPeopleSearchParamsPeriodOneMonthAgo    GetUserInfoPeopleSearchParamsPeriod = "OneMonthAgo"
	GetUserInfoPeopleSearchParamsPeriodOneYearAgo     GetUserInfoPeopleSearchParamsPeriod = "OneYearAgo"
	GetUserInfoPeopleSearchParamsPeriodSixMonthsAgo   GetUserInfoPeopleSearchParamsPeriod = "SixMonthsAgo"
	GetUserInfoPeopleSearchParamsPeriodThreeMonthsAgo GetUserInfoPeopleSearchParamsPeriod = "ThreeMonthsAgo"
	GetUserInfoPeopleSearchParamsPeriodTwoMonthsAgo   GetUserInfoPeopleSearchParamsPeriod = "TwoMonthsAgo"
)

Defines values for GetUserInfoPeopleSearchParamsPeriod.

func (GetUserInfoPeopleSearchParamsPeriod) Valid

Valid indicates whether the value is a known member of the GetUserInfoPeopleSearchParamsPeriod enum.

type GetUserInfoPeopleSearchResponse

type GetUserInfoPeopleSearchResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *struct {
		Items []struct {
			ActiveWeeks       *int     `json:"activeWeeks,omitempty"`
			ActiveWeeksPct    *float32 `json:"activeWeeksPct,omitempty"`
			AffiliateId       *int     `json:"affiliateId,omitempty"`
			AumTier           *int     `json:"aumTier,omitempty"`
			AumTierDesc       *string  `json:"aumTierDesc,omitempty"`
			AumTierV2         *int     `json:"aumTierV2,omitempty"`
			AvgPosSize        *float32 `json:"avgPosSize,omitempty"`
			BaseLineCopiers   *int     `json:"baseLineCopiers,omitempty"`
			Blocked           *bool    `json:"blocked,omitempty"`
			BonusOnly         *bool    `json:"bonusOnly,omitempty"`
			CopiedTrades      *int     `json:"copiedTrades,omitempty"`
			Copiers           *int     `json:"copiers,omitempty"`
			CopiersGain       *float32 `json:"copiersGain,omitempty"`
			CopyBlock         *bool    `json:"copyBlock,omitempty"`
			CopyInvestmentPct *float32 `json:"copyInvestmentPct,omitempty"`
			CopyTradesPct     *float32 `json:"copyTradesPct,omitempty"`
			Country           *string  `json:"country,omitempty"`

			// CountryId The registered country ID of the user
			CountryId       *int     `json:"countryId,omitempty"`
			CustomerId      *int     `json:"customerId,omitempty"`
			DailyDd         *float32 `json:"dailyDd,omitempty"`
			DailyGain       *float32 `json:"dailyGain,omitempty"`
			DisplayFullName *bool    `json:"displayFullName,omitempty"`
			Exposure        *float32 `json:"exposure,omitempty"`

			// FirstActivity Number of days since the beginning of the interval of a user's first trading activity
			FirstActivity   *int     `json:"firstActivity,omitempty"`
			FullName        *string  `json:"fullName,omitempty"`
			FundType        *int     `json:"fundType,omitempty"`
			Gain            *float32 `json:"gain,omitempty"`
			HasAvatar       *bool    `json:"hasAvatar,omitempty"`
			HighLeveragePct *float32 `json:"highLeveragePct,omitempty"`
			InstrumentPct   *float32 `json:"instrumentPct,omitempty"`
			IsBronze        *bool    `json:"isBronze,omitempty"`
			IsFund          *bool    `json:"isFund,omitempty"`

			// IsPopularInvestor Indicates if the user is a popular investor
			IsPopularInvestor *bool `json:"isPopularInvestor,omitempty"`
			IsSocialConnected *bool `json:"isSocialConnected,omitempty"`
			IsTestAccount     *bool `json:"isTestAccount,omitempty"`

			// LastActivity Number of days from the last trading activity till the end of the interval
			LastActivity          *int       `json:"lastActivity,omitempty"`
			LongPosPct            *float32   `json:"longPosPct,omitempty"`
			LowLeveragePct        *float32   `json:"lowLeveragePct,omitempty"`
			MaxDailyRiskScore     *int       `json:"maxDailyRiskScore,omitempty"`
			MaxMonthlyRiskScore   *int       `json:"maxMonthlyRiskScore,omitempty"`
			MediumLeveragePct     *float32   `json:"mediumLeveragePct,omitempty"`
			OptimalCopyPosSize    *float32   `json:"optimalCopyPosSize,omitempty"`
			PeakToValley          *float32   `json:"peakToValley,omitempty"`
			PeakToValleyEnd       *time.Time `json:"peakToValleyEnd,omitempty"`
			PeakToValleyStart     *time.Time `json:"peakToValleyStart,omitempty"`
			PopularInvestor       *bool      `json:"popularInvestor,omitempty"`
			ProfitableMonthsPct   *float32   `json:"profitableMonthsPct,omitempty"`
			ProfitableWeeksPct    *float32   `json:"profitableWeeksPct,omitempty"`
			RiskScore             *int       `json:"riskScore,omitempty"`
			Tags                  *[]int     `json:"tags,omitempty"`
			ThisWeekGain          *float32   `json:"thisWeekGain,omitempty"`
			TopTradedAssetClassId *int       `json:"topTradedAssetClassId,omitempty"`

			// TopTradedAssetId Top traded asset class ID in this interval
			TopTradedAssetId       *int     `json:"topTradedAssetId,omitempty"`
			TopTradedInstrumentId  *int     `json:"topTradedInstrumentId,omitempty"`
			TopTradedInstrumentPct *float32 `json:"topTradedInstrumentPct,omitempty"`
			TotalTradedInstruments *int     `json:"totalTradedInstruments,omitempty"`
			Trades                 *int     `json:"trades,omitempty"`
			UserName               *string  `json:"userName,omitempty"`
			Velocity               *float32 `json:"velocity,omitempty"`
			Verified               *bool    `json:"verified,omitempty"`
			VirtualCopiers         *int     `json:"virtualCopiers,omitempty"`
			WeeklyDd               *float32 `json:"weeklyDd,omitempty"`
			WeeksSinceRegistration *int     `json:"weeksSinceRegistration,omitempty"`
			WinRatio               *float32 `json:"winRatio,omitempty"`
		} `json:"items"`
		TotalItems int `json:"totalItems"`
	}
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetUserInfoPeopleSearchResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetUserInfoPeopleSearchResponse429Headers
}

func ParseGetUserInfoPeopleSearchResponse

func ParseGetUserInfoPeopleSearchResponse(rsp *http.Response) (*GetUserInfoPeopleSearchResponse, error)

ParseGetUserInfoPeopleSearchResponse parses an HTTP response from a GetUserInfoPeopleSearchWithResponse call

func (GetUserInfoPeopleSearchResponse) ContentType

func (r GetUserInfoPeopleSearchResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetUserInfoPeopleSearchResponse) GetBody

func (r GetUserInfoPeopleSearchResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetUserInfoPeopleSearchResponse) GetJSON200

func (r GetUserInfoPeopleSearchResponse) GetJSON200() *struct {
	Items []struct {
		ActiveWeeks       *int     `json:"activeWeeks,omitempty"`
		ActiveWeeksPct    *float32 `json:"activeWeeksPct,omitempty"`
		AffiliateId       *int     `json:"affiliateId,omitempty"`
		AumTier           *int     `json:"aumTier,omitempty"`
		AumTierDesc       *string  `json:"aumTierDesc,omitempty"`
		AumTierV2         *int     `json:"aumTierV2,omitempty"`
		AvgPosSize        *float32 `json:"avgPosSize,omitempty"`
		BaseLineCopiers   *int     `json:"baseLineCopiers,omitempty"`
		Blocked           *bool    `json:"blocked,omitempty"`
		BonusOnly         *bool    `json:"bonusOnly,omitempty"`
		CopiedTrades      *int     `json:"copiedTrades,omitempty"`
		Copiers           *int     `json:"copiers,omitempty"`
		CopiersGain       *float32 `json:"copiersGain,omitempty"`
		CopyBlock         *bool    `json:"copyBlock,omitempty"`
		CopyInvestmentPct *float32 `json:"copyInvestmentPct,omitempty"`
		CopyTradesPct     *float32 `json:"copyTradesPct,omitempty"`
		Country           *string  `json:"country,omitempty"`

		// CountryId The registered country ID of the user
		CountryId       *int     `json:"countryId,omitempty"`
		CustomerId      *int     `json:"customerId,omitempty"`
		DailyDd         *float32 `json:"dailyDd,omitempty"`
		DailyGain       *float32 `json:"dailyGain,omitempty"`
		DisplayFullName *bool    `json:"displayFullName,omitempty"`
		Exposure        *float32 `json:"exposure,omitempty"`

		// FirstActivity Number of days since the beginning of the interval of a user's first trading activity
		FirstActivity   *int     `json:"firstActivity,omitempty"`
		FullName        *string  `json:"fullName,omitempty"`
		FundType        *int     `json:"fundType,omitempty"`
		Gain            *float32 `json:"gain,omitempty"`
		HasAvatar       *bool    `json:"hasAvatar,omitempty"`
		HighLeveragePct *float32 `json:"highLeveragePct,omitempty"`
		InstrumentPct   *float32 `json:"instrumentPct,omitempty"`
		IsBronze        *bool    `json:"isBronze,omitempty"`
		IsFund          *bool    `json:"isFund,omitempty"`

		// IsPopularInvestor Indicates if the user is a popular investor
		IsPopularInvestor *bool `json:"isPopularInvestor,omitempty"`
		IsSocialConnected *bool `json:"isSocialConnected,omitempty"`
		IsTestAccount     *bool `json:"isTestAccount,omitempty"`

		// LastActivity Number of days from the last trading activity till the end of the interval
		LastActivity          *int       `json:"lastActivity,omitempty"`
		LongPosPct            *float32   `json:"longPosPct,omitempty"`
		LowLeveragePct        *float32   `json:"lowLeveragePct,omitempty"`
		MaxDailyRiskScore     *int       `json:"maxDailyRiskScore,omitempty"`
		MaxMonthlyRiskScore   *int       `json:"maxMonthlyRiskScore,omitempty"`
		MediumLeveragePct     *float32   `json:"mediumLeveragePct,omitempty"`
		OptimalCopyPosSize    *float32   `json:"optimalCopyPosSize,omitempty"`
		PeakToValley          *float32   `json:"peakToValley,omitempty"`
		PeakToValleyEnd       *time.Time `json:"peakToValleyEnd,omitempty"`
		PeakToValleyStart     *time.Time `json:"peakToValleyStart,omitempty"`
		PopularInvestor       *bool      `json:"popularInvestor,omitempty"`
		ProfitableMonthsPct   *float32   `json:"profitableMonthsPct,omitempty"`
		ProfitableWeeksPct    *float32   `json:"profitableWeeksPct,omitempty"`
		RiskScore             *int       `json:"riskScore,omitempty"`
		Tags                  *[]int     `json:"tags,omitempty"`
		ThisWeekGain          *float32   `json:"thisWeekGain,omitempty"`
		TopTradedAssetClassId *int       `json:"topTradedAssetClassId,omitempty"`

		// TopTradedAssetId Top traded asset class ID in this interval
		TopTradedAssetId       *int     `json:"topTradedAssetId,omitempty"`
		TopTradedInstrumentId  *int     `json:"topTradedInstrumentId,omitempty"`
		TopTradedInstrumentPct *float32 `json:"topTradedInstrumentPct,omitempty"`
		TotalTradedInstruments *int     `json:"totalTradedInstruments,omitempty"`
		Trades                 *int     `json:"trades,omitempty"`
		UserName               *string  `json:"userName,omitempty"`
		Velocity               *float32 `json:"velocity,omitempty"`
		Verified               *bool    `json:"verified,omitempty"`
		VirtualCopiers         *int     `json:"virtualCopiers,omitempty"`
		WeeklyDd               *float32 `json:"weeklyDd,omitempty"`
		WeeksSinceRegistration *int     `json:"weeksSinceRegistration,omitempty"`
		WinRatio               *float32 `json:"winRatio,omitempty"`
	} `json:"items"`
	TotalItems int `json:"totalItems"`
}

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetUserInfoPeopleSearchResponse) Status

Status returns HTTPResponse.Status

func (GetUserInfoPeopleSearchResponse) StatusCode

func (r GetUserInfoPeopleSearchResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetUserInfoPeopleSearchResponse200Headers

type GetUserInfoPeopleSearchResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetUserInfoPeopleSearchResponse200Headers the declared response headers of an HTTP 200 response for GetUserInfoPeopleSearch

type GetUserInfoPeopleSearchResponse429Headers

type GetUserInfoPeopleSearchResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetUserInfoPeopleSearchResponse429Headers the declared response headers of an HTTP 429 response for GetUserInfoPeopleSearch

type GetWatchlistsByWatchlistIdParams

type GetWatchlistsByWatchlistIdParams struct {
	// PageNumber Page number for pagination
	PageNumber *int32 `form:"pageNumber,omitempty" json:"pageNumber,omitempty"`

	// ItemsPerPage Number of items per page
	ItemsPerPage *int32 `form:"itemsPerPage,omitempty" json:"itemsPerPage,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetWatchlistsByWatchlistIdParams defines parameters for GetWatchlistsByWatchlistId.

type GetWatchlistsByWatchlistIdResponse

type GetWatchlistsByWatchlistIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *WatchlistsResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetWatchlistsByWatchlistIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetWatchlistsByWatchlistIdResponse429Headers
}

func ParseGetWatchlistsByWatchlistIdResponse

func ParseGetWatchlistsByWatchlistIdResponse(rsp *http.Response) (*GetWatchlistsByWatchlistIdResponse, error)

ParseGetWatchlistsByWatchlistIdResponse parses an HTTP response from a GetWatchlistsByWatchlistIdWithResponse call

func (GetWatchlistsByWatchlistIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetWatchlistsByWatchlistIdResponse) GetBody

GetBody returns the raw response body bytes

func (GetWatchlistsByWatchlistIdResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetWatchlistsByWatchlistIdResponse) Status

Status returns HTTPResponse.Status

func (GetWatchlistsByWatchlistIdResponse) StatusCode

func (r GetWatchlistsByWatchlistIdResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetWatchlistsByWatchlistIdResponse200Headers

type GetWatchlistsByWatchlistIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetWatchlistsByWatchlistIdResponse200Headers the declared response headers of an HTTP 200 response for GetWatchlistsByWatchlistId

type GetWatchlistsByWatchlistIdResponse429Headers

type GetWatchlistsByWatchlistIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetWatchlistsByWatchlistIdResponse429Headers the declared response headers of an HTTP 429 response for GetWatchlistsByWatchlistId

type GetWatchlistsDefaultWatchlistsItemsParams

type GetWatchlistsDefaultWatchlistsItemsParams struct {
	// ItemsLimit Maximum number of items to return
	ItemsLimit *int32 `form:"itemsLimit,omitempty" json:"itemsLimit,omitempty"`

	// ItemsPerPage Number of items per page for pagination
	ItemsPerPage *int32 `form:"itemsPerPage,omitempty" json:"itemsPerPage,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetWatchlistsDefaultWatchlistsItemsParams defines parameters for GetWatchlistsDefaultWatchlistsItems.

type GetWatchlistsDefaultWatchlistsItemsResponse

type GetWatchlistsDefaultWatchlistsItemsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *[]WatchlistItemDto
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetWatchlistsDefaultWatchlistsItemsResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetWatchlistsDefaultWatchlistsItemsResponse429Headers
}

func ParseGetWatchlistsDefaultWatchlistsItemsResponse

func ParseGetWatchlistsDefaultWatchlistsItemsResponse(rsp *http.Response) (*GetWatchlistsDefaultWatchlistsItemsResponse, error)

ParseGetWatchlistsDefaultWatchlistsItemsResponse parses an HTTP response from a GetWatchlistsDefaultWatchlistsItemsWithResponse call

func (GetWatchlistsDefaultWatchlistsItemsResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetWatchlistsDefaultWatchlistsItemsResponse) GetBody

GetBody returns the raw response body bytes

func (GetWatchlistsDefaultWatchlistsItemsResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetWatchlistsDefaultWatchlistsItemsResponse) Status

Status returns HTTPResponse.Status

func (GetWatchlistsDefaultWatchlistsItemsResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetWatchlistsDefaultWatchlistsItemsResponse200Headers

type GetWatchlistsDefaultWatchlistsItemsResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetWatchlistsDefaultWatchlistsItemsResponse200Headers the declared response headers of an HTTP 200 response for GetWatchlistsDefaultWatchlistsItems

type GetWatchlistsDefaultWatchlistsItemsResponse429Headers

type GetWatchlistsDefaultWatchlistsItemsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetWatchlistsDefaultWatchlistsItemsResponse429Headers the declared response headers of an HTTP 429 response for GetWatchlistsDefaultWatchlistsItems

type GetWatchlistsParams

type GetWatchlistsParams struct {
	// ItemsPerPageForSingle Number of items to include per watchlist for pagination
	ItemsPerPageForSingle *int32 `form:"itemsPerPageForSingle,omitempty" json:"itemsPerPageForSingle,omitempty"`

	// EnsureBuiltinWatchlists Whether to ensure built-in watchlists are included
	EnsureBuiltinWatchlists *bool `form:"ensureBuiltinWatchlists,omitempty" json:"ensureBuiltinWatchlists,omitempty"`

	// AddRelatedAssets Whether to include related assets in the response
	AddRelatedAssets *bool `form:"addRelatedAssets,omitempty" json:"addRelatedAssets,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetWatchlistsParams defines parameters for GetWatchlists.

type GetWatchlistsPublicByUserIdByWatchlistIdParams

type GetWatchlistsPublicByUserIdByWatchlistIdParams struct {
	// PageNumber Page number for pagination
	PageNumber *int32 `form:"pageNumber,omitempty" json:"pageNumber,omitempty"`

	// ItemsPerPage Number of items per page
	ItemsPerPage *int32 `form:"itemsPerPage,omitempty" json:"itemsPerPage,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetWatchlistsPublicByUserIdByWatchlistIdParams defines parameters for GetWatchlistsPublicByUserIdByWatchlistId.

type GetWatchlistsPublicByUserIdByWatchlistIdResponse

type GetWatchlistsPublicByUserIdByWatchlistIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *WatchlistResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetWatchlistsPublicByUserIdByWatchlistIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetWatchlistsPublicByUserIdByWatchlistIdResponse429Headers
}

func ParseGetWatchlistsPublicByUserIdByWatchlistIdResponse

func ParseGetWatchlistsPublicByUserIdByWatchlistIdResponse(rsp *http.Response) (*GetWatchlistsPublicByUserIdByWatchlistIdResponse, error)

ParseGetWatchlistsPublicByUserIdByWatchlistIdResponse parses an HTTP response from a GetWatchlistsPublicByUserIdByWatchlistIdWithResponse call

func (GetWatchlistsPublicByUserIdByWatchlistIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetWatchlistsPublicByUserIdByWatchlistIdResponse) GetBody

GetBody returns the raw response body bytes

func (GetWatchlistsPublicByUserIdByWatchlistIdResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetWatchlistsPublicByUserIdByWatchlistIdResponse) Status

Status returns HTTPResponse.Status

func (GetWatchlistsPublicByUserIdByWatchlistIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetWatchlistsPublicByUserIdByWatchlistIdResponse200Headers

type GetWatchlistsPublicByUserIdByWatchlistIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetWatchlistsPublicByUserIdByWatchlistIdResponse200Headers the declared response headers of an HTTP 200 response for GetWatchlistsPublicByUserIdByWatchlistId

type GetWatchlistsPublicByUserIdByWatchlistIdResponse429Headers

type GetWatchlistsPublicByUserIdByWatchlistIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetWatchlistsPublicByUserIdByWatchlistIdResponse429Headers the declared response headers of an HTTP 429 response for GetWatchlistsPublicByUserIdByWatchlistId

type GetWatchlistsPublicByUserIdParams

type GetWatchlistsPublicByUserIdParams struct {
	// ItemsPerPageForSingle Number of items per watchlist
	ItemsPerPageForSingle *int32 `form:"itemsPerPageForSingle,omitempty" json:"itemsPerPageForSingle,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetWatchlistsPublicByUserIdParams defines parameters for GetWatchlistsPublicByUserId.

type GetWatchlistsPublicByUserIdResponse

type GetWatchlistsPublicByUserIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *WatchlistsResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetWatchlistsPublicByUserIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetWatchlistsPublicByUserIdResponse429Headers
}

func ParseGetWatchlistsPublicByUserIdResponse

func ParseGetWatchlistsPublicByUserIdResponse(rsp *http.Response) (*GetWatchlistsPublicByUserIdResponse, error)

ParseGetWatchlistsPublicByUserIdResponse parses an HTTP response from a GetWatchlistsPublicByUserIdWithResponse call

func (GetWatchlistsPublicByUserIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetWatchlistsPublicByUserIdResponse) GetBody

GetBody returns the raw response body bytes

func (GetWatchlistsPublicByUserIdResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetWatchlistsPublicByUserIdResponse) Status

Status returns HTTPResponse.Status

func (GetWatchlistsPublicByUserIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type GetWatchlistsPublicByUserIdResponse200Headers

type GetWatchlistsPublicByUserIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetWatchlistsPublicByUserIdResponse200Headers the declared response headers of an HTTP 200 response for GetWatchlistsPublicByUserId

type GetWatchlistsPublicByUserIdResponse429Headers

type GetWatchlistsPublicByUserIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetWatchlistsPublicByUserIdResponse429Headers the declared response headers of an HTTP 429 response for GetWatchlistsPublicByUserId

type GetWatchlistsResponse

type GetWatchlistsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *WatchlistsResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetWatchlistsResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetWatchlistsResponse429Headers
}

func ParseGetWatchlistsResponse

func ParseGetWatchlistsResponse(rsp *http.Response) (*GetWatchlistsResponse, error)

ParseGetWatchlistsResponse parses an HTTP response from a GetWatchlistsWithResponse call

func (GetWatchlistsResponse) ContentType

func (r GetWatchlistsResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetWatchlistsResponse) GetBody

func (r GetWatchlistsResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (GetWatchlistsResponse) GetJSON200

func (r GetWatchlistsResponse) GetJSON200() *WatchlistsResponse

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetWatchlistsResponse) Status

func (r GetWatchlistsResponse) Status() string

Status returns HTTPResponse.Status

func (GetWatchlistsResponse) StatusCode

func (r GetWatchlistsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetWatchlistsResponse200Headers

type GetWatchlistsResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetWatchlistsResponse200Headers the declared response headers of an HTTP 200 response for GetWatchlists

type GetWatchlistsResponse429Headers

type GetWatchlistsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetWatchlistsResponse429Headers the declared response headers of an HTTP 429 response for GetWatchlists

type GetWatchlistsV2JSONRequestBody

type GetWatchlistsV2JSONRequestBody = BffFacadeRequest

GetWatchlistsV2JSONRequestBody defines body for GetWatchlistsV2 for application/json ContentType.

type GetWatchlistsV2Params

type GetWatchlistsV2Params struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

GetWatchlistsV2Params defines parameters for GetWatchlistsV2.

type GetWatchlistsV2Response

type GetWatchlistsV2Response struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *WatchlistComponentResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *GetWatchlistsV2Response200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *GetWatchlistsV2Response429Headers
}

func ParseGetWatchlistsV2Response

func ParseGetWatchlistsV2Response(rsp *http.Response) (*GetWatchlistsV2Response, error)

ParseGetWatchlistsV2Response parses an HTTP response from a GetWatchlistsV2WithResponse call

func (GetWatchlistsV2Response) ContentType

func (r GetWatchlistsV2Response) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (GetWatchlistsV2Response) GetBody

func (r GetWatchlistsV2Response) GetBody() []byte

GetBody returns the raw response body bytes

func (GetWatchlistsV2Response) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (GetWatchlistsV2Response) Status

func (r GetWatchlistsV2Response) Status() string

Status returns HTTPResponse.Status

func (GetWatchlistsV2Response) StatusCode

func (r GetWatchlistsV2Response) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type GetWatchlistsV2Response200Headers

type GetWatchlistsV2Response200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

GetWatchlistsV2Response200Headers the declared response headers of an HTTP 200 response for GetWatchlistsV2

type GetWatchlistsV2Response429Headers

type GetWatchlistsV2Response429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

GetWatchlistsV2Response429Headers the declared response headers of an HTTP 429 response for GetWatchlistsV2

type HistoricalAccountData

type HistoricalAccountData struct {
	// AccountId Unique identifier of the account.
	AccountId *string `json:"accountId,omitempty"`

	// AccountType The type of etoro account, as returned in response bodies.
	AccountType *BalanceAggregatorApiAccountType `json:"accountType,omitempty"`

	// Cash Cash balance in the account's native currency.
	Cash *float64 `json:"cash,omitempty"`

	// Currency The account's native currency (ISO 4217).
	Currency *string `json:"currency,omitempty"`

	// DisplayCash Cash balance converted to the requested display currency.
	DisplayCash *float64 `json:"displayCash,omitempty"`

	// DisplayInvestedAmount Invested amount converted to the requested display currency.
	DisplayInvestedAmount *float64 `json:"displayInvestedAmount,omitempty"`

	// DisplayPnl Profit and loss converted to the requested display currency.
	DisplayPnl *float64 `json:"displayPnl,omitempty"`

	// DisplayTotal Total balance converted to the requested display currency.
	DisplayTotal *float64 `json:"displayTotal,omitempty"`

	// ExchangeRate Exchange rate applied to convert to displayCurrency.
	ExchangeRate *float64 `json:"exchangeRate,omitempty"`

	// InvestedAmount Invested amount in the account's native currency.
	InvestedAmount *float64 `json:"investedAmount,omitempty"`

	// Pnl Profit and loss in the account's native currency.
	Pnl *float64 `json:"pnl,omitempty"`

	// Total Total balance in the account's native currency.
	Total *float64 `json:"total,omitempty"`

	// UsdRate Exchange rate to USD.
	UsdRate *float64 `json:"usdRate,omitempty"`
}

HistoricalAccountData Individual account balance within a historical daily snapshot.

type HistoricalDailySnapshotData

type HistoricalDailySnapshotData struct {
	// AccountSnapshots Individual account breakdowns within this snapshot.
	AccountSnapshots *[]HistoricalAccountData `json:"accountSnapshots,omitempty"`

	// Date The snapshot date (ISO 8601).
	Date *openapi_types.Date `json:"date,omitempty"`

	// DisplayTotalBalance Total end-of-day equity converted to the requested display currency. This is a historical equity figure, not available cash, and not a current balance.
	DisplayTotalBalance *float64 `json:"displayTotalBalance,omitempty"`

	// DisplayTotalCash Total cash converted to the requested display currency.
	DisplayTotalCash *float64 `json:"displayTotalCash,omitempty"`

	// DisplayTotalInvestedAmount Total invested amount converted to the requested display currency.
	DisplayTotalInvestedAmount *float64 `json:"displayTotalInvestedAmount,omitempty"`

	// DisplayTotalPnl Total profit and loss converted to the requested display currency.
	DisplayTotalPnl *float64 `json:"displayTotalPnl,omitempty"`

	// TotalBalance Total end-of-day equity across all accounts in native currency, as recorded in the snapshot. Reported independently of totalCash, totalInvestedAmount and totalPnl — do not assume it is their exact sum. This is a historical equity figure, not available cash, and not a current balance.
	TotalBalance *float64 `json:"totalBalance,omitempty"`

	// TotalCash Total cash across all accounts in native currency.
	TotalCash *float64 `json:"totalCash,omitempty"`

	// TotalCurrencyIso ISO 4217 currency code for the total figures in native currency.
	TotalCurrencyIso *string `json:"totalCurrencyIso,omitempty"`

	// TotalExchangeRate Exchange rate applied to convert totals to displayCurrency.
	TotalExchangeRate *float64 `json:"totalExchangeRate,omitempty"`

	// TotalInvestedAmount Total invested amount across all accounts in native currency.
	TotalInvestedAmount *float64 `json:"totalInvestedAmount,omitempty"`

	// TotalPnl Total profit and loss across all accounts in native currency.
	TotalPnl *float64 `json:"totalPnl,omitempty"`
}

HistoricalDailySnapshotData End-of-day balance snapshot for a specific date.

type HttpRequestDoer

type HttpRequestDoer interface {
	Do(req *http.Request) (*http.Response, error)
}

Doer performs HTTP requests.

The standard http.Client implements this interface.

type InAppNotificationMessage

type InAppNotificationMessage struct {
	// ActionLink URL for the notification action
	ActionLink *string `json:"actionLink,omitempty"`

	// Aggregatable Whether this notification can be aggregated
	Aggregatable *bool `json:"aggregatable,omitempty"`

	// AggregationId ID for aggregation grouping
	AggregationId *string `json:"aggregationId,omitempty"`

	// Category Category of the notification
	Category *string `json:"category,omitempty"`

	// CorrelationId Correlation ID for request tracing
	CorrelationId *openapi_types.UUID `json:"correlationId,omitempty"`

	// Grouped Whether this notification is grouped
	Grouped *bool `json:"grouped,omitempty"`

	// ImageTitle Title for the notification image
	ImageTitle *string `json:"imageTitle,omitempty"`

	// ImageUrl URL of the notification image
	ImageUrl *string `json:"imageUrl,omitempty"`

	// Message Notification content text
	Message *string `json:"message,omitempty"`

	// MessageId Unique identifier of the notification message
	//
	// Example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
	MessageId *openapi_types.UUID `json:"messageId,omitempty"`

	// NotificationType Type of notification
	NotificationType *string `json:"notificationType,omitempty"`

	// PublishDate When the notification was published
	PublishDate *time.Time `json:"publishDate,omitempty"`

	// ReadStatus Current read status of the notification
	ReadStatus *InAppNotificationMessageReadStatus `json:"readStatus,omitempty"`

	// RtlLanguage Whether the notification content is in an RTL language
	RtlLanguage *bool `json:"rtlLanguage,omitempty"`

	// Section Section the notification belongs to
	Section *string `json:"section,omitempty"`

	// SubCategory Sub-category of the notification
	SubCategory *string `json:"subCategory,omitempty"`

	// Version Version of the notification format
	Version *string `json:"version,omitempty"`
}

InAppNotificationMessage A single in-app notification message

type InAppNotificationMessageReadStatus

type InAppNotificationMessageReadStatus string

InAppNotificationMessageReadStatus Current read status of the notification

const (
	InAppNotificationMessageReadStatusNew  InAppNotificationMessageReadStatus = "New"
	InAppNotificationMessageReadStatusRead InAppNotificationMessageReadStatus = "Read"
	InAppNotificationMessageReadStatusSeen InAppNotificationMessageReadStatus = "Seen"
)

Defines values for InAppNotificationMessageReadStatus.

func (InAppNotificationMessageReadStatus) Valid

Valid indicates whether the value is a known member of the InAppNotificationMessageReadStatus enum.

type InAppNotificationsMetadata

type InAppNotificationsMetadata struct {
	// NotSeen Count of unseen notifications
	//
	// Example: 5
	NotSeen *int32 `json:"notSeen,omitempty"`
}

InAppNotificationsMetadata Metadata about the notifications result

type InAppNotificationsResult

type InAppNotificationsResult struct {
	// Messages List of notification messages
	Messages *[]InAppNotificationMessage `json:"messages,omitempty"`

	// Meta Metadata about the notifications result
	Meta *InAppNotificationsMetadata `json:"meta,omitempty"`
}

InAppNotificationsResult Response containing notifications and metadata

type InstrumentBreakdownAsset

type InstrumentBreakdownAsset struct {
	// Currency ISO 4217 code (uppercase) of the instrument's own currency, e.g. 'USD', 'EUR'. Distinct from the account currency at the response root.
	Currency *string `json:"currency,omitempty"`

	// Direction Position/order direction.
	Direction *InstrumentBreakdownAssetDirection `json:"direction,omitempty"`

	// InstrumentId etoro instrument identifier.
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// Leverage The leverage multiplier of the requested position.
	Leverage *int32 `json:"leverage,omitempty"`

	// SettlementType Requested settlement type of the position/order. `real` — real asset. `cfd` — contract for difference following the PnL of the underlying asset. `realFutures` — real futures contracts. `marginTrade` — holding the real asset on a margin (leverage). `trs` — obsolete. `cmt` — obsolete.
	SettlementType *InstrumentBreakdownAssetSettlementType `json:"settlementType,omitempty"`

	// Symbol Instrument symbol.
	Symbol *string `json:"symbol,omitempty"`
}

InstrumentBreakdownAsset The traded instrument.

type InstrumentBreakdownAssetDemo

type InstrumentBreakdownAssetDemo struct {
	// Currency ISO 4217 code (uppercase) of the instrument's own currency, e.g. 'USD', 'EUR'. Distinct from the account currency at the response root.
	Currency *string `json:"currency,omitempty"`

	// Direction Position/order direction.
	Direction *InstrumentBreakdownAssetDemoDirection `json:"direction,omitempty"`

	// InstrumentId etoro instrument identifier.
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// Leverage The leverage multiplier of the requested position.
	Leverage *int32 `json:"leverage,omitempty"`

	// SettlementType Requested settlement type of the position/order.
	SettlementType *InstrumentBreakdownAssetDemoSettlementType `json:"settlementType,omitempty"`

	// Symbol Instrument symbol.
	Symbol *string `json:"symbol,omitempty"`
}

InstrumentBreakdownAssetDemo The traded instrument.

type InstrumentBreakdownAssetDemoDirection

type InstrumentBreakdownAssetDemoDirection string

InstrumentBreakdownAssetDemoDirection Position/order direction.

const (
	InstrumentBreakdownAssetDemoDirectionLong  InstrumentBreakdownAssetDemoDirection = "long"
	InstrumentBreakdownAssetDemoDirectionShort InstrumentBreakdownAssetDemoDirection = "short"
)

Defines values for InstrumentBreakdownAssetDemoDirection.

func (InstrumentBreakdownAssetDemoDirection) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownAssetDemoDirection enum.

type InstrumentBreakdownAssetDemoSettlementType

type InstrumentBreakdownAssetDemoSettlementType string

InstrumentBreakdownAssetDemoSettlementType Requested settlement type of the position/order.

const (
	InstrumentBreakdownAssetDemoSettlementTypeCfd         InstrumentBreakdownAssetDemoSettlementType = "cfd"
	InstrumentBreakdownAssetDemoSettlementTypeCmt         InstrumentBreakdownAssetDemoSettlementType = "cmt"
	InstrumentBreakdownAssetDemoSettlementTypeMarginTrade InstrumentBreakdownAssetDemoSettlementType = "marginTrade"
	InstrumentBreakdownAssetDemoSettlementTypeReal        InstrumentBreakdownAssetDemoSettlementType = "real"
	InstrumentBreakdownAssetDemoSettlementTypeRealFutures InstrumentBreakdownAssetDemoSettlementType = "realFutures"
	InstrumentBreakdownAssetDemoSettlementTypeTrs         InstrumentBreakdownAssetDemoSettlementType = "trs"
)

Defines values for InstrumentBreakdownAssetDemoSettlementType.

func (InstrumentBreakdownAssetDemoSettlementType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownAssetDemoSettlementType enum.

type InstrumentBreakdownAssetDirection

type InstrumentBreakdownAssetDirection string

InstrumentBreakdownAssetDirection Position/order direction.

const (
	InstrumentBreakdownAssetDirectionLong  InstrumentBreakdownAssetDirection = "long"
	InstrumentBreakdownAssetDirectionShort InstrumentBreakdownAssetDirection = "short"
)

Defines values for InstrumentBreakdownAssetDirection.

func (InstrumentBreakdownAssetDirection) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownAssetDirection enum.

type InstrumentBreakdownAssetSettlementType

type InstrumentBreakdownAssetSettlementType string

InstrumentBreakdownAssetSettlementType Requested settlement type of the position/order. `real` — real asset. `cfd` — contract for difference following the PnL of the underlying asset. `realFutures` — real futures contracts. `marginTrade` — holding the real asset on a margin (leverage). `trs` — obsolete. `cmt` — obsolete.

const (
	InstrumentBreakdownAssetSettlementTypeCfd         InstrumentBreakdownAssetSettlementType = "cfd"
	InstrumentBreakdownAssetSettlementTypeCmt         InstrumentBreakdownAssetSettlementType = "cmt"
	InstrumentBreakdownAssetSettlementTypeMarginTrade InstrumentBreakdownAssetSettlementType = "marginTrade"
	InstrumentBreakdownAssetSettlementTypeReal        InstrumentBreakdownAssetSettlementType = "real"
	InstrumentBreakdownAssetSettlementTypeRealFutures InstrumentBreakdownAssetSettlementType = "realFutures"
	InstrumentBreakdownAssetSettlementTypeTrs         InstrumentBreakdownAssetSettlementType = "trs"
)

Defines values for InstrumentBreakdownAssetSettlementType.

func (InstrumentBreakdownAssetSettlementType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownAssetSettlementType enum.

type InstrumentBreakdownClosePositionDetail

type InstrumentBreakdownClosePositionDetail struct {
	// Contracts The number of contracts in the position. Used for instruments such as real Futures.
	Contracts *float32 `json:"contracts,omitempty"`

	// Direction Position direction.
	Direction *InstrumentBreakdownClosePositionDetailDirection `json:"direction,omitempty"`

	// InstrumentId etoro instrument identifier.
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// IsSettled Whether the position contains the real instrument (real*, marginTrade) or not (cfd).
	IsSettled *bool `json:"isSettled,omitempty"`

	// Leverage Leverage multiplier of the position.
	Leverage *int32 `json:"leverage,omitempty"`

	// OpenRate Rate at which the position was opened.
	OpenRate *float32 `json:"openRate,omitempty"`

	// OpenTime Time the position was opened (UTC).
	OpenTime *time.Time `json:"openTime,omitempty"`

	// PositionId etoro position identifier.
	PositionId *int64 `json:"positionId,omitempty"`

	// SettlementType Settlement type of the position. `real` — real asset. `cfd` — contract for difference following the PnL of the underlying asset. `realFutures` — real futures contracts. `marginTrade` — holding the real asset on a margin (leverage). `trs` — obsolete. `cmt` — obsolete.
	SettlementType *InstrumentBreakdownClosePositionDetailSettlementType `json:"settlementType,omitempty"`

	// Symbol Instrument symbol.
	Symbol *string `json:"symbol,omitempty"`

	// Units Position size in units of the instrument.
	Units *float32 `json:"units,omitempty"`
}

InstrumentBreakdownClosePositionDetail Snapshot of a position targeted by a close order. Positions not fully resolved are represented only by their ID in closePositionsIds.

type InstrumentBreakdownClosePositionDetailDemo

type InstrumentBreakdownClosePositionDetailDemo struct {
	// Contracts The number of contracts in the position. Used for instruments such as real Futures.
	Contracts *float32 `json:"contracts,omitempty"`

	// Direction Position direction.
	Direction *InstrumentBreakdownClosePositionDetailDemoDirection `json:"direction,omitempty"`

	// InstrumentId etoro instrument identifier.
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// IsSettled Whether the position has settled.
	IsSettled *bool `json:"isSettled,omitempty"`

	// Leverage Leverage multiplier of the position.
	Leverage *int32 `json:"leverage,omitempty"`

	// OpenRate Rate at which the position was opened.
	OpenRate *float32 `json:"openRate,omitempty"`

	// OpenTime Time the position was opened.
	OpenTime *time.Time `json:"openTime,omitempty"`

	// PositionId etoro position identifier.
	PositionId *int64 `json:"positionId,omitempty"`

	// SettlementType Settlement type of the position.
	SettlementType *InstrumentBreakdownClosePositionDetailDemoSettlementType `json:"settlementType,omitempty"`

	// Symbol Instrument symbol.
	Symbol *string `json:"symbol,omitempty"`

	// Units Position size in units of the instrument.
	Units *float32 `json:"units,omitempty"`
}

InstrumentBreakdownClosePositionDetailDemo Snapshot of a position targeted by a close order. Positions not fully resolved are represented only by their ID in closePositionsIds.

type InstrumentBreakdownClosePositionDetailDemoDirection

type InstrumentBreakdownClosePositionDetailDemoDirection string

InstrumentBreakdownClosePositionDetailDemoDirection Position direction.

const (
	InstrumentBreakdownClosePositionDetailDemoDirectionLong  InstrumentBreakdownClosePositionDetailDemoDirection = "long"
	InstrumentBreakdownClosePositionDetailDemoDirectionShort InstrumentBreakdownClosePositionDetailDemoDirection = "short"
)

Defines values for InstrumentBreakdownClosePositionDetailDemoDirection.

func (InstrumentBreakdownClosePositionDetailDemoDirection) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownClosePositionDetailDemoDirection enum.

type InstrumentBreakdownClosePositionDetailDemoSettlementType

type InstrumentBreakdownClosePositionDetailDemoSettlementType string

InstrumentBreakdownClosePositionDetailDemoSettlementType Settlement type of the position.

const (
	InstrumentBreakdownClosePositionDetailDemoSettlementTypeCfd         InstrumentBreakdownClosePositionDetailDemoSettlementType = "cfd"
	InstrumentBreakdownClosePositionDetailDemoSettlementTypeCmt         InstrumentBreakdownClosePositionDetailDemoSettlementType = "cmt"
	InstrumentBreakdownClosePositionDetailDemoSettlementTypeMarginTrade InstrumentBreakdownClosePositionDetailDemoSettlementType = "marginTrade"
	InstrumentBreakdownClosePositionDetailDemoSettlementTypeReal        InstrumentBreakdownClosePositionDetailDemoSettlementType = "real"
	InstrumentBreakdownClosePositionDetailDemoSettlementTypeRealFutures InstrumentBreakdownClosePositionDetailDemoSettlementType = "realFutures"
	InstrumentBreakdownClosePositionDetailDemoSettlementTypeTrs         InstrumentBreakdownClosePositionDetailDemoSettlementType = "trs"
)

Defines values for InstrumentBreakdownClosePositionDetailDemoSettlementType.

func (InstrumentBreakdownClosePositionDetailDemoSettlementType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownClosePositionDetailDemoSettlementType enum.

type InstrumentBreakdownClosePositionDetailDirection

type InstrumentBreakdownClosePositionDetailDirection string

InstrumentBreakdownClosePositionDetailDirection Position direction.

const (
	InstrumentBreakdownClosePositionDetailDirectionLong  InstrumentBreakdownClosePositionDetailDirection = "long"
	InstrumentBreakdownClosePositionDetailDirectionShort InstrumentBreakdownClosePositionDetailDirection = "short"
)

Defines values for InstrumentBreakdownClosePositionDetailDirection.

func (InstrumentBreakdownClosePositionDetailDirection) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownClosePositionDetailDirection enum.

type InstrumentBreakdownClosePositionDetailSettlementType

type InstrumentBreakdownClosePositionDetailSettlementType string

InstrumentBreakdownClosePositionDetailSettlementType Settlement type of the position. `real` — real asset. `cfd` — contract for difference following the PnL of the underlying asset. `realFutures` — real futures contracts. `marginTrade` — holding the real asset on a margin (leverage). `trs` — obsolete. `cmt` — obsolete.

const (
	InstrumentBreakdownClosePositionDetailSettlementTypeCfd         InstrumentBreakdownClosePositionDetailSettlementType = "cfd"
	InstrumentBreakdownClosePositionDetailSettlementTypeCmt         InstrumentBreakdownClosePositionDetailSettlementType = "cmt"
	InstrumentBreakdownClosePositionDetailSettlementTypeMarginTrade InstrumentBreakdownClosePositionDetailSettlementType = "marginTrade"
	InstrumentBreakdownClosePositionDetailSettlementTypeReal        InstrumentBreakdownClosePositionDetailSettlementType = "real"
	InstrumentBreakdownClosePositionDetailSettlementTypeRealFutures InstrumentBreakdownClosePositionDetailSettlementType = "realFutures"
	InstrumentBreakdownClosePositionDetailSettlementTypeTrs         InstrumentBreakdownClosePositionDetailSettlementType = "trs"
)

Defines values for InstrumentBreakdownClosePositionDetailSettlementType.

func (InstrumentBreakdownClosePositionDetailSettlementType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownClosePositionDetailSettlementType enum.

type InstrumentBreakdownInstrument

type InstrumentBreakdownInstrument struct {
	// InstrumentId etoro instrument identifier.
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// Orders Null when orderLevel=none.
	Orders *[]InstrumentBreakdownOrder `json:"orders,omitempty"`

	// Positions Null when positionLevel=none.
	Positions *[]InstrumentBreakdownPosition `json:"positions,omitempty"`

	// Symbol Instrument symbol.
	Symbol *string `json:"symbol,omitempty"`
}

InstrumentBreakdownInstrument defines model for InstrumentBreakdownInstrument.

type InstrumentBreakdownInstrumentDemo

type InstrumentBreakdownInstrumentDemo struct {
	// InstrumentId etoro instrument identifier.
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// Orders Null when orderLevel=none.
	Orders *[]InstrumentBreakdownOrderDemo `json:"orders,omitempty"`

	// Positions Null when positionLevel=none.
	Positions *[]InstrumentBreakdownPositionDemo `json:"positions,omitempty"`

	// Symbol Instrument symbol.
	Symbol *string `json:"symbol,omitempty"`
}

InstrumentBreakdownInstrumentDemo defines model for InstrumentBreakdownInstrumentDemo.

type InstrumentBreakdownMirror

type InstrumentBreakdownMirror struct {
	// Instruments Copy-trading positions/orders held within this mirror, grouped by instrument.
	Instruments *[]InstrumentBreakdownInstrument `json:"instruments,omitempty"`

	// MirrorId Unique mirror identifier.
	MirrorId *int32 `json:"mirrorId,omitempty"`
}

InstrumentBreakdownMirror defines model for InstrumentBreakdownMirror.

type InstrumentBreakdownMirrorDemo

type InstrumentBreakdownMirrorDemo struct {
	// Instruments Copy-trading positions/orders held within this mirror, grouped by instrument.
	Instruments *[]InstrumentBreakdownInstrumentDemo `json:"instruments,omitempty"`

	// MirrorId etoro mirror identifier.
	MirrorId *int32 `json:"mirrorId,omitempty"`
}

InstrumentBreakdownMirrorDemo defines model for InstrumentBreakdownMirrorDemo.

type InstrumentBreakdownOrder

type InstrumentBreakdownOrder struct {
	// Action Whether the order opens a new position or closes an existing one.
	Action *InstrumentBreakdownOrderAction `json:"action,omitempty"`

	// AdditionalMarginAcctCcy Additional margin allowed to be added to the position in order to deepen the stop loss beyond what is normally acceptable.
	AdditionalMarginAcctCcy *float32 `json:"additionalMarginAcctCcy,omitempty"`

	// Asset The traded instrument for this order.
	Asset *InstrumentBreakdownAsset `json:"asset,omitempty"`

	// CloseActionType How the close was initiated. Only set for close orders.
	CloseActionType *InstrumentBreakdownOrderCloseActionType `json:"closeActionType,omitempty"`

	// ClosePositionDetails Full snapshots for the positions in closePositionsIds, where available. Present only for close orders.
	ClosePositionDetails *[]InstrumentBreakdownClosePositionDetail `json:"closePositionDetails,omitempty"`

	// ClosePositionsIds Position IDs targeted by this close order. Present only for close orders.
	ClosePositionsIds *[]int64 `json:"closePositionsIds,omitempty"`

	// EToroOrderTypeId Internal etoro order-type code.
	EToroOrderTypeId *int32 `json:"eToroOrderTypeId,omitempty"`

	// EstimatedExternalCosts This is the estimated costs of the order in account currency.
	EstimatedExternalCosts *float32 `json:"estimatedExternalCosts,omitempty"`

	// OpenActionType How the position was opened. Only set for open orders.
	OpenActionType *InstrumentBreakdownOrderOpenActionType `json:"openActionType,omitempty"`

	// OpenStopLossAmount How much the position value can drop before the stopLoss will trigger to close it.
	OpenStopLossAmount *float32 `json:"openStopLossAmount,omitempty"`

	// OpenStopLossPercent How much the position value can drop before the stopLoss will trigger to close it, as a percentage of the invested margin amount.
	OpenStopLossPercent *float32 `json:"openStopLossPercent,omitempty"`

	// OpenStopLossRate The instrument rate at which the stop loss will trigger to close it.
	OpenStopLossRate *float32 `json:"openStopLossRate,omitempty"`

	// OpenTakeProfitAmount How much the position will gain before the takeProfit will trigger to close it.
	OpenTakeProfitAmount *float32 `json:"openTakeProfitAmount,omitempty"`

	// OpenTakeProfitPercent How much the position value will gain before the takeProfit will trigger to close it, as a percentage of the invested margin amount.
	OpenTakeProfitPercent *float32 `json:"openTakeProfitPercent,omitempty"`

	// OpenTakeProfitRate The instrument rate at which the takeProfit will trigger to close it.
	OpenTakeProfitRate *float32 `json:"openTakeProfitRate,omitempty"`

	// OrderCurrency ISO 4217 code (uppercase) of the currency the order was placed in. Currently only USD.
	OrderCurrency *string `json:"orderCurrency,omitempty"`

	// OrderId A unique order ID for this order.
	OrderId *int64 `json:"orderId,omitempty"`

	// RequestTime Time the order was requested (UTC).
	RequestTime *time.Time `json:"requestTime,omitempty"`

	// RequestType Whether the order was requested by monetary amount, by units, or by target position(s) (close orders).
	RequestType *InstrumentBreakdownOrderRequestType `json:"requestType,omitempty"`

	// RequestedAmountAcctCcy Requested amount in account currency.
	RequestedAmountAcctCcy *float32 `json:"requestedAmountAcctCcy,omitempty"`

	// RequestedContracts Requested position size in contracts, when applicable.
	RequestedContracts *float32 `json:"requestedContracts,omitempty"`

	// RequestedTriggerRate The Trigger Rate for MIT orders.
	RequestedTriggerRate *float32 `json:"requestedTriggerRate,omitempty"`

	// RequestedUnits Requested position size in units of the instrument, when applicable.
	RequestedUnits *float32 `json:"requestedUnits,omitempty"`

	// Status Current order status.
	Status *InstrumentBreakdownOrderStatus `json:"status,omitempty"`

	// StopLossType Whether the stop-loss is fixed or trailing. Null when no stop-loss is set.
	StopLossType *InstrumentBreakdownOrderStopLossType `json:"stopLossType,omitempty"`

	// Transaction The transaction performed on the instrument by this order. open long = buy, close long = sell, open short = sellShort, close short = buyToCover
	Transaction *InstrumentBreakdownOrderTransaction `json:"transaction,omitempty"`

	// Type The order type: 'mkt' is a market order, 'mit' is a market-if-touched order that waits for the requested trigger rate to be reached in the market, and 'limitIoc' is an immediate-or-cancel limit order.
	Type *InstrumentBreakdownOrderType `json:"type,omitempty"`

	// UnitsToDeduct The number of units to close when closing a position partially.
	UnitsToDeduct *float32 `json:"unitsToDeduct,omitempty"`
}

InstrumentBreakdownOrder defines model for InstrumentBreakdownOrder.

type InstrumentBreakdownOrderAction

type InstrumentBreakdownOrderAction string

InstrumentBreakdownOrderAction Whether the order opens a new position or closes an existing one.

const (
	InstrumentBreakdownOrderActionClose InstrumentBreakdownOrderAction = "close"
	InstrumentBreakdownOrderActionOpen  InstrumentBreakdownOrderAction = "open"
)

Defines values for InstrumentBreakdownOrderAction.

func (InstrumentBreakdownOrderAction) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownOrderAction enum.

type InstrumentBreakdownOrderCloseActionType

type InstrumentBreakdownOrderCloseActionType string

InstrumentBreakdownOrderCloseActionType How the close was initiated. Only set for close orders.

const (
	InstrumentBreakdownOrderCloseActionTypeAlignment                                        InstrumentBreakdownOrderCloseActionType = "alignment"
	InstrumentBreakdownOrderCloseActionTypeCloseByRate                                      InstrumentBreakdownOrderCloseActionType = "closeByRate"
	InstrumentBreakdownOrderCloseActionTypeDelist                                           InstrumentBreakdownOrderCloseActionType = "delist"
	InstrumentBreakdownOrderCloseActionTypeExpiry                                           InstrumentBreakdownOrderCloseActionType = "expiry"
	InstrumentBreakdownOrderCloseActionTypeOrphanedPosition                                 InstrumentBreakdownOrderCloseActionType = "orphanedPosition"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeBackofficeClose           InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeBackofficeClose"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeBackofficeUnregister      InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeBackofficeUnregister"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeBslLiquidation            InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeBslLiquidation"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeContractRollover          InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeContractRollover"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeCopyStopLoss              InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeCopyStopLoss"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeCustomerClose             InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeCustomerClose"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeCustomerCloseAll          InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeCustomerCloseAll"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeEndOfWeek                 InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeEndOfWeek"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeHierarchicalClose         InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeHierarchicalClose"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeHierarchicalCloseRecovery InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeHierarchicalCloseRecovery"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeManualCloseMirrorPosition InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeManualCloseMirrorPosition"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeManualLiquidation         InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeManualLiquidation"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeManualUnregister          InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeManualUnregister"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeReturnToMarket            InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeReturnToMarket"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeStopLoss                  InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeStopLoss"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeStopLossDb                InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeStopLossDb"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeTakeProfit                InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeTakeProfit"
	InstrumentBreakdownOrderCloseActionTypePositionCloseActionTypeTakeProfitDb              InstrumentBreakdownOrderCloseActionType = "positionCloseActionTypeTakeProfitDb"
	InstrumentBreakdownOrderCloseActionTypePositionCloseForRedeem                           InstrumentBreakdownOrderCloseActionType = "positionCloseForRedeem"
	InstrumentBreakdownOrderCloseActionTypePositionCloseOperational                         InstrumentBreakdownOrderCloseActionType = "positionCloseOperational"
	InstrumentBreakdownOrderCloseActionTypeReclassify                                       InstrumentBreakdownOrderCloseActionType = "reclassify"
	InstrumentBreakdownOrderCloseActionTypeTransferOut                                      InstrumentBreakdownOrderCloseActionType = "transferOut"
)

Defines values for InstrumentBreakdownOrderCloseActionType.

func (InstrumentBreakdownOrderCloseActionType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownOrderCloseActionType enum.

type InstrumentBreakdownOrderDemo

type InstrumentBreakdownOrderDemo struct {
	// Action Whether the order opens a new position or closes an existing one.
	Action *InstrumentBreakdownOrderDemoAction `json:"action,omitempty"`

	// AdditionalMarginAcctCcy Additional margin allowed to be added to the position in order to deepen the stop loss beyond what is normally acceptable.
	AdditionalMarginAcctCcy *float32 `json:"additionalMarginAcctCcy,omitempty"`

	// Asset The traded instrument for this order.
	Asset *InstrumentBreakdownAssetDemo `json:"asset,omitempty"`

	// CloseActionType How the close was initiated. Only set for close orders.
	CloseActionType *InstrumentBreakdownOrderDemoCloseActionType `json:"closeActionType,omitempty"`

	// ClosePositionDetails Full snapshots for the positions in closePositionsIds, where available. Present only for close orders.
	ClosePositionDetails *[]InstrumentBreakdownClosePositionDetailDemo `json:"closePositionDetails,omitempty"`

	// ClosePositionsIds Position IDs targeted by this close order. Present only for close orders.
	ClosePositionsIds *[]int64 `json:"closePositionsIds,omitempty"`

	// EToroOrderTypeId Internal etoro order-type code.
	EToroOrderTypeId *int32 `json:"eToroOrderTypeId,omitempty"`

	// EstimatedExternalCosts This is the estimated costs of the order in account currency.
	EstimatedExternalCosts *float32 `json:"estimatedExternalCosts,omitempty"`

	// OpenActionType How the originating position open was initiated. Only set for open orders.
	OpenActionType *InstrumentBreakdownOrderDemoOpenActionType `json:"openActionType,omitempty"`

	// OpenStopLossAmount Stop-loss amount requested on open, in account currency. Null when no stop-loss is set.
	OpenStopLossAmount *float32 `json:"openStopLossAmount,omitempty"`

	// OpenStopLossPercent Stop-loss percentage requested on open. Null when no stop-loss is set.
	OpenStopLossPercent *float32 `json:"openStopLossPercent,omitempty"`

	// OpenStopLossRate Stop-loss rate requested on open. Null when no stop-loss is set.
	OpenStopLossRate *float32 `json:"openStopLossRate,omitempty"`

	// OpenTakeProfitAmount Take-profit amount requested on open, in account currency. Null when no take-profit is set.
	OpenTakeProfitAmount *float32 `json:"openTakeProfitAmount,omitempty"`

	// OpenTakeProfitPercent Take-profit percentage requested on open. Null when no take-profit is set.
	OpenTakeProfitPercent *float32 `json:"openTakeProfitPercent,omitempty"`

	// OpenTakeProfitRate Take-profit rate requested on open. Null when no take-profit is set.
	OpenTakeProfitRate *float32 `json:"openTakeProfitRate,omitempty"`

	// OrderCurrency ISO 4217 code (uppercase) of the currency the order was placed in. Currently always the account's currency (USD), since etoro only supports single-currency accounts today.
	OrderCurrency *string `json:"orderCurrency,omitempty"`

	// OrderId A unique order ID for this order.
	OrderId *int64 `json:"orderId,omitempty"`

	// RequestTime Time the order was requested.
	RequestTime *time.Time `json:"requestTime,omitempty"`

	// RequestType Whether the order was requested by monetary amount, by units, or by target position(s) (close orders).
	RequestType *InstrumentBreakdownOrderDemoRequestType `json:"requestType,omitempty"`

	// RequestedAmountAcctCcy Requested amount in account currency.
	RequestedAmountAcctCcy *float32 `json:"requestedAmountAcctCcy,omitempty"`

	// RequestedContracts Requested position size in contracts, when applicable.
	RequestedContracts *float32 `json:"requestedContracts,omitempty"`

	// RequestedTriggerRate The Trigger Rate for MIT orders.
	RequestedTriggerRate *float32 `json:"requestedTriggerRate,omitempty"`

	// RequestedUnits Requested position size in units of the instrument, when applicable.
	RequestedUnits *float32 `json:"requestedUnits,omitempty"`

	// Status Current order status.
	Status *InstrumentBreakdownOrderDemoStatus `json:"status,omitempty"`

	// StopLossType Whether the stop-loss is fixed or trailing. Null when no stop-loss is set.
	StopLossType *InstrumentBreakdownOrderDemoStopLossType `json:"stopLossType,omitempty"`

	// Transaction open long = buy, close long = sell, open short = sellShort, close short = buyToCover
	Transaction *InstrumentBreakdownOrderDemoTransaction `json:"transaction,omitempty"`

	// Type The order type: 'mkt' is a market order, 'mit' is a market-if-touched order that waits for the requested trigger rate to be reached in the market, and 'limitIoc' is an immediate-or-cancel limit order.
	Type *InstrumentBreakdownOrderDemoType `json:"type,omitempty"`

	// UnitsToDeduct The number of units to close when closing a position partially.
	UnitsToDeduct *float32 `json:"unitsToDeduct,omitempty"`
}

InstrumentBreakdownOrderDemo defines model for InstrumentBreakdownOrderDemo.

type InstrumentBreakdownOrderDemoAction

type InstrumentBreakdownOrderDemoAction string

InstrumentBreakdownOrderDemoAction Whether the order opens a new position or closes an existing one.

const (
	InstrumentBreakdownOrderDemoActionClose InstrumentBreakdownOrderDemoAction = "close"
	InstrumentBreakdownOrderDemoActionOpen  InstrumentBreakdownOrderDemoAction = "open"
)

Defines values for InstrumentBreakdownOrderDemoAction.

func (InstrumentBreakdownOrderDemoAction) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownOrderDemoAction enum.

type InstrumentBreakdownOrderDemoCloseActionType

type InstrumentBreakdownOrderDemoCloseActionType string

InstrumentBreakdownOrderDemoCloseActionType How the close was initiated. Only set for close orders.

const (
	InstrumentBreakdownOrderDemoCloseActionTypeAlignment                                        InstrumentBreakdownOrderDemoCloseActionType = "alignment"
	InstrumentBreakdownOrderDemoCloseActionTypeCloseByRate                                      InstrumentBreakdownOrderDemoCloseActionType = "closeByRate"
	InstrumentBreakdownOrderDemoCloseActionTypeDelist                                           InstrumentBreakdownOrderDemoCloseActionType = "delist"
	InstrumentBreakdownOrderDemoCloseActionTypeExpiry                                           InstrumentBreakdownOrderDemoCloseActionType = "expiry"
	InstrumentBreakdownOrderDemoCloseActionTypeOrphanedPosition                                 InstrumentBreakdownOrderDemoCloseActionType = "orphanedPosition"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeBackofficeClose           InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeBackofficeClose"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeBackofficeUnregister      InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeBackofficeUnregister"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeBslLiquidation            InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeBslLiquidation"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeContractRollover          InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeContractRollover"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeCopyStopLoss              InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeCopyStopLoss"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeCustomerClose             InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeCustomerClose"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeCustomerCloseAll          InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeCustomerCloseAll"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeEndOfWeek                 InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeEndOfWeek"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeHierarchicalClose         InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeHierarchicalClose"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeHierarchicalCloseRecovery InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeHierarchicalCloseRecovery"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeManualCloseMirrorPosition InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeManualCloseMirrorPosition"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeManualLiquidation         InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeManualLiquidation"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeManualUnregister          InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeManualUnregister"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeReturnToMarket            InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeReturnToMarket"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeStopLoss                  InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeStopLoss"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeStopLossDb                InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeStopLossDb"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeTakeProfit                InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeTakeProfit"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseActionTypeTakeProfitDb              InstrumentBreakdownOrderDemoCloseActionType = "positionCloseActionTypeTakeProfitDb"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseForRedeem                           InstrumentBreakdownOrderDemoCloseActionType = "positionCloseForRedeem"
	InstrumentBreakdownOrderDemoCloseActionTypePositionCloseOperational                         InstrumentBreakdownOrderDemoCloseActionType = "positionCloseOperational"
	InstrumentBreakdownOrderDemoCloseActionTypeReclassify                                       InstrumentBreakdownOrderDemoCloseActionType = "reclassify"
	InstrumentBreakdownOrderDemoCloseActionTypeTransferOut                                      InstrumentBreakdownOrderDemoCloseActionType = "transferOut"
)

Defines values for InstrumentBreakdownOrderDemoCloseActionType.

func (InstrumentBreakdownOrderDemoCloseActionType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownOrderDemoCloseActionType enum.

type InstrumentBreakdownOrderDemoOpenActionType

type InstrumentBreakdownOrderDemoOpenActionType string

InstrumentBreakdownOrderDemoOpenActionType How the originating position open was initiated. Only set for open orders.

const (
	InstrumentBreakdownOrderDemoOpenActionTypeAcatsIn             InstrumentBreakdownOrderDemoOpenActionType = "acatsIn"
	InstrumentBreakdownOrderDemoOpenActionTypeAddFunds            InstrumentBreakdownOrderDemoOpenActionType = "addFunds"
	InstrumentBreakdownOrderDemoOpenActionTypeAdmin               InstrumentBreakdownOrderDemoOpenActionType = "admin"
	InstrumentBreakdownOrderDemoOpenActionTypeAlignment           InstrumentBreakdownOrderDemoOpenActionType = "alignment"
	InstrumentBreakdownOrderDemoOpenActionTypeCorporateAction     InstrumentBreakdownOrderDemoOpenActionType = "corporateAction"
	InstrumentBreakdownOrderDemoOpenActionTypeCustomer            InstrumentBreakdownOrderDemoOpenActionType = "customer"
	InstrumentBreakdownOrderDemoOpenActionTypeHierarchicalOpen    InstrumentBreakdownOrderDemoOpenActionType = "hierarchicalOpen"
	InstrumentBreakdownOrderDemoOpenActionTypeOpenOpen            InstrumentBreakdownOrderDemoOpenActionType = "openOpen"
	InstrumentBreakdownOrderDemoOpenActionTypeOperationalOpen     InstrumentBreakdownOrderDemoOpenActionType = "operationalOpen"
	InstrumentBreakdownOrderDemoOpenActionTypePromotion           InstrumentBreakdownOrderDemoOpenActionType = "promotion"
	InstrumentBreakdownOrderDemoOpenActionTypeReclassify          InstrumentBreakdownOrderDemoOpenActionType = "reclassify"
	InstrumentBreakdownOrderDemoOpenActionTypeRecurringInvestment InstrumentBreakdownOrderDemoOpenActionType = "recurringInvestment"
	InstrumentBreakdownOrderDemoOpenActionTypeRedeemForNft        InstrumentBreakdownOrderDemoOpenActionType = "redeemForNft"
	InstrumentBreakdownOrderDemoOpenActionTypeReinvestment        InstrumentBreakdownOrderDemoOpenActionType = "reinvestment"
	InstrumentBreakdownOrderDemoOpenActionTypeReopen              InstrumentBreakdownOrderDemoOpenActionType = "reopen"
	InstrumentBreakdownOrderDemoOpenActionTypeStaking             InstrumentBreakdownOrderDemoOpenActionType = "staking"
	InstrumentBreakdownOrderDemoOpenActionTypeStockDividend       InstrumentBreakdownOrderDemoOpenActionType = "stockDividend"
	InstrumentBreakdownOrderDemoOpenActionTypeTechnical           InstrumentBreakdownOrderDemoOpenActionType = "technical"
	InstrumentBreakdownOrderDemoOpenActionTypeTechnicalIssue      InstrumentBreakdownOrderDemoOpenActionType = "technicalIssue"
	InstrumentBreakdownOrderDemoOpenActionTypeTradeTheNews        InstrumentBreakdownOrderDemoOpenActionType = "tradeTheNews"
	InstrumentBreakdownOrderDemoOpenActionTypeUndefined           InstrumentBreakdownOrderDemoOpenActionType = "undefined"
)

Defines values for InstrumentBreakdownOrderDemoOpenActionType.

func (InstrumentBreakdownOrderDemoOpenActionType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownOrderDemoOpenActionType enum.

type InstrumentBreakdownOrderDemoRequestType

type InstrumentBreakdownOrderDemoRequestType string

InstrumentBreakdownOrderDemoRequestType Whether the order was requested by monetary amount, by units, or by target position(s) (close orders).

const (
	InstrumentBreakdownOrderDemoRequestTypeByAmount InstrumentBreakdownOrderDemoRequestType = "byAmount"
	InstrumentBreakdownOrderDemoRequestTypeByUnits  InstrumentBreakdownOrderDemoRequestType = "byUnits"
	InstrumentBreakdownOrderDemoRequestTypePosition InstrumentBreakdownOrderDemoRequestType = "position"
)

Defines values for InstrumentBreakdownOrderDemoRequestType.

func (InstrumentBreakdownOrderDemoRequestType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownOrderDemoRequestType enum.

type InstrumentBreakdownOrderDemoStatus

type InstrumentBreakdownOrderDemoStatus string

InstrumentBreakdownOrderDemoStatus Current order status.

const (
	InstrumentBreakdownOrderDemoStatusCanceled                InstrumentBreakdownOrderDemoStatus = "canceled"
	InstrumentBreakdownOrderDemoStatusCanceledPartiallyFilled InstrumentBreakdownOrderDemoStatus = "canceledPartiallyFilled"
	InstrumentBreakdownOrderDemoStatusExpired                 InstrumentBreakdownOrderDemoStatus = "expired"
	InstrumentBreakdownOrderDemoStatusFilled                  InstrumentBreakdownOrderDemoStatus = "filled"
	InstrumentBreakdownOrderDemoStatusPartiallyFilled         InstrumentBreakdownOrderDemoStatus = "partiallyFilled"
	InstrumentBreakdownOrderDemoStatusPendingCancel           InstrumentBreakdownOrderDemoStatus = "pendingCancel"
	InstrumentBreakdownOrderDemoStatusPendingTriggerRate      InstrumentBreakdownOrderDemoStatus = "pendingTriggerRate"
	InstrumentBreakdownOrderDemoStatusPlaced                  InstrumentBreakdownOrderDemoStatus = "placed"
	InstrumentBreakdownOrderDemoStatusReceived                InstrumentBreakdownOrderDemoStatus = "received"
	InstrumentBreakdownOrderDemoStatusRejected                InstrumentBreakdownOrderDemoStatus = "rejected"
	InstrumentBreakdownOrderDemoStatusRejectedPartiallyFilled InstrumentBreakdownOrderDemoStatus = "rejectedPartiallyFilled"
	InstrumentBreakdownOrderDemoStatusWaitingForMarket        InstrumentBreakdownOrderDemoStatus = "waitingForMarket"
)

Defines values for InstrumentBreakdownOrderDemoStatus.

func (InstrumentBreakdownOrderDemoStatus) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownOrderDemoStatus enum.

type InstrumentBreakdownOrderDemoStopLossType

type InstrumentBreakdownOrderDemoStopLossType string

InstrumentBreakdownOrderDemoStopLossType Whether the stop-loss is fixed or trailing. Null when no stop-loss is set.

const (
	InstrumentBreakdownOrderDemoStopLossTypeFixed    InstrumentBreakdownOrderDemoStopLossType = "fixed"
	InstrumentBreakdownOrderDemoStopLossTypeTrailing InstrumentBreakdownOrderDemoStopLossType = "trailing"
)

Defines values for InstrumentBreakdownOrderDemoStopLossType.

func (InstrumentBreakdownOrderDemoStopLossType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownOrderDemoStopLossType enum.

type InstrumentBreakdownOrderDemoTransaction

type InstrumentBreakdownOrderDemoTransaction string

InstrumentBreakdownOrderDemoTransaction open long = buy, close long = sell, open short = sellShort, close short = buyToCover

const (
	InstrumentBreakdownOrderDemoTransactionBuy        InstrumentBreakdownOrderDemoTransaction = "buy"
	InstrumentBreakdownOrderDemoTransactionBuyToCover InstrumentBreakdownOrderDemoTransaction = "buyToCover"
	InstrumentBreakdownOrderDemoTransactionSell       InstrumentBreakdownOrderDemoTransaction = "sell"
	InstrumentBreakdownOrderDemoTransactionSellShort  InstrumentBreakdownOrderDemoTransaction = "sellShort"
)

Defines values for InstrumentBreakdownOrderDemoTransaction.

func (InstrumentBreakdownOrderDemoTransaction) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownOrderDemoTransaction enum.

type InstrumentBreakdownOrderDemoType

type InstrumentBreakdownOrderDemoType string

InstrumentBreakdownOrderDemoType The order type: 'mkt' is a market order, 'mit' is a market-if-touched order that waits for the requested trigger rate to be reached in the market, and 'limitIoc' is an immediate-or-cancel limit order.

const (
	InstrumentBreakdownOrderDemoTypeLimitIoc InstrumentBreakdownOrderDemoType = "limitIoc"
	InstrumentBreakdownOrderDemoTypeMit      InstrumentBreakdownOrderDemoType = "mit"
	InstrumentBreakdownOrderDemoTypeMkt      InstrumentBreakdownOrderDemoType = "mkt"
	InstrumentBreakdownOrderDemoTypeUnknown  InstrumentBreakdownOrderDemoType = "unknown"
)

Defines values for InstrumentBreakdownOrderDemoType.

func (InstrumentBreakdownOrderDemoType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownOrderDemoType enum.

type InstrumentBreakdownOrderOpenActionType

type InstrumentBreakdownOrderOpenActionType string

InstrumentBreakdownOrderOpenActionType How the position was opened. Only set for open orders.

const (
	InstrumentBreakdownOrderOpenActionTypeAcatsIn             InstrumentBreakdownOrderOpenActionType = "acatsIn"
	InstrumentBreakdownOrderOpenActionTypeAddFunds            InstrumentBreakdownOrderOpenActionType = "addFunds"
	InstrumentBreakdownOrderOpenActionTypeAdmin               InstrumentBreakdownOrderOpenActionType = "admin"
	InstrumentBreakdownOrderOpenActionTypeAlignment           InstrumentBreakdownOrderOpenActionType = "alignment"
	InstrumentBreakdownOrderOpenActionTypeCorporateAction     InstrumentBreakdownOrderOpenActionType = "corporateAction"
	InstrumentBreakdownOrderOpenActionTypeCustomer            InstrumentBreakdownOrderOpenActionType = "customer"
	InstrumentBreakdownOrderOpenActionTypeHierarchicalOpen    InstrumentBreakdownOrderOpenActionType = "hierarchicalOpen"
	InstrumentBreakdownOrderOpenActionTypeOpenOpen            InstrumentBreakdownOrderOpenActionType = "openOpen"
	InstrumentBreakdownOrderOpenActionTypeOperationalOpen     InstrumentBreakdownOrderOpenActionType = "operationalOpen"
	InstrumentBreakdownOrderOpenActionTypePromotion           InstrumentBreakdownOrderOpenActionType = "promotion"
	InstrumentBreakdownOrderOpenActionTypeReclassify          InstrumentBreakdownOrderOpenActionType = "reclassify"
	InstrumentBreakdownOrderOpenActionTypeRecurringInvestment InstrumentBreakdownOrderOpenActionType = "recurringInvestment"
	InstrumentBreakdownOrderOpenActionTypeRedeemForNft        InstrumentBreakdownOrderOpenActionType = "redeemForNft"
	InstrumentBreakdownOrderOpenActionTypeReinvestment        InstrumentBreakdownOrderOpenActionType = "reinvestment"
	InstrumentBreakdownOrderOpenActionTypeReopen              InstrumentBreakdownOrderOpenActionType = "reopen"
	InstrumentBreakdownOrderOpenActionTypeStaking             InstrumentBreakdownOrderOpenActionType = "staking"
	InstrumentBreakdownOrderOpenActionTypeStockDividend       InstrumentBreakdownOrderOpenActionType = "stockDividend"
	InstrumentBreakdownOrderOpenActionTypeTechnical           InstrumentBreakdownOrderOpenActionType = "technical"
	InstrumentBreakdownOrderOpenActionTypeTechnicalIssue      InstrumentBreakdownOrderOpenActionType = "technicalIssue"
	InstrumentBreakdownOrderOpenActionTypeTradeTheNews        InstrumentBreakdownOrderOpenActionType = "tradeTheNews"
	InstrumentBreakdownOrderOpenActionTypeUndefined           InstrumentBreakdownOrderOpenActionType = "undefined"
)

Defines values for InstrumentBreakdownOrderOpenActionType.

func (InstrumentBreakdownOrderOpenActionType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownOrderOpenActionType enum.

type InstrumentBreakdownOrderRequestType

type InstrumentBreakdownOrderRequestType string

InstrumentBreakdownOrderRequestType Whether the order was requested by monetary amount, by units, or by target position(s) (close orders).

const (
	InstrumentBreakdownOrderRequestTypeByAmount InstrumentBreakdownOrderRequestType = "byAmount"
	InstrumentBreakdownOrderRequestTypeByUnits  InstrumentBreakdownOrderRequestType = "byUnits"
	InstrumentBreakdownOrderRequestTypePosition InstrumentBreakdownOrderRequestType = "position"
)

Defines values for InstrumentBreakdownOrderRequestType.

func (InstrumentBreakdownOrderRequestType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownOrderRequestType enum.

type InstrumentBreakdownOrderStatus

type InstrumentBreakdownOrderStatus string

InstrumentBreakdownOrderStatus Current order status.

const (
	InstrumentBreakdownOrderStatusCanceled                InstrumentBreakdownOrderStatus = "canceled"
	InstrumentBreakdownOrderStatusCanceledPartiallyFilled InstrumentBreakdownOrderStatus = "canceledPartiallyFilled"
	InstrumentBreakdownOrderStatusExpired                 InstrumentBreakdownOrderStatus = "expired"
	InstrumentBreakdownOrderStatusFilled                  InstrumentBreakdownOrderStatus = "filled"
	InstrumentBreakdownOrderStatusPartiallyFilled         InstrumentBreakdownOrderStatus = "partiallyFilled"
	InstrumentBreakdownOrderStatusPendingCancel           InstrumentBreakdownOrderStatus = "pendingCancel"
	InstrumentBreakdownOrderStatusPendingTriggerRate      InstrumentBreakdownOrderStatus = "pendingTriggerRate"
	InstrumentBreakdownOrderStatusPlaced                  InstrumentBreakdownOrderStatus = "placed"
	InstrumentBreakdownOrderStatusReceived                InstrumentBreakdownOrderStatus = "received"
	InstrumentBreakdownOrderStatusRejected                InstrumentBreakdownOrderStatus = "rejected"
	InstrumentBreakdownOrderStatusRejectedPartiallyFilled InstrumentBreakdownOrderStatus = "rejectedPartiallyFilled"
	InstrumentBreakdownOrderStatusWaitingForMarket        InstrumentBreakdownOrderStatus = "waitingForMarket"
)

Defines values for InstrumentBreakdownOrderStatus.

func (InstrumentBreakdownOrderStatus) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownOrderStatus enum.

type InstrumentBreakdownOrderStopLossType

type InstrumentBreakdownOrderStopLossType string

InstrumentBreakdownOrderStopLossType Whether the stop-loss is fixed or trailing. Null when no stop-loss is set.

const (
	InstrumentBreakdownOrderStopLossTypeFixed    InstrumentBreakdownOrderStopLossType = "fixed"
	InstrumentBreakdownOrderStopLossTypeTrailing InstrumentBreakdownOrderStopLossType = "trailing"
)

Defines values for InstrumentBreakdownOrderStopLossType.

func (InstrumentBreakdownOrderStopLossType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownOrderStopLossType enum.

type InstrumentBreakdownOrderTransaction

type InstrumentBreakdownOrderTransaction string

InstrumentBreakdownOrderTransaction The transaction performed on the instrument by this order. open long = buy, close long = sell, open short = sellShort, close short = buyToCover

const (
	InstrumentBreakdownOrderTransactionBuy        InstrumentBreakdownOrderTransaction = "buy"
	InstrumentBreakdownOrderTransactionBuyToCover InstrumentBreakdownOrderTransaction = "buyToCover"
	InstrumentBreakdownOrderTransactionSell       InstrumentBreakdownOrderTransaction = "sell"
	InstrumentBreakdownOrderTransactionSellShort  InstrumentBreakdownOrderTransaction = "sellShort"
)

Defines values for InstrumentBreakdownOrderTransaction.

func (InstrumentBreakdownOrderTransaction) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownOrderTransaction enum.

type InstrumentBreakdownOrderType

type InstrumentBreakdownOrderType string

InstrumentBreakdownOrderType The order type: 'mkt' is a market order, 'mit' is a market-if-touched order that waits for the requested trigger rate to be reached in the market, and 'limitIoc' is an immediate-or-cancel limit order.

const (
	InstrumentBreakdownOrderTypeLimitIoc InstrumentBreakdownOrderType = "limitIoc"
	InstrumentBreakdownOrderTypeMit      InstrumentBreakdownOrderType = "mit"
	InstrumentBreakdownOrderTypeMkt      InstrumentBreakdownOrderType = "mkt"
	InstrumentBreakdownOrderTypeUnknown  InstrumentBreakdownOrderType = "unknown"
)

Defines values for InstrumentBreakdownOrderType.

func (InstrumentBreakdownOrderType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownOrderType enum.

type InstrumentBreakdownPosition

type InstrumentBreakdownPosition struct {
	// AcctCcyReturn Unrealized P&L in account currency.
	AcctCcyReturn *float32 `json:"acctCcyReturn,omitempty"`

	// AcctCcyRoePercent Return on equity percentage, based on values in account currency.
	AcctCcyRoePercent *float32 `json:"acctCcyRoePercent,omitempty"`

	// AddedFunds Additional funds added to the position due to deepening the stopLoss beyond the allowable amount, in Asset Currency.
	AddedFunds *float32 `json:"addedFunds,omitempty"`

	// AddedFundsAcctCcy Additional funds added to the position due to deepening the stopLoss beyond the allowable amount, in Account Currency.
	AddedFundsAcctCcy *float32 `json:"addedFundsAcctCcy,omitempty"`

	// AssetCurrency ISO 4217 code (uppercase) of the instrument's own currency, e.g. 'USD', 'EUR'. Distinct from the account currency at the response root.
	AssetCurrency *string `json:"assetCurrency,omitempty"`

	// Contracts The number of contracts in the position. Used for instruments such as real Futures.
	Contracts *float32 `json:"contracts,omitempty"`

	// CurrentConversionRate Current conversion rate from Asset Currency to Account Currency. Used for PNL and current value calculations. Null when unavailable.
	CurrentConversionRate *float32 `json:"currentConversionRate,omitempty"`

	// CurrentExposure direction x (units x currentRate) in the instrument's own currency. Signed: positive for long, negative for short.
	CurrentExposure *float32 `json:"currentExposure,omitempty"`

	// CurrentExposureAcctCcy direction x (units x currentRate x currentConversionRate) in account currency.
	CurrentExposureAcctCcy *float32 `json:"currentExposureAcctCcy,omitempty"`

	// CurrentRate Current market rate of the instrument. Used for PnL and value calculations. Null when unavailable.
	CurrentRate *float32 `json:"currentRate,omitempty"`

	// Direction Position direction.
	Direction *InstrumentBreakdownPositionDirection `json:"direction,omitempty"`

	// FxValueImpact Impact of the currency exchange rate on the position value in Asset Currency. Should be added to the pnl to generate the actual pnl of the position in Asset Currency.
	FxValueImpact *float32 `json:"fxValueImpact,omitempty"`

	// InstrumentId etoro instrument identifier.
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// IsSettled Whether the position contains the real instrument (real*, marginTrade) or not (cfd).
	IsSettled *bool `json:"isSettled,omitempty"`

	// Leverage Leverage multiplier of the position.
	Leverage *int32 `json:"leverage,omitempty"`

	// LiquidationValue Current liquidation value of the position in the instrument's own currency.
	LiquidationValue *float32 `json:"liquidationValue,omitempty"`

	// LiquidationValueAcctCcy Current liquidation value of the position in account currency.
	LiquidationValueAcctCcy *float32 `json:"liquidationValueAcctCcy,omitempty"`

	// Margin Invested amount in the position in the instrument's own currency.
	Margin *float32 `json:"margin,omitempty"`

	// MarginAcctCcy Invested amount in the position in account currency.
	MarginAcctCcy *float32 `json:"marginAcctCcy,omitempty"`

	// OpenConversionRate Conversion rate from Asset currency to account currency at the time the position was opened.
	OpenConversionRate *float32 `json:"openConversionRate,omitempty"`

	// OpenRate Instrument rate at which the position was opened.
	OpenRate *float32 `json:"openRate,omitempty"`

	// OpenTime Time the position was opened (UTC).
	OpenTime *time.Time `json:"openTime,omitempty"`

	// OvernightFeesAndDividends Accumulated overnight fees and dividend adjustments, in account currency.
	OvernightFeesAndDividends *float32 `json:"overnightFeesAndDividends,omitempty"`

	// Pnl Unrealized profit or loss of the instruments in the position, in asset currency.
	Pnl *float32 `json:"pnl,omitempty"`

	// PnlPercent The pnl of the instrument (not the position) as a percentage of the opening instrument rate, based on values in asset currency.
	PnlPercent *float32 `json:"pnlPercent,omitempty"`

	// PositionId The unique id of the position.
	PositionId *int64 `json:"positionId,omitempty"`

	// RateTimestamp Time the current rate was captured (UTC). Null when unavailable.
	RateTimestamp *time.Time `json:"rateTimestamp,omitempty"`

	// RedeemEligibility Whether the position is eligible to be transferred to an outside crypto wallet. `partiallyAllowed` means the position cannot be transferred at once due to its large size, but can be transferred in portions.
	RedeemEligibility *InstrumentBreakdownPositionRedeemEligibility `json:"redeemEligibility,omitempty"`

	// RoePercent Return on equity percentage based on asset currency values, including the fxValueImpact.
	RoePercent *float32 `json:"roePercent,omitempty"`

	// SettlementType Settlement type of the position. `real` — real asset. `cfd` — contract for difference following the PnL of the underlying asset. `realFutures` — real futures contracts. `marginTrade` — holding the real asset on a margin (leverage). `trs` — obsolete. `cmt` — obsolete.
	SettlementType *InstrumentBreakdownPositionSettlementType `json:"settlementType,omitempty"`

	// StopLossRate The instrument rate at which the stop loss will trigger to close it. Null when no stop-loss is set.
	StopLossRate *float32 `json:"stopLossRate,omitempty"`

	// StopLossType Whether the stop-loss is fixed or trailing. Null when no stop-loss is set.
	StopLossType *InstrumentBreakdownPositionStopLossType `json:"stopLossType,omitempty"`

	// Symbol Instrument symbol.
	Symbol *string `json:"symbol,omitempty"`

	// TakeProfitRate The instrument rate at which the takeProfit will trigger to close it. Null when no take-profit is set.
	TakeProfitRate *float32 `json:"takeProfitRate,omitempty"`

	// TotalFeesAcctCcy Sum of transaction fees, in account currency.
	TotalFeesAcctCcy *float32 `json:"totalFeesAcctCcy,omitempty"`

	// TotalTaxesAcctCcy Sum of taxes, in account currency.
	TotalTaxesAcctCcy *float32 `json:"totalTaxesAcctCcy,omitempty"`

	// Units Position size in units of the instrument.
	Units *float32 `json:"units,omitempty"`
}

InstrumentBreakdownPosition defines model for InstrumentBreakdownPosition.

type InstrumentBreakdownPositionDemo

type InstrumentBreakdownPositionDemo struct {
	// AcctCcyReturn Unrealized P&L in account currency.
	AcctCcyReturn *float32 `json:"acctCcyReturn,omitempty"`

	// AcctCcyRoePercent Return on equity percentage, in account currency.
	AcctCcyRoePercent *float32 `json:"acctCcyRoePercent,omitempty"`

	// AddedFunds Additional funds added to the position, in the instrument's own currency.
	AddedFunds *float32 `json:"addedFunds,omitempty"`

	// AddedFundsAcctCcy Additional funds added to the position, in account currency.
	AddedFundsAcctCcy *float32 `json:"addedFundsAcctCcy,omitempty"`

	// AssetCurrency ISO 4217 code (uppercase) of the instrument's own currency, e.g. 'USD', 'EUR'. Distinct from the account currency at the response root.
	AssetCurrency *string `json:"assetCurrency,omitempty"`

	// Contracts The number of contracts in the position. Used for instruments such as real Futures.
	Contracts *float32 `json:"contracts,omitempty"`

	// CurrentConversionRate Current conversion rate to account currency. Null when unavailable.
	CurrentConversionRate *float32 `json:"currentConversionRate,omitempty"`

	// CurrentExposure direction x (units x currentRate) in the instrument's own currency. Signed: positive for long, negative for short.
	CurrentExposure *float32 `json:"currentExposure,omitempty"`

	// CurrentExposureAcctCcy direction x (units x currentRate x currentConversionRate) in account currency.
	CurrentExposureAcctCcy *float32 `json:"currentExposureAcctCcy,omitempty"`

	// CurrentRate Current market rate. Null when unavailable.
	CurrentRate *float32 `json:"currentRate,omitempty"`

	// Direction Position direction.
	Direction *InstrumentBreakdownPositionDemoDirection `json:"direction,omitempty"`

	// FxValueImpact Impact of currency-conversion rate movement on P&L, in account currency.
	FxValueImpact *float32 `json:"fxValueImpact,omitempty"`

	// InstrumentId etoro instrument identifier.
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// IsSettled Whether the position has settled.
	IsSettled *bool `json:"isSettled,omitempty"`

	// Leverage Leverage multiplier of the position.
	Leverage *int32 `json:"leverage,omitempty"`

	// LiquidationValue Current liquidation value in the instrument's own currency.
	LiquidationValue *float32 `json:"liquidationValue,omitempty"`

	// LiquidationValueAcctCcy Current liquidation value in account currency.
	LiquidationValueAcctCcy *float32 `json:"liquidationValueAcctCcy,omitempty"`

	// Margin Position amount in the instrument's own currency.
	Margin *float32 `json:"margin,omitempty"`

	// MarginAcctCcy Position amount in account currency.
	MarginAcctCcy *float32 `json:"marginAcctCcy,omitempty"`

	// OpenConversionRate Conversion rate to account currency at the time the position was opened.
	OpenConversionRate *float32 `json:"openConversionRate,omitempty"`

	// OpenRate Rate at which the position was opened.
	OpenRate *float32 `json:"openRate,omitempty"`

	// OpenTime Time the position was opened.
	OpenTime *time.Time `json:"openTime,omitempty"`

	// OvernightFeesAndDividends Accumulated overnight fees and dividend adjustments, in the instrument's own currency.
	OvernightFeesAndDividends *float32 `json:"overnightFeesAndDividends,omitempty"`

	// Pnl Unrealized P&L in the instrument's own currency.
	Pnl *float32 `json:"pnl,omitempty"`

	// PnlPercent Unrealized P&L percentage.
	PnlPercent *float32 `json:"pnlPercent,omitempty"`

	// PositionId etoro position identifier.
	PositionId *int64 `json:"positionId,omitempty"`

	// RateTimestamp Time the current rate was captured. Null when unavailable.
	RateTimestamp *time.Time `json:"rateTimestamp,omitempty"`

	// RedeemEligibility Current redeem decision. Missing/invalid eligibility inputs fail closed to 'notAllowed'.
	RedeemEligibility *InstrumentBreakdownPositionDemoRedeemEligibility `json:"redeemEligibility,omitempty"`

	// RoePercent Return on equity percentage, in the instrument's own currency.
	RoePercent *float32 `json:"roePercent,omitempty"`

	// SettlementType Settlement type of the position.
	SettlementType *InstrumentBreakdownPositionDemoSettlementType `json:"settlementType,omitempty"`

	// StopLossRate Null when no stop-loss is set.
	StopLossRate *float32 `json:"stopLossRate,omitempty"`

	// StopLossType Whether the stop-loss is fixed or trailing. Null when no stop-loss is set.
	StopLossType *InstrumentBreakdownPositionDemoStopLossType `json:"stopLossType,omitempty"`

	// Symbol Instrument symbol.
	Symbol *string `json:"symbol,omitempty"`

	// TakeProfitRate Null when no take-profit is set.
	TakeProfitRate *float32 `json:"takeProfitRate,omitempty"`

	// TotalFeesAcctCcy Sum of transaction fees, in account currency.
	TotalFeesAcctCcy *float32 `json:"totalFeesAcctCcy,omitempty"`

	// TotalTaxesAcctCcy Sum of taxes, in account currency.
	TotalTaxesAcctCcy *float32 `json:"totalTaxesAcctCcy,omitempty"`

	// Units Position size in units of the instrument.
	Units *float32 `json:"units,omitempty"`
}

InstrumentBreakdownPositionDemo defines model for InstrumentBreakdownPositionDemo.

type InstrumentBreakdownPositionDemoDirection

type InstrumentBreakdownPositionDemoDirection string

InstrumentBreakdownPositionDemoDirection Position direction.

const (
	InstrumentBreakdownPositionDemoDirectionLong  InstrumentBreakdownPositionDemoDirection = "long"
	InstrumentBreakdownPositionDemoDirectionShort InstrumentBreakdownPositionDemoDirection = "short"
)

Defines values for InstrumentBreakdownPositionDemoDirection.

func (InstrumentBreakdownPositionDemoDirection) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownPositionDemoDirection enum.

type InstrumentBreakdownPositionDemoRedeemEligibility

type InstrumentBreakdownPositionDemoRedeemEligibility string

InstrumentBreakdownPositionDemoRedeemEligibility Current redeem decision. Missing/invalid eligibility inputs fail closed to 'notAllowed'.

const (
	InstrumentBreakdownPositionDemoRedeemEligibilityAllowed        InstrumentBreakdownPositionDemoRedeemEligibility = "allowed"
	InstrumentBreakdownPositionDemoRedeemEligibilityNotAllowed     InstrumentBreakdownPositionDemoRedeemEligibility = "notAllowed"
	InstrumentBreakdownPositionDemoRedeemEligibilityPartialAllowed InstrumentBreakdownPositionDemoRedeemEligibility = "partialAllowed"
)

Defines values for InstrumentBreakdownPositionDemoRedeemEligibility.

func (InstrumentBreakdownPositionDemoRedeemEligibility) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownPositionDemoRedeemEligibility enum.

type InstrumentBreakdownPositionDemoSettlementType

type InstrumentBreakdownPositionDemoSettlementType string

InstrumentBreakdownPositionDemoSettlementType Settlement type of the position.

const (
	InstrumentBreakdownPositionDemoSettlementTypeCfd         InstrumentBreakdownPositionDemoSettlementType = "cfd"
	InstrumentBreakdownPositionDemoSettlementTypeCmt         InstrumentBreakdownPositionDemoSettlementType = "cmt"
	InstrumentBreakdownPositionDemoSettlementTypeMarginTrade InstrumentBreakdownPositionDemoSettlementType = "marginTrade"
	InstrumentBreakdownPositionDemoSettlementTypeReal        InstrumentBreakdownPositionDemoSettlementType = "real"
	InstrumentBreakdownPositionDemoSettlementTypeRealFutures InstrumentBreakdownPositionDemoSettlementType = "realFutures"
	InstrumentBreakdownPositionDemoSettlementTypeTrs         InstrumentBreakdownPositionDemoSettlementType = "trs"
)

Defines values for InstrumentBreakdownPositionDemoSettlementType.

func (InstrumentBreakdownPositionDemoSettlementType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownPositionDemoSettlementType enum.

type InstrumentBreakdownPositionDemoStopLossType

type InstrumentBreakdownPositionDemoStopLossType string

InstrumentBreakdownPositionDemoStopLossType Whether the stop-loss is fixed or trailing. Null when no stop-loss is set.

const (
	InstrumentBreakdownPositionDemoStopLossTypeFixed    InstrumentBreakdownPositionDemoStopLossType = "fixed"
	InstrumentBreakdownPositionDemoStopLossTypeTrailing InstrumentBreakdownPositionDemoStopLossType = "trailing"
)

Defines values for InstrumentBreakdownPositionDemoStopLossType.

func (InstrumentBreakdownPositionDemoStopLossType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownPositionDemoStopLossType enum.

type InstrumentBreakdownPositionDirection

type InstrumentBreakdownPositionDirection string

InstrumentBreakdownPositionDirection Position direction.

const (
	InstrumentBreakdownPositionDirectionLong  InstrumentBreakdownPositionDirection = "long"
	InstrumentBreakdownPositionDirectionShort InstrumentBreakdownPositionDirection = "short"
)

Defines values for InstrumentBreakdownPositionDirection.

func (InstrumentBreakdownPositionDirection) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownPositionDirection enum.

type InstrumentBreakdownPositionRedeemEligibility

type InstrumentBreakdownPositionRedeemEligibility string

InstrumentBreakdownPositionRedeemEligibility Whether the position is eligible to be transferred to an outside crypto wallet. `partiallyAllowed` means the position cannot be transferred at once due to its large size, but can be transferred in portions.

const (
	InstrumentBreakdownPositionRedeemEligibilityAllowed        InstrumentBreakdownPositionRedeemEligibility = "allowed"
	InstrumentBreakdownPositionRedeemEligibilityNotAllowed     InstrumentBreakdownPositionRedeemEligibility = "notAllowed"
	InstrumentBreakdownPositionRedeemEligibilityPartialAllowed InstrumentBreakdownPositionRedeemEligibility = "partialAllowed"
)

Defines values for InstrumentBreakdownPositionRedeemEligibility.

func (InstrumentBreakdownPositionRedeemEligibility) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownPositionRedeemEligibility enum.

type InstrumentBreakdownPositionSettlementType

type InstrumentBreakdownPositionSettlementType string

InstrumentBreakdownPositionSettlementType Settlement type of the position. `real` — real asset. `cfd` — contract for difference following the PnL of the underlying asset. `realFutures` — real futures contracts. `marginTrade` — holding the real asset on a margin (leverage). `trs` — obsolete. `cmt` — obsolete.

const (
	InstrumentBreakdownPositionSettlementTypeCfd         InstrumentBreakdownPositionSettlementType = "cfd"
	InstrumentBreakdownPositionSettlementTypeCmt         InstrumentBreakdownPositionSettlementType = "cmt"
	InstrumentBreakdownPositionSettlementTypeMarginTrade InstrumentBreakdownPositionSettlementType = "marginTrade"
	InstrumentBreakdownPositionSettlementTypeReal        InstrumentBreakdownPositionSettlementType = "real"
	InstrumentBreakdownPositionSettlementTypeRealFutures InstrumentBreakdownPositionSettlementType = "realFutures"
	InstrumentBreakdownPositionSettlementTypeTrs         InstrumentBreakdownPositionSettlementType = "trs"
)

Defines values for InstrumentBreakdownPositionSettlementType.

func (InstrumentBreakdownPositionSettlementType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownPositionSettlementType enum.

type InstrumentBreakdownPositionStopLossType

type InstrumentBreakdownPositionStopLossType string

InstrumentBreakdownPositionStopLossType Whether the stop-loss is fixed or trailing. Null when no stop-loss is set.

const (
	InstrumentBreakdownPositionStopLossTypeFixed    InstrumentBreakdownPositionStopLossType = "fixed"
	InstrumentBreakdownPositionStopLossTypeTrailing InstrumentBreakdownPositionStopLossType = "trailing"
)

Defines values for InstrumentBreakdownPositionStopLossType.

func (InstrumentBreakdownPositionStopLossType) Valid

Valid indicates whether the value is a known member of the InstrumentBreakdownPositionStopLossType enum.

type InstrumentBreakdownResponse

type InstrumentBreakdownResponse struct {
	// AccountCurrency ISO 4217 code (uppercase) of the account's base currency, e.g. 'USD'.
	AccountCurrency *string `json:"accountCurrency,omitempty"`

	// Instruments Manually held (non copy-trading) positions/orders, grouped by instrument.
	Instruments *[]InstrumentBreakdownInstrument `json:"instruments,omitempty"`

	// Mirrors Copy-trading mirrors. Empty unless mirrorLevel=details.
	Mirrors *[]InstrumentBreakdownMirror `json:"mirrors,omitempty"`

	// Timestamp Time when the portfolio snapshot was generated (UTC).
	Timestamp *time.Time `json:"timestamp,omitempty"`
}

InstrumentBreakdownResponse defines model for InstrumentBreakdownResponse.

type InstrumentBreakdownResponseDemo

type InstrumentBreakdownResponseDemo struct {
	// AccountCurrency ISO 4217 code (uppercase) of the account's base currency, e.g. 'USD'.
	AccountCurrency *string `json:"accountCurrency,omitempty"`

	// Instruments Manually held (non copy-trading) positions/orders, grouped by instrument.
	Instruments *[]InstrumentBreakdownInstrumentDemo `json:"instruments,omitempty"`

	// Mirrors Copy-trading mirrors. Empty unless mirrorLevel=details.
	Mirrors *[]InstrumentBreakdownMirrorDemo `json:"mirrors,omitempty"`

	// Timestamp Time the snapshot was generated.
	Timestamp *time.Time `json:"timestamp,omitempty"`
}

InstrumentBreakdownResponseDemo defines model for InstrumentBreakdownResponseDemo.

type InstrumentEligibility

type InstrumentEligibility struct {
	// AdditionalBufferPercent For low-liquidity assets, market execution prices can be far from the current published market rate. This parameter is used to limit the execution rate distance from the current published rate, and it causes additional funds to be reserved for the order before execution. The additional reserved funds are released back to the balance as soon as the order is executed or cancelled. Null if no buffer.
	AdditionalBufferPercent *float32 `json:"additionalBufferPercent,omitempty"`

	// AllowClosePosition Whether closing existing positions is currently permitted.
	AllowClosePosition *bool `json:"allowClosePosition,omitempty"`

	// AllowEntryOrders Whether submitting open orders when the market is closed is allowed.
	AllowEntryOrders *bool `json:"allowEntryOrders,omitempty"`

	// AllowExitOrders Whether submitting close orders when the market is closed is allowed.
	AllowExitOrders *bool `json:"allowExitOrders,omitempty"`

	// AllowMitOrders Whether Market-if-Touched (limit) orders are supported.
	AllowMitOrders *bool `json:"allowMitOrders,omitempty"`

	// AllowOpenPosition Whether opening new positions is currently permitted.
	AllowOpenPosition *bool `json:"allowOpenPosition,omitempty"`

	// AllowPartialClosePosition Whether partially closing an existing position is permitted.
	AllowPartialClosePosition *bool `json:"allowPartialClosePosition,omitempty"`

	// AllowTrailingStopLoss Whether a trailing stop-loss can be set on positions for this instrument.
	AllowTrailingStopLoss *bool `json:"allowTrailingStopLoss,omitempty"`

	// AllowedOrderQuantityType Which order sizing methods the instrument allows. Possible values: `unitsOnly`, `amountOnly`, `all`.
	AllowedOrderQuantityType *string `json:"allowedOrderQuantityType,omitempty"`

	// InitialMarginInAssetCurrency Initial margin expressed in the asset currency. Null if not applicable. This parameter is only available for assets that have a fixed margin per contract, such as Futures.
	InitialMarginInAssetCurrency *float32 `json:"initialMarginInAssetCurrency,omitempty"`

	// InstrumentId Unique identifier for the instrument.
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// LeverageConfigs The following is a list of allowable assets for the instrument ID, with their eligibility configurations. Each asset is identified by a `settlementType` (real, cfd, etc.), `leverage` (1, 2, 5, etc.), and `direction` (long/short). The following parameters are organized for each allowed combination of settlementType, direction, and leverages. If not all leverages for a settlementType and direction have the same configuration parameters, then they are split into two `leverageConfigs` sets, each with its own exclusive set of leverages.
	LeverageConfigs *[]LeverageConfiguration `json:"leverageConfigs,omitempty"`

	// MaxUnitsPerOrder Maximum number of units allowed per single order.
	MaxUnitsPerOrder *float32 `json:"maxUnitsPerOrder,omitempty"`

	// MinPositionExposure Minimum exposure value required to open a position on this instrument. The exposure is always calculated in USD as the number of units times the rate times the conversion rate to USD.
	MinPositionExposure *float32 `json:"minPositionExposure,omitempty"`

	// OrderFillBehaviorType How orders are filled for this instrument. Possible values: `bestEffort`, `fillOrKill`. `fillOrKill` - either all requested number of units are executed or none at all. `bestEffort` - if the execution rate is higher than expected, less number of units are executed in order not to exceed the reserved funds for the order.
	OrderFillBehaviorType *string `json:"orderFillBehaviorType,omitempty"`

	// RequiresW8Ben Whether a W-8BEN tax form is required to trade this instrument. Null if not applicable.
	RequiresW8Ben *bool `json:"requiresW8Ben,omitempty"`

	// StopLossMarginInAssetCurrency Stop-loss margin expressed in the asset currency. Null if not applicable. When the position loss causes the position to reach this value, the stop loss is triggered. This parameter is only available for assets that are traded in a fixed margin value, such as Futures.
	StopLossMarginInAssetCurrency *float32 `json:"stopLossMarginInAssetCurrency,omitempty"`

	// Symbol Trading symbol of the instrument (e.g. AAPL, EURUSD).
	Symbol *string `json:"symbol,omitempty"`

	// TradeUnitType Unit type used to express trade size. Possible values: `units`, `contracts`. For example, `realFutures` are traded in contracts, `cfd` are traded in units.
	TradeUnitType *string `json:"tradeUnitType,omitempty"`

	// UnitsQuantityType What trade quantity type is allowed. Possible values: `whole`, `fractional`. `whole` - the instrument can be traded in whole units or contracts only. `fractional` - the instrument can be traded in fractions, non-whole units.
	UnitsQuantityType *string `json:"unitsQuantityType,omitempty"`
}

InstrumentEligibility Full trading configuration for a single instrument, including position limits, trading permissions, order configuration, margin settings, and available leverage.

type InstrumentEligibilityRequest

type InstrumentEligibilityRequest struct {
	// Currency Requested currency for financial amounts in the eligibility response (e.g. minimum position size). Currently only USD is supported.
	Currency *string `json:"currency,omitempty"`

	// InstrumentIds Optional list of instrument IDs to check.
	InstrumentIds *[]int32 `json:"instrumentIds,omitempty"`

	// Symbols Optional list of instrument symbols to check.
	Symbols *[]string `json:"symbols,omitempty"`
}

InstrumentEligibilityRequest Request payload for checking instrument eligibility. At least one of `instrumentIds` or `symbols` must be provided; combined length must not exceed 100 instruments.

type InstrumentEligibilityResponse

type InstrumentEligibilityResponse struct {
	// Currency The currency used for all monetary values in this response.
	Currency *string `json:"currency,omitempty"`

	// Eligibilities Trading configuration for each resolved instrument.
	Eligibilities *[]InstrumentEligibility `json:"eligibilities,omitempty"`

	// NotFoundInstrumentIds Instrument IDs that were requested but could not be found.
	NotFoundInstrumentIds *[]int32 `json:"notFoundInstrumentIds,omitempty"`

	// NotFoundSymbols Symbols that were requested but could not be found.
	NotFoundSymbols *[]string `json:"notFoundSymbols,omitempty"`
}

InstrumentEligibilityResponse Response containing trading configuration for all requested instruments.

type InstrumentImage

type InstrumentImage struct {
	// BackgroundColor Background color, included only for SVG images
	BackgroundColor *string `json:"backgroundColor,omitempty"`

	// Uri Image URI
	Uri *string `json:"uri,omitempty"`
}

InstrumentImage Best available image for the instrument. backgroundColor is included only for SVG images.

type InstrumentMarketData

type InstrumentMarketData struct {
	// AssetTypeId Asset type id.
	AssetTypeId *int32 `json:"assetTypeId,omitempty"`

	// AssetTypeSubCategoryId Asset type sub-category id.
	AssetTypeSubCategoryId *int32 `json:"assetTypeSubCategoryId,omitempty"`

	// Avatar Instrument or user avatar in multiple sizes.
	Avatar *WatchlistApiAvatar `json:"avatar,omitempty"`

	// DisplayName Human-readable instrument name.
	//
	// Example: Apple
	DisplayName *string `json:"displayName,omitempty"`

	// ExchangeId Exchange id.
	ExchangeId *int32 `json:"exchangeId,omitempty"`

	// HasExpirationDate Whether the instrument has an expiration date.
	HasExpirationDate *bool `json:"hasExpirationDate,omitempty"`

	// Id Instrument id.
	//
	// Example: 100000
	Id *int32 `json:"id,omitempty"`

	// SymbolName Instrument symbol.
	//
	// Example: AAPL
	SymbolName *string `json:"symbolName,omitempty"`
}

InstrumentMarketData Core market metadata for an instrument.

type InstrumentMetadataSlim

type InstrumentMetadataSlim struct {
	// AboveDollarPrecision Price precision above one dollar.
	AboveDollarPrecision *int32 `json:"aboveDollarPrecision,omitempty"`

	// AvatarUrl Instrument avatar URL.
	AvatarUrl *string `json:"avatarUrl,omitempty"`

	// CurrencyId Currency id.
	CurrencyId *int32 `json:"currencyId,omitempty"`

	// ExchangeId Exchange id.
	ExchangeId *int32 `json:"exchangeId,omitempty"`

	// ExchangeMarket Exchange market.
	ExchangeMarket *string `json:"exchangeMarket,omitempty"`

	// ExpirationDate Expiration date, when applicable.
	ExpirationDate *time.Time `json:"expirationDate,omitempty"`

	// IndexPointValue Index point value.
	IndexPointValue *float64 `json:"indexPointValue,omitempty"`

	// InstrumentTypeId Instrument type id.
	InstrumentTypeId *int32 `json:"instrumentTypeId,omitempty"`

	// LastTradingDate Last trading date, when applicable.
	LastTradingDate *time.Time `json:"lastTradingDate,omitempty"`

	// Multiplier Price multiplier.
	Multiplier *float64 `json:"multiplier,omitempty"`

	// Name Instrument name.
	Name *string `json:"name,omitempty"`

	// Precision Price precision.
	Precision *int32 `json:"precision,omitempty"`

	// Symbol Instrument symbol.
	Symbol *string `json:"symbol,omitempty"`

	// SymbolFull Full instrument symbol.
	SymbolFull *string `json:"symbolFull,omitempty"`
}

InstrumentMetadataSlim Slim instrument metadata used by the trade button.

type InstrumentSchema

type InstrumentSchema struct {
	// AbsBuyPctChange24Hours The absolute buy percentage change in the last 24 hours.
	AbsBuyPctChange24Hours *float32 `json:"absBuyPctChange24Hours,omitempty"`

	// AbsDailyPriceChange The absolute daily price change.
	AbsDailyPriceChange *float32 `json:"absDailyPriceChange,omitempty"`

	// BuyHoldingPct The buy holding percentage.
	BuyHoldingPct *float32 `json:"buyHoldingPct,omitempty"`

	// BuyPctChange24Hours The buy percentage change in the last 24 hours.
	BuyPctChange24Hours *float32 `json:"buyPctChange24Hours,omitempty"`

	// CurrMonthPriceChange The current month price change.
	CurrMonthPriceChange *float32 `json:"currMonthPriceChange,omitempty"`

	// CurrQuarterPriceChange The current quarter price change.
	CurrQuarterPriceChange *float32 `json:"currQuarterPriceChange,omitempty"`

	// CurrYearPriceChange The current year price change.
	CurrYearPriceChange *float32 `json:"currYearPriceChange,omitempty"`

	// CurrentRate The current rate of the instrument.
	CurrentRate *float32 `json:"currentRate,omitempty"`

	// CvtAsk The converted ask price.
	CvtAsk *float32 `json:"cvtAsk,omitempty"`

	// CvtAskNoSpread The converted ask price without spread.
	CvtAskNoSpread *float32 `json:"cvtAskNoSpread,omitempty"`

	// CvtBiNoSpread The converted bid price without spread.
	CvtBiNoSpread *float32 `json:"cvtBiNoSpread,omitempty"`

	// CvtBid The converted bid price.
	CvtBid *float32 `json:"cvtBid,omitempty"`

	// DailyPriceChange The daily price change.
	DailyPriceChange *float32 `json:"dailyPriceChange,omitempty"`

	// Displayname The display name of the instrument.
	Displayname *string `json:"displayname,omitempty"`

	// ExchangeID The ID of the exchange where the instrument is traded.
	ExchangeID *int `json:"exchangeID,omitempty"`

	// HoldingPct The holding percentage of this instrument.
	HoldingPct *float32 `json:"holdingPct,omitempty"`

	// IndustryNameId The industry name ID.
	IndustryNameId *int `json:"industryNameId,omitempty"`

	// InstrumentId A unique identifier for the instrument.
	InstrumentId *int `json:"instrumentId,omitempty"`

	// InstrumentType The type of the instrument.
	InstrumentType *string `json:"instrumentType,omitempty"`

	// InstrumentTypeID The type ID of the instrument.
	InstrumentTypeID *int `json:"instrumentTypeID,omitempty"`

	// InternalAssetClassId The internal asset class ID.
	InternalAssetClassId *int `json:"internalAssetClassId,omitempty"`

	// InternalAssetClassName The internal asset class name.
	InternalAssetClassName *string `json:"internalAssetClassName,omitempty"`

	// InternalClosingPrice The internal closing price.
	InternalClosingPrice *float32 `json:"internalClosingPrice,omitempty"`

	// InternalCryptoTypeId The internal crypto type ID.
	InternalCryptoTypeId *int `json:"internalCryptoTypeId,omitempty"`

	// InternalExchangeId The internal exchange ID.
	InternalExchangeId *int `json:"internalExchangeId,omitempty"`

	// InternalExchangeName The internal exchange name.
	InternalExchangeName *string `json:"internalExchangeName,omitempty"`

	// InternalIndustryId The internal industry ID.
	InternalIndustryId *int `json:"internalIndustryId,omitempty"`

	// InternalInstrumentDisplayName The internal display name of the instrument.
	InternalInstrumentDisplayName *string `json:"internalInstrumentDisplayName,omitempty"`

	// InternalInstrumentId The internal instrument ID.
	InternalInstrumentId *int `json:"internalInstrumentId,omitempty"`

	// InternalStockIndustryName The internal stock industry name.
	InternalStockIndustryName *string `json:"internalStockIndustryName,omitempty"`

	// InternalSymbolFull The full internal symbol of the instrument.
	InternalSymbolFull *string `json:"internalSymbolFull,omitempty"`

	// IsActiveInPlatform Indicates whether the instrument is active in the platform.
	IsActiveInPlatform *bool `json:"isActiveInPlatform,omitempty"`

	// IsBuyEnabled Indicates whether buying is enabled for the instrument.
	IsBuyEnabled *bool `json:"isBuyEnabled,omitempty"`

	// IsCurrentlyTradable Indicates whether the instrument is currently tradable.
	IsCurrentlyTradable *bool `json:"isCurrentlyTradable,omitempty"`

	// IsDelisted Indicates whether the instrument is delisted.
	IsDelisted *bool `json:"isDelisted,omitempty"`

	// IsExchangeOpen Indicates whether the exchange is open.
	IsExchangeOpen *bool `json:"isExchangeOpen,omitempty"`

	// IsHiddenFromClient Indicates whether the instrument is hidden from clients.
	IsHiddenFromClient *bool `json:"isHiddenFromClient,omitempty"`

	// IsInternalInstrument Indicates whether the instrument is internal.
	IsInternalInstrument *bool `json:"isInternalInstrument,omitempty"`

	// IsOpen Indicates whether the instrument is currently open for trading.
	IsOpen *bool `json:"isOpen,omitempty"`

	// LastTwoYearsPriceChange The last two years price change.
	LastTwoYearsPriceChange *float32 `json:"lastTwoYearsPriceChange,omitempty"`

	// LastYearPriceChange The last year price change.
	LastYearPriceChange *float32 `json:"lastYearPriceChange,omitempty"`

	// Logo150x150 The URL of the 150x150 logo.
	Logo150x150 *string `json:"logo150x150,omitempty"`

	// Logo35x35 The URL of the 35x35 logo.
	Logo35x35 *string `json:"logo35x35,omitempty"`

	// Logo50x50 The URL of the 50x50 logo.
	Logo50x50 *string `json:"logo50x50,omitempty"`

	// MonthlyPriceChange The monthly price change.
	MonthlyPriceChange *float32 `json:"monthlyPriceChange,omitempty"`

	// OneMonthAgoPriceChange The price change from one month ago.
	OneMonthAgoPriceChange *float32 `json:"oneMonthAgoPriceChange,omitempty"`

	// OneYearAgoPriceChange The price change from one year ago.
	OneYearAgoPriceChange *float32 `json:"oneYearAgoPriceChange,omitempty"`

	// OneYearPriceChange The one-year price change.
	OneYearPriceChange *float32 `json:"oneYearPriceChange,omitempty"`

	// PopularityUniques Total number of unique users interested in this instrument.
	PopularityUniques *int `json:"popularityUniques,omitempty"`

	// PopularityUniques14Day The number of unique users who viewed this instrument in the last 14 days.
	PopularityUniques14Day *int `json:"popularityUniques14Day,omitempty"`

	// PopularityUniques30Day The number of unique users who viewed this instrument in the last 30 days.
	PopularityUniques30Day *int `json:"popularityUniques30Day,omitempty"`

	// PopularityUniques7Day The number of unique users who viewed this instrument in the last 7 days.
	PopularityUniques7Day *int `json:"popularityUniques7Day,omitempty"`

	// SectorNameId The sector name ID.
	SectorNameId *int `json:"sectorNameId,omitempty"`

	// SellHoldingPct The sell holding percentage.
	SellHoldingPct *float32 `json:"sellHoldingPct,omitempty"`

	// SixMonthPriceChange The six-month price change.
	SixMonthPriceChange *float32 `json:"sixMonthPriceChange,omitempty"`

	// SixMonthsAgoPriceChange The price change from six months ago.
	SixMonthsAgoPriceChange *float32 `json:"sixMonthsAgoPriceChange,omitempty"`

	// ThreeMonthPriceChange The three-month price change.
	ThreeMonthPriceChange *float32 `json:"threeMonthPriceChange,omitempty"`

	// ThreeMonthsAgoPriceChange The price change from three months ago.
	ThreeMonthsAgoPriceChange *float32 `json:"threeMonthsAgoPriceChange,omitempty"`

	// Traders14DayChange The change in the number of traders over the last 14 days.
	Traders14DayChange *float32 `json:"traders14DayChange,omitempty"`

	// Traders30DayChange The change in the number of traders over the last 30 days.
	Traders30DayChange *float32 `json:"traders30DayChange,omitempty"`

	// Traders7DayChange The change in the number of traders over the last 7 days.
	Traders7DayChange *float32 `json:"traders7DayChange,omitempty"`

	// TwoMonthsAgoPriceChange The price change from two months ago.
	TwoMonthsAgoPriceChange *float32 `json:"twoMonthsAgoPriceChange,omitempty"`

	// WeeklyPriceChange The weekly price change.
	WeeklyPriceChange *float32 `json:"weeklyPriceChange,omitempty"`
}

InstrumentSchema defines model for Instrument.

type InstrumentSchema2

type InstrumentSchema2 struct {
	// DisplayName Human-readable display name
	DisplayName *string `json:"displayName,omitempty"`

	// ExchangeId Exchange the instrument is listed on
	ExchangeId *int `json:"exchangeId,omitempty"`

	// ExpirationDateTime Expiration date/time, relevant for options and futures
	ExpirationDateTime *time.Time `json:"expirationDateTime,omitempty"`

	// Image Best available image for the instrument. backgroundColor is included only for SVG images.
	Image *InstrumentImage `json:"image,omitempty"`

	// InstrumentId Unique instrument identifier
	InstrumentId *int `json:"instrumentId,omitempty"`

	// LastTradingDateTime Last trading date/time, relevant for options and futures
	LastTradingDateTime *time.Time `json:"lastTradingDateTime,omitempty"`

	// Multiplier Contract multiplier, relevant for futures and options
	Multiplier *float64 `json:"multiplier,omitempty"`

	// Symbol Trading symbol (e.g. AAPL)
	Symbol *string `json:"symbol,omitempty"`

	// Type Instrument type (e.g. Stocks, ETF, Crypto)
	Type *string `json:"type,omitempty"`
}

InstrumentSchema2 Instrument (security) metadata

type InstrumentSearchResponse

type InstrumentSearchResponse struct {
	Items *[]InstrumentSchema `json:"items,omitempty"`

	// Page The current page number.
	Page *int `json:"page,omitempty"`

	// PageSize The number of items per page.
	PageSize *int `json:"pageSize,omitempty"`

	// TotalItems The total number of instruments matching the search criteria.
	TotalItems *int `json:"totalItems,omitempty"`
}

InstrumentSearchResponse defines model for InstrumentSearchResponse.

type InstrumentTypesResponse

type InstrumentTypesResponse struct {
	InstrumentTypes *[]struct {
		InstrumentTypeDescription *string `json:"instrumentTypeDescription,omitempty"`
		InstrumentTypeID          *int    `json:"instrumentTypeID,omitempty"`
	} `json:"instrumentTypes,omitempty"`
}

InstrumentTypesResponse defines model for InstrumentTypesResponse.

type InstrumentsResponse

type InstrumentsResponse struct {
	InstrumentDisplayDatas *[]struct {
		ExchangeID        *int  `json:"exchangeID,omitempty"`
		HasExpirationDate *bool `json:"hasExpirationDate,omitempty"`
		Images            *[]struct {
			BackgroundColor *string  `json:"backgroundColor,omitempty"`
			Height          *float32 `json:"height,omitempty"`
			InstrumentID    *int     `json:"instrumentID,omitempty"`
			TextColor       *string  `json:"textColor,omitempty"`
			Uri             *string  `json:"uri,omitempty"`
			Width           *float32 `json:"width,omitempty"`
		} `json:"images,omitempty"`
		InstrumentDisplayName *string `json:"instrumentDisplayName,omitempty"`
		InstrumentID          *int    `json:"instrumentID,omitempty"`
		InstrumentTypeID      *int    `json:"instrumentTypeID,omitempty"`

		// IsInternalInstrument If set to true, the instrument is restricted from public access.
		IsInternalInstrument *bool `json:"isInternalInstrument,omitempty"`

		// PriceSource The data provider or market source for the price, such as Nasdaq, LSE, or CME.
		PriceSource      *string `json:"priceSource,omitempty"`
		StocksIndustryId *int    `json:"stocksIndustryId,omitempty"`
		SymbolFull       *string `json:"symbolFull,omitempty"`
	} `json:"instrumentDisplayDatas,omitempty"`
}

InstrumentsResponse defines model for InstrumentsResponse.

type InternalTransferDetails

type InternalTransferDetails struct {
	TransferId string `json:"transferId"`
}

InternalTransferDetails defines model for InternalTransferDetails.

type IntervalCoverage

type IntervalCoverage struct {
	// Candles Number of candles available.
	Candles int64 `json:"candles"`

	// FirstCandle Open time of the oldest candle, UTC.
	FirstCandle time.Time                `json:"firstCandle"`
	Interval    IntervalCoverageInterval `json:"interval"`

	// LastCandle Open time of the newest candle, UTC.
	LastCandle time.Time `json:"lastCandle"`

	// LoadedAt When the daily load last refreshed this interval, UTC.
	LoadedAt time.Time `json:"loadedAt"`
}

IntervalCoverage Where one interval has data for an instrument.

type IntervalCoverageInterval

type IntervalCoverageInterval string

IntervalCoverageInterval defines model for IntervalCoverage.Interval.

const (
	IntervalCoverageIntervalN10m IntervalCoverageInterval = "10m"
	IntervalCoverageIntervalN15m IntervalCoverageInterval = "15m"
	IntervalCoverageIntervalN1d  IntervalCoverageInterval = "1d"
	IntervalCoverageIntervalN1h  IntervalCoverageInterval = "1h"
	IntervalCoverageIntervalN1m  IntervalCoverageInterval = "1m"
	IntervalCoverageIntervalN1w  IntervalCoverageInterval = "1w"
	IntervalCoverageIntervalN30m IntervalCoverageInterval = "30m"
	IntervalCoverageIntervalN4h  IntervalCoverageInterval = "4h"
	IntervalCoverageIntervalN5m  IntervalCoverageInterval = "5m"
)

Defines values for IntervalCoverageInterval.

func (IntervalCoverageInterval) Valid

func (e IntervalCoverageInterval) Valid() bool

Valid indicates whether the value is a known member of the IntervalCoverageInterval enum.

type LeverageConfig

type LeverageConfig struct {
	// AllowEditStopLoss Whether editing stop-loss is allowed.
	AllowEditStopLoss *bool `json:"allowEditStopLoss,omitempty"`

	// AllowEditTakeProfit Whether editing take-profit is allowed.
	AllowEditTakeProfit *bool `json:"allowEditTakeProfit,omitempty"`

	// AllowTrailingStopLoss Whether trailing stop-loss is allowed.
	AllowTrailingStopLoss *bool `json:"allowTrailingStopLoss,omitempty"`

	// DefaultLeverage Default leverage.
	DefaultLeverage *int32 `json:"defaultLeverage,omitempty"`

	// DefaultStopLossPercentage Default stop-loss percentage.
	DefaultStopLossPercentage *float64 `json:"defaultStopLossPercentage,omitempty"`

	// DefaultTakeProfitPercentage Default take-profit percentage.
	DefaultTakeProfitPercentage *float64 `json:"defaultTakeProfitPercentage,omitempty"`

	// IsBuy Whether this configuration applies to buy positions.
	IsBuy *bool `json:"isBuy,omitempty"`

	// IsPotential Whether this configuration is potential.
	IsPotential *bool `json:"isPotential,omitempty"`

	// LeverageValues Allowed leverage values.
	LeverageValues *[]int32 `json:"leverageValues,omitempty"`

	// MaxStopLossPercentage Maximum stop-loss percentage.
	MaxStopLossPercentage *float64 `json:"maxStopLossPercentage,omitempty"`

	// MaxTakeProfitPercentage Maximum take-profit percentage.
	MaxTakeProfitPercentage *float64 `json:"maxTakeProfitPercentage,omitempty"`

	// MinPositionAmountAbsolute Minimum absolute position amount.
	MinPositionAmountAbsolute *float64 `json:"minPositionAmountAbsolute,omitempty"`

	// MinStopLossPercentage Minimum stop-loss percentage.
	MinStopLossPercentage *float64 `json:"minStopLossPercentage,omitempty"`

	// MinTakeProfitPercentage Minimum take-profit percentage.
	MinTakeProfitPercentage *float64 `json:"minTakeProfitPercentage,omitempty"`

	// SettlementTypeId Settlement type id.
	SettlementTypeId *int32 `json:"settlementTypeId,omitempty"`
}

LeverageConfig Leverage configuration for a trade direction.

type LeverageConfiguration

type LeverageConfiguration struct {
	// AllowEditStopLoss Whether the stop-loss can be edited for positions under this configuration.
	AllowEditStopLoss *bool `json:"allowEditStopLoss,omitempty"`

	// AllowEditTakeProfit Whether the take-profit can be edited.
	AllowEditTakeProfit *bool `json:"allowEditTakeProfit,omitempty"`

	// AllowStopLossTakeProfit Whether stop-loss and take-profit can be set on a position.
	AllowStopLossTakeProfit *bool `json:"allowStopLossTakeProfit,omitempty"`

	// DefaultStopLossPercentage Default stop-loss percentage applied when no explicit value is provided. The stop-loss percentage is calculated based on the margin value, and reflects how much of the margin value can be lost before the stop-loss closes the position.
	DefaultStopLossPercentage *float32 `json:"defaultStopLossPercentage,omitempty"`

	// DefaultTakeProfitPercentage Default take-profit percentage applied when no explicit value is provided. The take-profit percentage is calculated based on the margin value, and reflects how much of the margin value can be gained before the take-profit closes the position.
	DefaultTakeProfitPercentage *float32 `json:"defaultTakeProfitPercentage,omitempty"`

	// Direction The trade direction. Possible values: `long`, `short`.
	Direction *string `json:"direction,omitempty"`

	// IsPotential If true, additional user questionnaire may be required to allow the user to trade with this setup of settlement and leverages.
	IsPotential *bool `json:"isPotential,omitempty"`

	// LeverageValues Available leverage multipliers for this settlement type and direction, for these configuration parameters.
	LeverageValues *[]int32 `json:"leverageValues,omitempty"`

	// MaxStopLossPercentage Maximum stop-loss percentage allowed from the allocated margin of the position. The stop-loss percentage is calculated based on the margin value, and documents the maximum allowed loss as a percentage of margin before the stop-loss closes the position.
	MaxStopLossPercentage *float32 `json:"maxStopLossPercentage,omitempty"`

	// MaxTakeProfitPercentage Maximum take-profit percentage allowed from the allocated margin of the position. The take-profit percentage is calculated based on the margin value, and documents the maximum allowed gain as a percentage of margin before the take-profit closes the position.
	MaxTakeProfitPercentage *float32 `json:"maxTakeProfitPercentage,omitempty"`

	// MinPositionAmount Minimum margin required to open a position under this leverage configuration.
	MinPositionAmount *float32 `json:"minPositionAmount,omitempty"`

	// MinStopLossPercentage Minimum stop-loss percentage allowed from the allocated margin of the position. The stop-loss percentage is calculated based on the margin value, and documents the minimum allowed loss as a percentage of margin before the stop-loss closes the position.
	MinStopLossPercentage *float32 `json:"minStopLossPercentage,omitempty"`

	// MinTakeProfitPercentage Minimum take-profit percentage allowed from the allocated margin of the position. The take-profit percentage is calculated based on the margin value, and documents the minimum allowed gain as a percentage of margin before the take-profit closes the position.
	MinTakeProfitPercentage *float32 `json:"minTakeProfitPercentage,omitempty"`

	// SettlementType The settlement type this configuration applies to. Possible values: `cfd`, `real`, `realFutures`, `marginTrade`. `real` - the real instrument held in full value. `realFutures` - the real future contract, which is a derivative of an underlying instrument. Each future contract usually maintains a different number of underlying instrument units than 1. The number of units held in a single future contract is called the multiplier, which can be bigger, lower, or equal to 1. `marginTrade` - the real instrument held with only a portion of its value called margin (leveraged asset). `cfd` - contract for difference, which is a derivative following the underlying instrument.
	SettlementType *string `json:"settlementType,omitempty"`
}

LeverageConfiguration Leverage configuration for a specific settlement type and trade direction combination.

type ListCashAccountTransactionsParams

type ListCashAccountTransactionsParams struct {
	// PageSize Page size (default 50, max 500).
	PageSize *int `form:"pageSize,omitempty" json:"pageSize,omitempty"`

	// PageToken Opaque pagination cursor from pagination.nextPageToken of the previous response.
	PageToken *string `form:"pageToken,omitempty" json:"pageToken,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

ListCashAccountTransactionsParams defines parameters for ListCashAccountTransactions.

type ListCashAccountTransactionsResponse

type ListCashAccountTransactionsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *CashAccountTransactionsResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *FiatbackApiPublicErrorResponse
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *FiatbackApiPublicErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *FiatbackApiPublicErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *ListCashAccountTransactionsResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *ListCashAccountTransactionsResponse429Headers
}

func ParseListCashAccountTransactionsResponse

func ParseListCashAccountTransactionsResponse(rsp *http.Response) (*ListCashAccountTransactionsResponse, error)

ParseListCashAccountTransactionsResponse parses an HTTP response from a ListCashAccountTransactionsWithResponse call

func (ListCashAccountTransactionsResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (ListCashAccountTransactionsResponse) GetBody

GetBody returns the raw response body bytes

func (ListCashAccountTransactionsResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (ListCashAccountTransactionsResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (ListCashAccountTransactionsResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (ListCashAccountTransactionsResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (ListCashAccountTransactionsResponse) Status

Status returns HTTPResponse.Status

func (ListCashAccountTransactionsResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type ListCashAccountTransactionsResponse200Headers

type ListCashAccountTransactionsResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

ListCashAccountTransactionsResponse200Headers the declared response headers of an HTTP 200 response for ListCashAccountTransactions

type ListCashAccountTransactionsResponse429Headers

type ListCashAccountTransactionsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

ListCashAccountTransactionsResponse429Headers the declared response headers of an HTTP 429 response for ListCashAccountTransactions

type ListPortfolioRankingsPresetsParams

type ListPortfolioRankingsPresetsParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

ListPortfolioRankingsPresetsParams defines parameters for ListPortfolioRankingsPresets.

type ListPortfolioRankingsPresetsResponse

type ListPortfolioRankingsPresetsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *struct {
		Results []struct {
			// Name Preset name (use as {type} in GET /portfolios/rankings/presets/{type}).
			//
			// Example: top-gainers
			Name string `json:"name"`
		} `json:"results"`
	}
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *RankingsError
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *ListPortfolioRankingsPresetsResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *ListPortfolioRankingsPresetsResponse429Headers
}

func ParseListPortfolioRankingsPresetsResponse

func ParseListPortfolioRankingsPresetsResponse(rsp *http.Response) (*ListPortfolioRankingsPresetsResponse, error)

ParseListPortfolioRankingsPresetsResponse parses an HTTP response from a ListPortfolioRankingsPresetsWithResponse call

func (ListPortfolioRankingsPresetsResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (ListPortfolioRankingsPresetsResponse) GetBody

GetBody returns the raw response body bytes

func (ListPortfolioRankingsPresetsResponse) GetJSON200

func (r ListPortfolioRankingsPresetsResponse) GetJSON200() *struct {
	Results []struct {
		// Name Preset name (use as {type} in GET /portfolios/rankings/presets/{type}).
		//
		// Example: top-gainers
		Name string `json:"name"`
	} `json:"results"`
}

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (ListPortfolioRankingsPresetsResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (ListPortfolioRankingsPresetsResponse) Status

Status returns HTTPResponse.Status

func (ListPortfolioRankingsPresetsResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type ListPortfolioRankingsPresetsResponse200Headers

type ListPortfolioRankingsPresetsResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

ListPortfolioRankingsPresetsResponse200Headers the declared response headers of an HTTP 200 response for ListPortfolioRankingsPresets

type ListPortfolioRankingsPresetsResponse429Headers

type ListPortfolioRankingsPresetsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

ListPortfolioRankingsPresetsResponse429Headers the declared response headers of an HTTP 429 response for ListPortfolioRankingsPresets

type ListPortfolioRankingsTagsParams

type ListPortfolioRankingsTagsParams struct {
	// Type Restrict the catalog to a single dimension. When omitted, both are returned.
	Type *ListPortfolioRankingsTagsParamsType `form:"type,omitempty" json:"type,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

ListPortfolioRankingsTagsParams defines parameters for ListPortfolioRankingsTags.

type ListPortfolioRankingsTagsParamsType

type ListPortfolioRankingsTagsParamsType string

ListPortfolioRankingsTagsParamsType defines parameters for ListPortfolioRankingsTags.

const (
	ListPortfolioRankingsTagsParamsTypeIndustries ListPortfolioRankingsTagsParamsType = "industries"
	ListPortfolioRankingsTagsParamsTypeSectors    ListPortfolioRankingsTagsParamsType = "sectors"
)

Defines values for ListPortfolioRankingsTagsParamsType.

func (ListPortfolioRankingsTagsParamsType) Valid

Valid indicates whether the value is a known member of the ListPortfolioRankingsTagsParamsType enum.

type ListPortfolioRankingsTagsResponse

type ListPortfolioRankingsTagsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *RankingTagsResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *RankingsError
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *RankingsError
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *ListPortfolioRankingsTagsResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *ListPortfolioRankingsTagsResponse429Headers
}

func ParseListPortfolioRankingsTagsResponse

func ParseListPortfolioRankingsTagsResponse(rsp *http.Response) (*ListPortfolioRankingsTagsResponse, error)

ParseListPortfolioRankingsTagsResponse parses an HTTP response from a ListPortfolioRankingsTagsWithResponse call

func (ListPortfolioRankingsTagsResponse) ContentType

func (r ListPortfolioRankingsTagsResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (ListPortfolioRankingsTagsResponse) GetBody

GetBody returns the raw response body bytes

func (ListPortfolioRankingsTagsResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (ListPortfolioRankingsTagsResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (ListPortfolioRankingsTagsResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (ListPortfolioRankingsTagsResponse) Status

Status returns HTTPResponse.Status

func (ListPortfolioRankingsTagsResponse) StatusCode

func (r ListPortfolioRankingsTagsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type ListPortfolioRankingsTagsResponse200Headers

type ListPortfolioRankingsTagsResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

ListPortfolioRankingsTagsResponse200Headers the declared response headers of an HTTP 200 response for ListPortfolioRankingsTags

type ListPortfolioRankingsTagsResponse429Headers

type ListPortfolioRankingsTagsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

ListPortfolioRankingsTagsResponse429Headers the declared response headers of an HTTP 429 response for ListPortfolioRankingsTags

type ListUserTokensResponse

type ListUserTokensResponse struct {
	// UserTokens The user's sub-account user tokens, across all their etoro trading sub-accounts.
	UserTokens *[]UserTokenItem `json:"userTokens,omitempty"`
}

ListUserTokensResponse defines model for ListUserTokensResponse.

type LiveRatesResponse

type LiveRatesResponse struct {
	// Rates Array of current market rates for requested instruments
	Rates *[]struct {
		// Ask Current asking price (offer) for the instrument. This is the price at which you can buy the asset.
		Ask *float32 `json:"ask,omitempty"`

		// AskDiscounted Obsolete
		AskDiscounted *float32 `json:"askDiscounted,omitempty"`

		// Bid Current bid price for the instrument. This is the price at which you can sell the asset.
		Bid *float32 `json:"bid,omitempty"`

		// BidDiscounted Obsolete
		BidDiscounted *float32 `json:"bidDiscounted,omitempty"`

		// ConversionRateAsk Current conversion rate (ask) from instrument's currency to USD, used for position value calculations
		ConversionRateAsk *float32 `json:"conversionRateAsk,omitempty"`

		// ConversionRateBid Current conversion rate (bid) from instrument's currency to USD, used for position value calculations
		ConversionRateBid *float32 `json:"conversionRateBid,omitempty"`

		// Date The date-time of the price in the system
		Date *time.Time `json:"date,omitempty"`

		// InstrumentID Unique identifier for the financial instrument
		InstrumentID *int `json:"instrumentID,omitempty"`

		// LastExecution Price of the most recent trade execution for this instrument
		LastExecution *float32 `json:"lastExecution,omitempty"`
		PriceRateID   *int     `json:"priceRateID,omitempty"`

		// UnitMargin (Obsolete) USD equivalent of the instrument price
		UnitMargin *float32 `json:"unitMargin,omitempty"`

		// UnitMarginAsk (Obsolete) USD equivalent of the instrument ask price
		UnitMarginAsk *float32 `json:"unitMarginAsk,omitempty"`

		// UnitMarginAskDiscounted Obsolete
		UnitMarginAskDiscounted *float32 `json:"unitMarginAskDiscounted,omitempty"`

		// UnitMarginBid (Obsolete) USD equivalent of the instrument bid price
		UnitMarginBid *float32 `json:"unitMarginBid,omitempty"`

		// UnitMarginBidDiscounted Obsolete
		UnitMarginBidDiscounted *float32 `json:"unitMarginBidDiscounted,omitempty"`
	} `json:"rates,omitempty"`
}

LiveRatesResponse Container for real-time market rates data

type LookupAccountIdentifier

type LookupAccountIdentifier struct {
	AccountId   string            `json:"accountId"`
	AccountType LookupAccountType `json:"accountType"`
}

LookupAccountIdentifier defines model for LookupAccountIdentifier.

type LookupAccountType

type LookupAccountType string

LookupAccountType defines model for LookupAccountType.

const (
	LookupAccountTypeCash      LookupAccountType = "cash"
	LookupAccountTypeMoneyFarm LookupAccountType = "moneyFarm"
	LookupAccountTypeOptions   LookupAccountType = "options"
	LookupAccountTypeTrading   LookupAccountType = "trading"
)

Defines values for LookupAccountType.

func (LookupAccountType) Valid

func (e LookupAccountType) Valid() bool

Valid indicates whether the value is a known member of the LookupAccountType enum.

type LookupTransfersByRequestReferenceIdParams

type LookupTransfersByRequestReferenceIdParams struct {
	// RequestReferenceId Same value as requestReferenceId on POST /api/v1/money/transfers.
	RequestReferenceId string `form:"requestReferenceId" json:"requestReferenceId"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

LookupTransfersByRequestReferenceIdParams defines parameters for LookupTransfersByRequestReferenceId.

type LookupTransfersByRequestReferenceIdResponse

type LookupTransfersByRequestReferenceIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *TransferLookupResult
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *LookupTransfersByRequestReferenceIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *LookupTransfersByRequestReferenceIdResponse429Headers
}

func ParseLookupTransfersByRequestReferenceIdResponse

func ParseLookupTransfersByRequestReferenceIdResponse(rsp *http.Response) (*LookupTransfersByRequestReferenceIdResponse, error)

ParseLookupTransfersByRequestReferenceIdResponse parses an HTTP response from a LookupTransfersByRequestReferenceIdWithResponse call

func (LookupTransfersByRequestReferenceIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (LookupTransfersByRequestReferenceIdResponse) GetBody

GetBody returns the raw response body bytes

func (LookupTransfersByRequestReferenceIdResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (LookupTransfersByRequestReferenceIdResponse) Status

Status returns HTTPResponse.Status

func (LookupTransfersByRequestReferenceIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type LookupTransfersByRequestReferenceIdResponse200Headers

type LookupTransfersByRequestReferenceIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

LookupTransfersByRequestReferenceIdResponse200Headers the declared response headers of an HTTP 200 response for LookupTransfersByRequestReferenceId

type LookupTransfersByRequestReferenceIdResponse429Headers

type LookupTransfersByRequestReferenceIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

LookupTransfersByRequestReferenceIdResponse429Headers the declared response headers of an HTTP 429 response for LookupTransfersByRequestReferenceId

type MarketDataResponse

type MarketDataResponse struct {
	// Pagination Cursor-based pagination metadata
	Pagination *PaginationSchema2 `json:"pagination,omitempty"`

	// Results Matching instruments
	Results *[]InstrumentSchema2 `json:"results,omitempty"`
}

MarketDataResponse Securities search result with pagination

type MarketEnrichData

type MarketEnrichData struct {
	// N52WMax 52-week maximum price.
	N52WMax *float64 `json:"52WMax,omitempty"`

	// N52WMin 52-week minimum price.
	N52WMin *float64 `json:"52WMin,omitempty"`

	// Beta Beta relative to the market.
	Beta *float64 `json:"beta,omitempty"`

	// BuyHoldingPct Share of etoro clients holding a buy position.
	BuyHoldingPct *float64 `json:"buyHoldingPct,omitempty"`

	// Candles1D Intraday price candles for the last day.
	Candles1D *[]CandlePoint `json:"candles1D,omitempty"`

	// Candles1M Price candles for the last month.
	Candles1M *[]CandlePoint `json:"candles1M,omitempty"`

	// Candles1W Price candles for the last week.
	Candles1W *[]CandlePoint `json:"candles1W,omitempty"`

	// CurrentRate Current market rate of the instrument.
	//
	// Example: 189.25
	CurrentRate *float64 `json:"currentRate,omitempty"`

	// DividendYield Dividend yield.
	DividendYield *float64 `json:"dividendYield,omitempty"`

	// DividendYieldDaily Daily dividend yield.
	DividendYieldDaily *float64 `json:"dividendYieldDaily,omitempty"`

	// HighPriceLast52Weeks Highest price over the last 52 weeks.
	HighPriceLast52Weeks *float64 `json:"highPriceLast52Weeks,omitempty"`

	// IsMarketOpen Whether the instrument's market is currently open.
	IsMarketOpen *bool `json:"isMarketOpen,omitempty"`

	// IsTradable Whether the instrument is currently tradable.
	IsTradable *bool `json:"isTradable,omitempty"`

	// LowPriceLast52Weeks Lowest price over the last 52 weeks.
	LowPriceLast52Weeks *float64 `json:"lowPriceLast52Weeks,omitempty"`

	// Market Core market metadata for an instrument.
	Market *InstrumentMarketData `json:"market,omitempty"`

	// MarketCap Market capitalization in the instrument's currency.
	MarketCap *int64 `json:"marketCap,omitempty"`

	// MarketCapInUSD Market capitalization in USD.
	MarketCapInUSD *float64 `json:"marketCapInUSD,omitempty"`

	// NetProfitMargin Net profit margin.
	NetProfitMargin *float64 `json:"netProfitMargin,omitempty"`

	// OneYearPriceChange Price change over the last year.
	OneYearPriceChange *float64 `json:"oneYearPriceChange,omitempty"`

	// PeRatio Price-to-earnings ratio.
	PeRatio *float64 `json:"peRatio,omitempty"`

	// PercentPriceChangeYTD Year-to-date percentage price change.
	PercentPriceChangeYTD *float64 `json:"percentPriceChangeYTD,omitempty"`

	// PriceChangeAbsolute1D Absolute price change over the last day.
	PriceChangeAbsolute1D *float64 `json:"priceChangeAbsolute1D,omitempty"`

	// PriceChangeAbsolute1M Absolute price change over the last month.
	PriceChangeAbsolute1M *float64 `json:"priceChangeAbsolute1M,omitempty"`

	// PriceChangeAbsolute1W Absolute price change over the last week.
	PriceChangeAbsolute1W *float64 `json:"priceChangeAbsolute1W,omitempty"`

	// PriceChangePercentage1D Percentage price change over the last day.
	//
	// Example: 1.24
	PriceChangePercentage1D *float64 `json:"priceChangePercentage1D,omitempty"`

	// PriceChangePercentage1M Percentage price change over the last month.
	PriceChangePercentage1M *float64 `json:"priceChangePercentage1M,omitempty"`

	// PriceChangePercentage1W Percentage price change over the last week.
	PriceChangePercentage1W *float64 `json:"priceChangePercentage1W,omitempty"`

	// PriceToSales Price-to-sales ratio.
	PriceToSales *float64 `json:"priceToSales,omitempty"`

	// RevenueGrowth Revenue growth.
	RevenueGrowth *float64 `json:"revenueGrowth,omitempty"`

	// SalesOrRevenue Sales or revenue.
	SalesOrRevenue *int64 `json:"salesOrRevenue,omitempty"`

	// TipranksAllConsensus TipRanks analyst consensus rating.
	TipranksAllConsensus *string `json:"tipranksAllConsensus,omitempty"`

	// TipranksAllPriceTarget TipRanks average analyst price target.
	TipranksAllPriceTarget *float64 `json:"tipranksAllPriceTarget,omitempty"`

	// TipranksAllUpside TipRanks implied upside.
	TipranksAllUpside *float64 `json:"tipranksAllUpside,omitempty"`

	// TradeButtonStatusData Trade-button availability and trading metadata for an instrument.
	TradeButtonStatusData *TradeButtonStatusData `json:"tradeButtonStatusData,omitempty"`

	// UmbrellaSector High-level sector classification.
	UmbrellaSector *string `json:"umbrellaSector,omitempty"`

	// Volume Traded volume.
	Volume *int64 `json:"volume,omitempty"`
}

MarketEnrichData Market enrichment data for an instrument referenced by a watchlist item.

type MarketRecommendationsResponse

type MarketRecommendationsResponse struct {
	// Recommendations List of recommended instrument IDs
	//
	// Example: [12345,67890]
	Recommendations *[]int32 `json:"Recommendations,omitempty"`

	// ResponseType Type of recommendation response
	//
	// Example: Instrument
	ResponseType *string `json:"ResponseType,omitempty"`
}

MarketRecommendationsResponse Response containing market recommendations

type MeResponse

type MeResponse struct {
	// AvatarUrl Absolute URL of the user's profile avatar image.
	AvatarUrl *string `json:"avatarUrl,omitempty"`

	// DateOfBirth Date of birth.
	DateOfBirth string `json:"dateOfBirth"`

	// DemoCid Demo account Customer ID - the identifier for the user's virtual/demo trading account.
	DemoCid int `json:"demoCid"`

	// FirstName The user's first name.
	FirstName *string `json:"firstName,omitempty"`

	// Gcid Global Customer ID - the unique identifier for the user across all etoro systems.
	Gcid int `json:"gcid"`

	// Gender Gender. Possible values: 0 (Unknown), 1 (Male), 2 (Female).
	Gender int `json:"gender"`

	// Language Language ID (e.g. 1 = English, 2 = German).
	Language int `json:"language"`

	// LastName The user's last name.
	LastName *string `json:"lastName,omitempty"`

	// MiddleName The user's middle name.
	MiddleName *string `json:"middleName,omitempty"`

	// PlayerLevel Player level. Possible values: 1 (Bronze), 2 (Platinum), 3 (Gold), 4 (Internal), 5 (Silver), 6 (PlatinumPlus), 7 (Diamond).
	PlayerLevel int `json:"playerLevel"`

	// RealCid Real account Customer ID - the identifier for the user's real trading account.
	RealCid int `json:"realCid"`

	// Scopes OAuth scopes granted to the authenticated token.
	Scopes []string `json:"scopes"`

	// Username The user's unique username.
	Username string `json:"username"`
}

MeResponse Profile of the authenticated user across etoro account types, including granted OAuth scopes.

type Mirror

type Mirror struct {
	// CID Customer ID associated with the mirror
	CID *int `json:"CID,omitempty"`

	// AvailableAmount Available to trade USD balance in the mirror. This balance is reserved for mirror operations
	AvailableAmount *float32 `json:"availableAmount,omitempty"`

	// ClosedPositionsNetProfit Total USD net profit of all positions that closed in the mirror
	ClosedPositionsNetProfit *float32 `json:"closedPositionsNetProfit,omitempty"`

	// CopyExistingPositions Indication if mirror originally copied all parent existing position on mirror registration
	CopyExistingPositions *bool `json:"copyExistingPositions,omitempty"`

	// DelayedOrderForClose Delayed orders for closing positions
	DelayedOrderForClose *[]map[string]interface{} `json:"delayedOrderForClose,omitempty"`

	// DelayedOrderForOpen Delayed orders for opening positions
	DelayedOrderForOpen *[]map[string]interface{} `json:"delayedOrderForOpen,omitempty"`

	// DepositSummary Total USD amount deposited into the mirror after initial investment
	DepositSummary *float32 `json:"depositSummary,omitempty"`

	// EntryOrders Entry orders awaiting execution in the mirror
	EntryOrders *[]map[string]interface{} `json:"entryOrders,omitempty"`

	// ExitOrders Exit orders awaiting execution in the mirror
	ExitOrders *[]map[string]interface{} `json:"exitOrders,omitempty"`

	// InitialInvestment USD amount initially invested in the mirror
	InitialInvestment *float32 `json:"initialInvestment,omitempty"`

	// IsPaused Indication if the mirror is currently paused, restricting open of additional positions inside the mirror
	IsPaused *bool `json:"isPaused,omitempty"`

	// MirrorCalculationType (Obsolete) Mirror positions weights calculation methodology
	MirrorCalculationType *int `json:"mirrorCalculationType,omitempty"`

	// MirrorID Unique identifier for the mirror
	MirrorID *int `json:"mirrorID,omitempty"`

	// MirrorStatusID Current status of the mirror. 0 - Active, 1 - Paused, 2 - Pending Closure, 3 - In Alignment Process
	MirrorStatusID *int `json:"mirrorStatusID,omitempty"`

	// OrdersForClose Active orders in the mirror to close positions
	OrdersForClose *[]OrderForClose `json:"ordersForClose,omitempty"`

	// OrdersForCloseMultiple Active orders in the mirror to close positions
	OrdersForCloseMultiple *[]OrderForCloseMultiple `json:"ordersForCloseMultiple,omitempty"`

	// OrdersForOpen Active orders in the mirror to open positions
	OrdersForOpen *[]OrderForOpen `json:"ordersForOpen,omitempty"`

	// ParentCID Customer ID of the trader being copied
	ParentCID *int `json:"parentCID,omitempty"`

	// ParentMirrors Parent mirrors for this mirror (if any)
	ParentMirrors *[]map[string]interface{} `json:"parentMirrors,omitempty"`

	// ParentUsername Username of the trader being copied
	ParentUsername *string `json:"parentUsername,omitempty"`

	// PendingForClosure Indication if the mirror is in closure process
	PendingForClosure *bool `json:"pendingForClosure,omitempty"`

	// Positions List of currently open trading positions in the mirror
	Positions *[]TradingRealAdminApiPosition `json:"positions,omitempty"`

	// StartedCopyDate Date and time when the mirror trading was initiated
	StartedCopyDate *time.Time `json:"startedCopyDate,omitempty"`

	// StopLossAmount USD value of the mirror at which MirrorStopLoss will be triggered and cause liquidation of the mirror. Adding or removing funds from the mirror will trigger recalculation of this value based on StopLossPercentage compared to the current mirror value
	StopLossAmount *float32 `json:"stopLossAmount,omitempty"`

	// StopLossPercentage The precentage of the mirror value that the StopLossAmount represented at the time of the last edit. Adding or removing funds from the mirror will trigger recalculation of StopLossAmount based on this value compared to the current mirror value
	StopLossPercentage *float32 `json:"stopLossPercentage,omitempty"`

	// WithdrawalSummary Total USD amount withdrawn from the mirror
	WithdrawalSummary *float32 `json:"withdrawalSummary,omitempty"`
}

Mirror defines model for Mirror.

type MoneyTransferRequest

type MoneyTransferRequest struct {
	// Amount Amount to transfer.
	//
	// Example: 250
	Amount float64 `json:"amount"`

	// Currency ISO 4217 alphabetic currency code; must match the source account currency.
	//
	// Example: USD
	Currency *string `json:"currency"`

	// DestinationAccount Account identifier for a transfer participant
	DestinationAccount TransferAccountRef `json:"destinationAccount"`

	// ExtraData Optional client metadata (opaque JSON object).
	ExtraData *map[string]interface{} `json:"extraData,omitempty"`

	// RequestReferenceId Client reference / idempotency key.
	//
	// Example: client-ref-8f3a-001
	RequestReferenceId string `json:"requestReferenceId"`

	// SourceAccount Account identifier for a transfer participant
	SourceAccount TransferAccountRef `json:"sourceAccount"`
}

MoneyTransferRequest Request model for executing an internal transfer

type MoneyTransferResponse

type MoneyTransferResponse struct {
	// RequestReferenceId Echo of client requestReferenceId when provided.
	//
	// Example: client-ref-8f3a-001
	RequestReferenceId *string `json:"requestReferenceId,omitempty"`

	// TransferId Server transfer identifier.
	//
	// Example: 9876543210
	TransferId int64 `json:"transferId"`
}

MoneyTransferResponse Response after executing a transfer

type MoneybusApiAccountType

type MoneybusApiAccountType string

MoneybusApiAccountType defines model for MoneybusApi_AccountType.

const (
	MoneybusApiAccountTypeCash      MoneybusApiAccountType = "cash"
	MoneybusApiAccountTypeMoneyFarm MoneybusApiAccountType = "moneyFarm"
	MoneybusApiAccountTypeOptions   MoneybusApiAccountType = "options"
	MoneybusApiAccountTypeTrading   MoneybusApiAccountType = "trading"
)

Defines values for MoneybusApiAccountType.

func (MoneybusApiAccountType) Valid

func (e MoneybusApiAccountType) Valid() bool

Valid indicates whether the value is a known member of the MoneybusApiAccountType enum.

type OfferInBundle

type OfferInBundle struct {
	// OfferLimit Maximum number of offers in this bundle
	//
	// Example: 3
	OfferLimit *int `json:"offerLimit,omitempty"`

	// Type Bundle offer type
	//
	// Example: Services
	Type *OfferInBundleType `json:"type,omitempty"`
}

OfferInBundle An offer included in a bundle

type OfferInBundleType

type OfferInBundleType string

OfferInBundleType Bundle offer type

Example: Services

const (
	OfferInBundleTypeAssociationMembership OfferInBundleType = "Association Membership"
	OfferInBundleTypeBundle                OfferInBundleType = "Bundle"
	OfferInBundleTypeClientMeetup          OfferInBundleType = "Client meetup"
	OfferInBundleTypeEducational           OfferInBundleType = "Educational"
	OfferInBundleTypeEmotional             OfferInBundleType = "Emotional"
	OfferInBundleTypeEntertainment         OfferInBundleType = "Entertainment"
	OfferInBundleTypeExclusiveEvents       OfferInBundleType = "Exclusive events"
	OfferInBundleTypeFinancial             OfferInBundleType = "Financial"
	OfferInBundleTypeGiftCard              OfferInBundleType = "Gift card"
	OfferInBundleTypeGifts                 OfferInBundleType = "Gifts"
	OfferInBundleTypeNews                  OfferInBundleType = "News"
	OfferInBundleTypeServices              OfferInBundleType = "Services"
	OfferInBundleTypeSignals               OfferInBundleType = "Signals"
	OfferInBundleTypeTickets               OfferInBundleType = "Tickets"
	OfferInBundleTypeTools                 OfferInBundleType = "Tools"
	OfferInBundleTypeTravel                OfferInBundleType = "Travel"
	OfferInBundleTypeZoomMeetings          OfferInBundleType = "Zoom meetings"
)

Defines values for OfferInBundleType.

func (OfferInBundleType) Valid

func (e OfferInBundleType) Valid() bool

Valid indicates whether the value is a known member of the OfferInBundleType enum.

type Order added in v0.5.0

type Order struct {
	// Amount USD amount to invest in the position
	Amount *float32 `json:"amount,omitempty"`

	// Cid Customer ID associated with the order
	Cid *int `json:"cid,omitempty"`

	// ExecutionType Type of order execution
	ExecutionType *int `json:"executionType,omitempty"`

	// InstrumentId Identifier of the instrument being traded
	InstrumentId *int `json:"instrumentId,omitempty"`

	// IsBuy Direction of the position. true - Long, false - Short
	IsBuy *bool `json:"isBuy,omitempty"`

	// IsDiscounted Obsolete
	IsDiscounted *bool `json:"isDiscounted,omitempty"`

	// IsNoStopLoss Indication if StopLoss is enabled for the order. false = enabled, true = disabled
	IsNoStopLoss *bool `json:"isNoStopLoss,omitempty"`

	// IsNoTakeProfit Indication if TakeProfit is enabled for the order. false = enabled, true = disabled
	IsNoTakeProfit *bool `json:"isNoTakeProfit,omitempty"`

	// IsTslEnabled Indication if to enable TSL feature on the position once it is open
	IsTslEnabled *bool `json:"isTslEnabled,omitempty"`

	// Leverage Leverage multiplier to apply to the position
	Leverage *int `json:"leverage,omitempty"`

	// OpenDateTime Date and time when the order was created
	OpenDateTime *time.Time `json:"openDateTime,omitempty"`

	// OrderId Unique identifier for the order
	OrderId *int `json:"orderId,omitempty"`

	// Rate Asset rate at which to send market order to the market
	Rate *float32 `json:"rate,omitempty"`

	// StopLossRate Rate at which StopLoss will trigger and send MarketOrder to close the position once it is open
	StopLossRate *float32 `json:"stopLossRate,omitempty"`

	// TakeProfitRate Rate at which TakeProfit will trigger and send MarketOrder to close the position once it is open
	TakeProfitRate *float32 `json:"takeProfitRate,omitempty"`

	// Units Units to open the position. If this value is greater than zero the position will open on the requested units, and not amount
	Units *float32 `json:"units,omitempty"`
}

Order defines model for Order.

type OrderForClose

type OrderForClose struct {
	// Cid Customer ID associated with the order.
	Cid *int `json:"cid,omitempty"`

	// InstrumentId The ID of the instrument traded.
	InstrumentId *int `json:"instrumentId,omitempty"`

	// LastUpdate The timestamp of the last update to this order.
	LastUpdate *time.Time `json:"lastUpdate,omitempty"`

	// LotsToDeduct The number of lots closed in this order.
	LotsToDeduct *float32 `json:"lotsToDeduct,omitempty"`

	// OpenDateTime The timestamp when the order was placed.
	OpenDateTime *time.Time `json:"openDateTime,omitempty"`

	// OrderId Unique identifier for the closing order.
	OrderId *int `json:"orderId,omitempty"`

	// OrderType Type of order executed.
	OrderType *int `json:"orderType,omitempty"`

	// PositionId The ID of the closed position.
	PositionId *int `json:"positionId,omitempty"`

	// StatusId Status of the closing order.
	StatusId *int `json:"statusId,omitempty"`

	// UnitsToDeduct The number of units closed in this order.
	UnitsToDeduct *float32 `json:"unitsToDeduct,omitempty"`
}

OrderForClose defines model for OrderForClose.

type OrderForCloseInfoResponse

type OrderForCloseInfoResponse struct {
	// CID Customer account identifier associated with the close order.
	CID int64 `json:"CID"`

	// AccountCurrencyID Identifier of the account currency.
	AccountCurrencyID int32 `json:"accountCurrencyID"`

	// AssetCurrencyID Identifier of the asset currency.
	AssetCurrencyID int32 `json:"assetCurrencyID"`

	// CloseActionType Internal close-action type, when available.
	CloseActionType *int32 `json:"closeActionType,omitempty"`

	// ErrorCode Error code produced while processing the close order, when applicable.
	ErrorCode *int32 `json:"errorCode,omitempty"`

	// ErrorMessage Error message produced while processing the close order, when applicable.
	ErrorMessage *string `json:"errorMessage,omitempty"`

	// ExternalOperationData Data associated with the external operation, when available.
	ExternalOperationData *string `json:"externalOperationData,omitempty"`

	// ExternalOperationType External operation-type identifier; zero when no external operation is associated.
	ExternalOperationType int32 `json:"externalOperationType"`

	// InstrumentID Identifier of the instrument associated with the close order.
	InstrumentID int32 `json:"instrumentID"`

	// OperationType Internal operation-type identifier.
	OperationType int32 `json:"operationType"`

	// OrderID Unique identifier of the close order.
	OrderID int64 `json:"orderID"`

	// OrderType Internal order-type identifier.
	OrderType int32 `json:"orderType"`

	// Positions Positions affected by the close order.
	Positions *[]OrderForClosePositionInfoResponse `json:"positions,omitempty"`

	// Proceeds Total proceeds calculated across the positions affected by the close order.
	Proceeds float32 `json:"proceeds"`

	// ReferenceID External reference identifier associated with the close order, when available.
	ReferenceID *string `json:"referenceID,omitempty"`

	// RequestOccurred UTC timestamp at which the close-order request occurred.
	RequestOccurred time.Time `json:"requestOccurred"`

	// StatusID Current status of the close order. Values: 1 = RECEIVED (pending); 2 = PLACED (pending); 3 = FILLED (terminal); 4 = REJECTED (terminal); 5 = PARTIALLY_FILLED (pending); 6 = PENDING_CANCEL (pending); 7 = CANCELED (terminal); 8 = EXPIRED (terminal); 9 = CANCELED_PARTIALLY_FILLED (terminal); 10 = REJECTED_PARTIALLY_FILLED (terminal); 11 = WAITING_FOR_MARKET (pending). Terminal statuses (3, 4, 7, 8, 9, 10) mean the order can no longer execute; pending statuses (1, 2, 5, 6, 11) mean it is still being processed and should be polled again. After DELETE, poll this endpoint until the status is terminal: 7 (CANCELED) means it was cancelled with nothing executed; 9 (CANCELED_PARTIALLY_FILLED) means it was cancelled after a partial fill - read the executed units from positions[]; 3 (FILLED) means it fully executed before the cancel took effect.
	StatusID int32 `json:"statusID"`

	// Token Correlation token assigned to the request.
	Token *string `json:"token,omitempty"`
}

OrderForCloseInfoResponse Close-order information returned by Admin TAPI, including execution status and the positions affected by the close order.

type OrderForCloseMultiple

type OrderForCloseMultiple struct {
	// Cid Customer ID associated with the order.
	Cid *int `json:"cid,omitempty"`

	// InstrumentId The ID of the instrument traded.
	InstrumentId *int `json:"instrumentId,omitempty"`

	// LastUpdate The timestamp of the last update to this order.
	LastUpdate *time.Time `json:"lastUpdate,omitempty"`

	// LotsToDeduct The number of lots closed in this order.
	LotsToDeduct *float32 `json:"lotsToDeduct,omitempty"`

	// OpenDateTime The timestamp when the order was placed.
	OpenDateTime *time.Time `json:"openDateTime,omitempty"`

	// OrderId Unique identifier for the closing order.
	OrderId *int `json:"orderId,omitempty"`

	// OrderType Type of order executed.
	OrderType *int `json:"orderType,omitempty"`

	// PendingClosePositionIds IDs of positions pending close in this order.
	PendingClosePositionIds *[]int `json:"pendingClosePositionIds,omitempty"`

	// StatusId Status of the closing order.
	StatusId *int `json:"statusId,omitempty"`

	// UnitsToDeduct The number of units closed in this order.
	UnitsToDeduct *float32 `json:"unitsToDeduct,omitempty"`
}

OrderForCloseMultiple defines model for OrderForCloseMultiple.

type OrderForClosePositionInfoResponse

type OrderForClosePositionInfoResponse struct {
	// Amount Closed amount for the position, when available.
	Amount *float32 `json:"amount,omitempty"`

	// ConversionRate Currency conversion rate applied to the position close, when available.
	ConversionRate *float32 `json:"conversionRate,omitempty"`

	// Occurred UTC timestamp at which the position close occurred, when available.
	Occurred *time.Time `json:"occurred,omitempty"`

	// PositionID Unique identifier of the affected position.
	PositionID int64 `json:"positionID"`

	// Rate Execution rate for the position close, when available.
	Rate *float32 `json:"rate,omitempty"`

	// Units Number of position units closed, when available.
	Units *float32 `json:"units,omitempty"`
}

OrderForClosePositionInfoResponse Execution information for a position affected by a close order.

type OrderForOpen

type OrderForOpen struct {
	// Amount The amount of money to invest in the trade.
	Amount *float32 `json:"amount,omitempty"`

	// AmountInUnits The number of units to trade.
	AmountInUnits *float32 `json:"amountInUnits,omitempty"`

	// Cid Customer ID associated with the order
	Cid *int `json:"cid,omitempty"`

	// ExternalOperation External operation details, if any.
	ExternalOperation *map[string]interface{} `json:"externalOperation,omitempty"`

	// FrozenAmount Amount frozen for the order.
	FrozenAmount *float32 `json:"frozenAmount,omitempty"`

	// InstrumentId The unique identifier of the financial instrument to trade.
	InstrumentId *int `json:"instrumentId,omitempty"`

	// IsBuy True for a buy (long) order, false for a sell (short) order.
	IsBuy *bool `json:"isBuy,omitempty"`

	// IsDiscounted Indicates if the order is eligible for a discount.
	IsDiscounted *bool `json:"isDiscounted,omitempty"`

	// IsNoStopLoss True if no stop-loss is set for this order.
	IsNoStopLoss *bool `json:"isNoStopLoss,omitempty"`

	// IsNoTakeProfit True if no take-profit is set for this order.
	IsNoTakeProfit *bool `json:"isNoTakeProfit,omitempty"`

	// IsTslEnabled Indicates whether a trailing stop-loss is enabled.
	IsTslEnabled *bool `json:"isTslEnabled,omitempty"`

	// LastUpdate The last update timestamp of the order.
	LastUpdate *time.Time `json:"lastUpdate,omitempty"`

	// Leverage The leverage multiplier for the trade.
	Leverage *int `json:"leverage,omitempty"`

	// LotCount The number of lots in the order.
	LotCount *float32 `json:"lotCount,omitempty"`

	// MirrorId ID related to mirrored trades, if applicable.
	MirrorId *int `json:"mirrorId,omitempty"`

	// OpenDateTime The timestamp when the order was opened.
	OpenDateTime *time.Time `json:"openDateTime,omitempty"`

	// OpenPositionActionType Position open reason.
	OpenPositionActionType *int `json:"openPositionActionType,omitempty"`

	// OrderId Unique identifier for the order
	OrderId *int `json:"orderId,omitempty"`

	// OrderType Type of order executed
	OrderType *int `json:"orderType,omitempty"`

	// StatusId Status of the order
	StatusId *int `json:"statusId,omitempty"`

	// StopLossRate The stop-loss rate at which the trade will automatically close to limit losses.
	StopLossRate *float32 `json:"stopLossRate,omitempty"`

	// TakeProfitRate The take-profit rate at which the trade will automatically close to secure profits.
	TakeProfitRate *float32 `json:"takeProfitRate,omitempty"`

	// TotalExternalCosts Total external costs associated with the trade.
	TotalExternalCosts *float32 `json:"totalExternalCosts,omitempty"`
}

OrderForOpen defines model for OrderForOpen.

type PaginationCursor

type PaginationCursor struct {
	HasNext       bool    `json:"hasNext"`
	NextPageToken *string `json:"nextPageToken,omitempty"`
	PageSize      int     `json:"pageSize"`
}

PaginationCursor defines model for PaginationCursor.

type PaginationSchema

type PaginationSchema struct {
	// HasNext Whether a further page exists after this one.
	//
	// Example: false
	HasNext bool `json:"hasNext"`

	// Page 1-based index of the page returned.
	//
	// Example: 1
	Page int32 `json:"page"`

	// PageSize Maximum number of items that could be returned on this page.
	//
	// Example: 50
	PageSize int32 `json:"pageSize"`
}

PaginationSchema Offset pagination metadata for a collection response.

type PaginationSchema2

type PaginationSchema2 struct {
	// HasNext Whether additional results exist
	HasNext *bool `json:"hasNext,omitempty"`

	// NextPageToken Pass as the pageToken parameter to retrieve the next page
	NextPageToken *string `json:"nextPageToken,omitempty"`

	// PageSize The page size used for this request. Reflects the default (100) when the pageSize parameter was omitted.
	PageSize *int `json:"pageSize,omitempty"`
}

PaginationSchema2 Cursor-based pagination metadata

type PatchNotificationsMessagesParams

type PatchNotificationsMessagesParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

PatchNotificationsMessagesParams defines parameters for PatchNotificationsMessages.

type PatchNotificationsMessagesResponse

type PatchNotificationsMessagesResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// Headers204 the parsed response headers for an HTTP 204 response
	Headers204 *PatchNotificationsMessagesResponse204Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *PatchNotificationsMessagesResponse429Headers
}

func ParsePatchNotificationsMessagesResponse

func ParsePatchNotificationsMessagesResponse(rsp *http.Response) (*PatchNotificationsMessagesResponse, error)

ParsePatchNotificationsMessagesResponse parses an HTTP response from a PatchNotificationsMessagesWithResponse call

func (PatchNotificationsMessagesResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (PatchNotificationsMessagesResponse) GetBody

GetBody returns the raw response body bytes

func (PatchNotificationsMessagesResponse) Status

Status returns HTTPResponse.Status

func (PatchNotificationsMessagesResponse) StatusCode

func (r PatchNotificationsMessagesResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type PatchNotificationsMessagesResponse204Headers

type PatchNotificationsMessagesResponse204Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

PatchNotificationsMessagesResponse204Headers the declared response headers of an HTTP 204 response for PatchNotificationsMessages

type PatchNotificationsMessagesResponse429Headers

type PatchNotificationsMessagesResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

PatchNotificationsMessagesResponse429Headers the declared response headers of an HTTP 429 response for PatchNotificationsMessages

type PatchPriceAlertsByAlertIdJSONRequestBody

type PatchPriceAlertsByAlertIdJSONRequestBody = UpdatePriceAlertRequest

PatchPriceAlertsByAlertIdJSONRequestBody defines body for PatchPriceAlertsByAlertId for application/json ContentType.

type PatchPriceAlertsByAlertIdParams

type PatchPriceAlertsByAlertIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

PatchPriceAlertsByAlertIdParams defines parameters for PatchPriceAlertsByAlertId.

type PatchPriceAlertsByAlertIdResponse

type PatchPriceAlertsByAlertIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *PriceAlertMutationResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *PriceAlertErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *PriceAlertsApiPublicErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *PriceAlertsApiPublicErrorResponse
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *PriceAlertErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *PriceAlertsApiPublicErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *PriceAlertsApiPublicErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *PatchPriceAlertsByAlertIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *PatchPriceAlertsByAlertIdResponse429Headers
}

func ParsePatchPriceAlertsByAlertIdResponse

func ParsePatchPriceAlertsByAlertIdResponse(rsp *http.Response) (*PatchPriceAlertsByAlertIdResponse, error)

ParsePatchPriceAlertsByAlertIdResponse parses an HTTP response from a PatchPriceAlertsByAlertIdWithResponse call

func (PatchPriceAlertsByAlertIdResponse) ContentType

func (r PatchPriceAlertsByAlertIdResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (PatchPriceAlertsByAlertIdResponse) GetBody

GetBody returns the raw response body bytes

func (PatchPriceAlertsByAlertIdResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (PatchPriceAlertsByAlertIdResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (PatchPriceAlertsByAlertIdResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (PatchPriceAlertsByAlertIdResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (PatchPriceAlertsByAlertIdResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (PatchPriceAlertsByAlertIdResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (PatchPriceAlertsByAlertIdResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (PatchPriceAlertsByAlertIdResponse) Status

Status returns HTTPResponse.Status

func (PatchPriceAlertsByAlertIdResponse) StatusCode

func (r PatchPriceAlertsByAlertIdResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type PatchPriceAlertsByAlertIdResponse200Headers

type PatchPriceAlertsByAlertIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

PatchPriceAlertsByAlertIdResponse200Headers the declared response headers of an HTTP 200 response for PatchPriceAlertsByAlertId

type PatchPriceAlertsByAlertIdResponse429Headers

type PatchPriceAlertsByAlertIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

PatchPriceAlertsByAlertIdResponse429Headers the declared response headers of an HTTP 429 response for PatchPriceAlertsByAlertId

type PaymentsApiAccountType

type PaymentsApiAccountType string

PaymentsApiAccountType defines model for PaymentsApi_AccountType.

const (
	PaymentsApiAccountTypeCash    PaymentsApiAccountType = "cash"
	PaymentsApiAccountTypeOptions PaymentsApiAccountType = "options"
	PaymentsApiAccountTypeTrading PaymentsApiAccountType = "trading"
)

Defines values for PaymentsApiAccountType.

func (PaymentsApiAccountType) Valid

func (e PaymentsApiAccountType) Valid() bool

Valid indicates whether the value is a known member of the PaymentsApiAccountType enum.

type PortfolioResponse

type PortfolioResponse struct {
	// ClientPortfolio Container for all portfolio-related information
	ClientPortfolio *struct {
		// BonusCredit Bonus credit amount in USD available for trading
		BonusCredit *float32 `json:"bonusCredit,omitempty"`

		// Credit Available trading balance in USD, representing funds available for new positions
		Credit *float32 `json:"credit,omitempty"`

		// EntryOrders Obsolete
		EntryOrders *[]map[string]interface{} `json:"entryOrders,omitempty"`

		// ExitOrders Obsolete
		ExitOrders *[]map[string]interface{} `json:"exitOrders,omitempty"`

		// Mirrors Copy trading configurations and positions
		Mirrors *[]struct {
			// CID Customer ID associated with the mirror
			CID *int `json:"CID,omitempty"`

			// AvailableAmount Available to trade USD balance in the mirror. This balance is reserved for mirror operations
			AvailableAmount *float32 `json:"availableAmount,omitempty"`

			// ClosedPositionsNetProfit Total USD net profit of all positions that closed in the mirror
			ClosedPositionsNetProfit *float32 `json:"closedPositionsNetProfit,omitempty"`

			// CopyExistingPositions Indication if mirror originally copied all parent existing position on mirror registration
			CopyExistingPositions *bool `json:"copyExistingPositions,omitempty"`

			// DelayedOrderForClose Obsolete
			DelayedOrderForClose *[]map[string]interface{} `json:"delayedOrderForClose,omitempty"`

			// DelayedOrderForOpen Obsolete
			DelayedOrderForOpen *[]map[string]interface{} `json:"delayedOrderForOpen,omitempty"`

			// DepositSummary Total USD amount deposited into the mirror after initial investment
			DepositSummary *float32 `json:"depositSummary,omitempty"`

			// EntryOrders Obsolete
			EntryOrders *[]map[string]interface{} `json:"entryOrders,omitempty"`

			// ExitOrders Obsolete
			ExitOrders *[]map[string]interface{} `json:"exitOrders,omitempty"`

			// InitialInvestment USD amount initially invested in the mirror
			InitialInvestment *float32 `json:"initialInvestment,omitempty"`

			// IsPaused Indication if the mirror is currently paused, restricting open of additional positions inside the mirror
			IsPaused *bool `json:"isPaused,omitempty"`

			// MirrorCalculationType (Obsolete) Mirror positions weights calculation methodology
			MirrorCalculationType *int `json:"mirrorCalculationType,omitempty"`

			// MirrorID Unique identifier for the mirror trading configuration
			MirrorID *int `json:"mirrorID,omitempty"`

			// MirrorStatusID Current status of the mirror. 0 - Active, 1 - Paused, 2 - Pending Closure, 3 - In Alignment Process
			MirrorStatusID *int `json:"mirrorStatusID,omitempty"`

			// OrdersForClose Active orders in the mirror to close positions
			OrdersForClose *[]map[string]interface{} `json:"ordersForClose,omitempty"`

			// OrdersForCloseMultiple Active orders in the mirror to close positions
			OrdersForCloseMultiple *[]map[string]interface{} `json:"ordersForCloseMultiple,omitempty"`

			// OrdersForOpen Active orders in the mirror to open positions
			OrdersForOpen *[]map[string]interface{} `json:"ordersForOpen,omitempty"`

			// ParentCID Customer ID of the trader being copied
			ParentCID     *int                      `json:"parentCID,omitempty"`
			ParentMirrors *[]map[string]interface{} `json:"parentMirrors,omitempty"`

			// ParentUsername Username of the trader being copied
			ParentUsername *string `json:"parentUsername,omitempty"`

			// PendingForClosure Indication if the mirror is in closure process
			PendingForClosure *bool `json:"pendingForClosure,omitempty"`

			// Positions Positions within this copy trading mirror
			Positions *[]TradingRealApiPosition `json:"positions,omitempty"`

			// StartedCopyDate Date and time when the mirror trading was initiated
			StartedCopyDate *time.Time `json:"startedCopyDate,omitempty"`

			// StopLossAmount USD value of the mirror at which MirrorStopLoss will be triggered and cause liquidation of the mirror. Adding or removing funds from the mirror will trigger recalculation of this value based on StopLossPercentage compared to the current mirror value
			StopLossAmount *float32 `json:"stopLossAmount,omitempty"`

			// StopLossPercentage The precentage of the mirror value that the StopLossAmount represented at the time of the last edit. Adding or removing funds from the mirror will trigger recalculation of StopLossAmount based on this value compared to the current mirror value
			StopLossPercentage *float32 `json:"stopLossPercentage,omitempty"`

			// WithdrawalSummary Total USD amount withdrawn from the mirror
			WithdrawalSummary *float32 `json:"withdrawalSummary,omitempty"`
		} `json:"mirrors,omitempty"`

		// Orders List of pending orders
		Orders *[]struct {
			// CID Customer ID associated with the order
			CID *int `json:"CID,omitempty"`

			// Amount USD amount to invest in the position
			Amount *float32 `json:"amount,omitempty"`

			// ExecutionType Type of order execution
			ExecutionType *int `json:"executionType,omitempty"`

			// InstrumentID Identifier of the instrument being traded
			InstrumentID *int `json:"instrumentID,omitempty"`

			// IsBuy Direction of the position. true - Long, false - Short
			IsBuy *bool `json:"isBuy,omitempty"`

			// IsDiscounted Obsolete
			IsDiscounted *bool `json:"isDiscounted,omitempty"`

			// IsTslEnabled Indicates if a trailing stop loss (TSL) is enabled. This means that the stoploss rate indicated will get updated automatically whenever the asset price increases (for long positions) or decreases (for short position) effectively keeping the stoploss in a constant gap from the best price achieved so far.
			IsTslEnabled *bool `json:"isTslEnabled,omitempty"`

			// Leverage Leverage multiplier to apply to the position
			Leverage *float32 `json:"leverage,omitempty"`

			// OpenDateTime Date and time when the order was created
			OpenDateTime *time.Time `json:"openDateTime,omitempty"`

			// OrderID Unique identifier for the order
			OrderID *int `json:"orderID,omitempty"`

			// Rate Asset rate at which to send market order to the market
			Rate *float32 `json:"rate,omitempty"`

			// StopLossRate The stop-loss trigger price at which the position will generate a Market Order to close (after it was opened). StopLoss trigger price must be worse than current price.
			StopLossRate *float32 `json:"stopLossRate,omitempty"`

			// TakeProfitRate The take-profit trigger price at which the position will generate a Market Order to close (after it has opened). TakeProfit trigger price must be better than the current price.
			TakeProfitRate *float32 `json:"takeProfitRate,omitempty"`

			// Units Units to open the position. If this value is greater than zero the position will open on the requested units, and not amount
			Units *float32 `json:"units,omitempty"`
		} `json:"orders,omitempty"`

		// OrdersForClose Active orders to close positions
		OrdersForClose *[]map[string]interface{} `json:"ordersForClose,omitempty"`

		// OrdersForCloseMultiple Active orders to close multiple positions
		OrdersForCloseMultiple *[]map[string]interface{} `json:"ordersForCloseMultiple,omitempty"`

		// OrdersForOpen Active orders to open positions
		OrdersForOpen *[]map[string]interface{} `json:"ordersForOpen,omitempty"`

		// Positions List of currently open trading positions
		Positions *[]TradingRealApiPosition `json:"positions,omitempty"`

		// StockOrders Obsolete
		StockOrders *[]map[string]interface{} `json:"stockOrders,omitempty"`
	} `json:"clientPortfolio,omitempty"`
}

PortfolioResponse Comprehensive portfolio information including positions, orders, and account status

type PortfolioResponseWithPnl

type PortfolioResponseWithPnl struct {
	ClientPortfolio *ClientPortfolio `json:"clientPortfolio,omitempty"`
}

PortfolioResponseWithPnl Comprehensive portfolio information including positions, orders, and account status

type PortfolioSearchBffApiError

type PortfolioSearchBffApiError struct {
	Error *struct {
		Code    *string `json:"code,omitempty"`
		Message *string `json:"message,omitempty"`
	} `json:"error,omitempty"`
	Success *bool `json:"success,omitempty"`
}

PortfolioSearchBffApiError defines model for PortfolioSearchBffApi_Error.

type PortfolioSearchResponse

type PortfolioSearchResponse struct {
	// Results Relevance-ranked results. Never null - empty array when no matches.
	Results []PortfolioSearchResult `json:"results"`
}

PortfolioSearchResponse defines model for PortfolioSearchResponse.

type PortfolioSearchResult

type PortfolioSearchResult struct {
	AvatarUrl  *string                       `json:"avatarUrl,omitempty"`
	Copiers    *int                          `json:"copiers,omitempty"`
	Country    *string                       `json:"country,omitempty"`
	FullName   *string                       `json:"fullName,omitempty"`
	ProfileUrl string                        `json:"profileUrl"`
	SubType    *PortfolioSearchResultSubType `json:"subType,omitempty"`
	Type       PortfolioSearchResultType     `json:"type"`
	Username   string                        `json:"username"`
}

PortfolioSearchResult defines model for PortfolioSearchResult.

type PortfolioSearchResultSubType

type PortfolioSearchResultSubType string

PortfolioSearchResultSubType defines model for PortfolioSearchResult.SubType.

const (
	PortfolioSearchResultSubTypeMarket       PortfolioSearchResultSubType = "market"
	PortfolioSearchResultSubTypePartners     PortfolioSearchResultSubType = "partners"
	PortfolioSearchResultSubTypePiCadet      PortfolioSearchResultSubType = "pi-cadet"
	PortfolioSearchResultSubTypePiCertified  PortfolioSearchResultSubType = "pi-certified"
	PortfolioSearchResultSubTypePiChampion   PortfolioSearchResultSubType = "pi-champion"
	PortfolioSearchResultSubTypePiElite      PortfolioSearchResultSubType = "pi-elite"
	PortfolioSearchResultSubTypePiElitePro   PortfolioSearchResultSubType = "pi-elite-pro"
	PortfolioSearchResultSubTypePiRisingStar PortfolioSearchResultSubType = "pi-rising-star"
	PortfolioSearchResultSubTypeTopTraders   PortfolioSearchResultSubType = "top-traders"
)

Defines values for PortfolioSearchResultSubType.

func (PortfolioSearchResultSubType) Valid

Valid indicates whether the value is a known member of the PortfolioSearchResultSubType enum.

type PortfolioSearchResultType

type PortfolioSearchResultType string

PortfolioSearchResultType defines model for PortfolioSearchResult.Type.

const (
	PortfolioSearchResultTypeSmartPortfolio PortfolioSearchResultType = "smart-portfolio"
	PortfolioSearchResultTypeTrader         PortfolioSearchResultType = "trader"
)

Defines values for PortfolioSearchResultType.

func (PortfolioSearchResultType) Valid

func (e PortfolioSearchResultType) Valid() bool

Valid indicates whether the value is a known member of the PortfolioSearchResultType enum.

type PostAggregatedPortfolioDemoJSONRequestBody

type PostAggregatedPortfolioDemoJSONRequestBody = AggregatedPortfolioDemoPostRequest

PostAggregatedPortfolioDemoJSONRequestBody defines body for PostAggregatedPortfolioDemo for application/json ContentType.

type PostAggregatedPortfolioDemoParams

type PostAggregatedPortfolioDemoParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

PostAggregatedPortfolioDemoParams defines parameters for PostAggregatedPortfolioDemo.

type PostAggregatedPortfolioDemoResponse

type PostAggregatedPortfolioDemoResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *TradingPortfolioDemoApiAggregatedPortfolioResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *PostAggregatedPortfolioDemoResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *PostAggregatedPortfolioDemoResponse429Headers
}

func ParsePostAggregatedPortfolioDemoResponse

func ParsePostAggregatedPortfolioDemoResponse(rsp *http.Response) (*PostAggregatedPortfolioDemoResponse, error)

ParsePostAggregatedPortfolioDemoResponse parses an HTTP response from a PostAggregatedPortfolioDemoWithResponse call

func (PostAggregatedPortfolioDemoResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (PostAggregatedPortfolioDemoResponse) GetBody

GetBody returns the raw response body bytes

func (PostAggregatedPortfolioDemoResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (PostAggregatedPortfolioDemoResponse) Status

Status returns HTTPResponse.Status

func (PostAggregatedPortfolioDemoResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type PostAggregatedPortfolioDemoResponse200Headers

type PostAggregatedPortfolioDemoResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

PostAggregatedPortfolioDemoResponse200Headers the declared response headers of an HTTP 200 response for PostAggregatedPortfolioDemo

type PostAggregatedPortfolioDemoResponse429Headers

type PostAggregatedPortfolioDemoResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

PostAggregatedPortfolioDemoResponse429Headers the declared response headers of an HTTP 429 response for PostAggregatedPortfolioDemo

type PostAggregatedPortfolioJSONRequestBody

type PostAggregatedPortfolioJSONRequestBody = AggregatedPortfolioRealPostRequest

PostAggregatedPortfolioJSONRequestBody defines body for PostAggregatedPortfolio for application/json ContentType.

type PostAggregatedPortfolioParams

type PostAggregatedPortfolioParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

PostAggregatedPortfolioParams defines parameters for PostAggregatedPortfolio.

type PostAggregatedPortfolioResponse

type PostAggregatedPortfolioResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *TradingPortfolioRealApiAggregatedPortfolioResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *PostAggregatedPortfolioResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *PostAggregatedPortfolioResponse429Headers
}

func ParsePostAggregatedPortfolioResponse

func ParsePostAggregatedPortfolioResponse(rsp *http.Response) (*PostAggregatedPortfolioResponse, error)

ParsePostAggregatedPortfolioResponse parses an HTTP response from a PostAggregatedPortfolioWithResponse call

func (PostAggregatedPortfolioResponse) ContentType

func (r PostAggregatedPortfolioResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (PostAggregatedPortfolioResponse) GetBody

func (r PostAggregatedPortfolioResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (PostAggregatedPortfolioResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (PostAggregatedPortfolioResponse) Status

Status returns HTTPResponse.Status

func (PostAggregatedPortfolioResponse) StatusCode

func (r PostAggregatedPortfolioResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type PostAggregatedPortfolioResponse200Headers

type PostAggregatedPortfolioResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

PostAggregatedPortfolioResponse200Headers the declared response headers of an HTTP 200 response for PostAggregatedPortfolio

type PostAggregatedPortfolioResponse429Headers

type PostAggregatedPortfolioResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

PostAggregatedPortfolioResponse429Headers the declared response headers of an HTTP 429 response for PostAggregatedPortfolio

type PostMoneyTransferJSONRequestBody

type PostMoneyTransferJSONRequestBody = MoneyTransferRequest

PostMoneyTransferJSONRequestBody defines body for PostMoneyTransfer for application/json ContentType.

type PostMoneyTransferParams

type PostMoneyTransferParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

PostMoneyTransferParams defines parameters for PostMoneyTransfer.

type PostMoneyTransferResponse

type PostMoneyTransferResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *MoneyTransferResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *PostMoneyTransferResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *PostMoneyTransferResponse429Headers
}

func ParsePostMoneyTransferResponse

func ParsePostMoneyTransferResponse(rsp *http.Response) (*PostMoneyTransferResponse, error)

ParsePostMoneyTransferResponse parses an HTTP response from a PostMoneyTransferWithResponse call

func (PostMoneyTransferResponse) ContentType

func (r PostMoneyTransferResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (PostMoneyTransferResponse) GetBody

func (r PostMoneyTransferResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (PostMoneyTransferResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (PostMoneyTransferResponse) Status

func (r PostMoneyTransferResponse) Status() string

Status returns HTTPResponse.Status

func (PostMoneyTransferResponse) StatusCode

func (r PostMoneyTransferResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type PostMoneyTransferResponse200Headers

type PostMoneyTransferResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

PostMoneyTransferResponse200Headers the declared response headers of an HTTP 200 response for PostMoneyTransfer

type PostMoneyTransferResponse429Headers

type PostMoneyTransferResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

PostMoneyTransferResponse429Headers the declared response headers of an HTTP 429 response for PostMoneyTransfer

type PostPriceAlertsJSONRequestBody

type PostPriceAlertsJSONRequestBody = CreatePriceAlertRequest

PostPriceAlertsJSONRequestBody defines body for PostPriceAlerts for application/json ContentType.

type PostPriceAlertsParams

type PostPriceAlertsParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

PostPriceAlertsParams defines parameters for PostPriceAlerts.

type PostPriceAlertsResponse

type PostPriceAlertsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON201 the response for an HTTP 201 `application/json` response
	JSON201 *PriceAlertMutationResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *PriceAlertErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *PriceAlertsApiPublicErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *PriceAlertsApiPublicErrorResponse
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *PriceAlertErrorResponse
	// JSON422 the response for an HTTP 422 `application/json` response
	JSON422 *PriceAlertErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *PriceAlertsApiPublicErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *PriceAlertsApiPublicErrorResponse
	// Headers201 the parsed response headers for an HTTP 201 response
	Headers201 *PostPriceAlertsResponse201Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *PostPriceAlertsResponse429Headers
}

func ParsePostPriceAlertsResponse

func ParsePostPriceAlertsResponse(rsp *http.Response) (*PostPriceAlertsResponse, error)

ParsePostPriceAlertsResponse parses an HTTP response from a PostPriceAlertsWithResponse call

func (PostPriceAlertsResponse) ContentType

func (r PostPriceAlertsResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (PostPriceAlertsResponse) GetBody

func (r PostPriceAlertsResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (PostPriceAlertsResponse) GetJSON201

GetJSON201 returns the response for an HTTP 201 `application/json` response

func (PostPriceAlertsResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (PostPriceAlertsResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (PostPriceAlertsResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (PostPriceAlertsResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (PostPriceAlertsResponse) GetJSON422

GetJSON422 returns the response for an HTTP 422 `application/json` response

func (PostPriceAlertsResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (PostPriceAlertsResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (PostPriceAlertsResponse) Status

func (r PostPriceAlertsResponse) Status() string

Status returns HTTPResponse.Status

func (PostPriceAlertsResponse) StatusCode

func (r PostPriceAlertsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type PostPriceAlertsResponse201Headers

type PostPriceAlertsResponse201Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

PostPriceAlertsResponse201Headers the declared response headers of an HTTP 201 response for PostPriceAlerts

type PostPriceAlertsResponse429Headers

type PostPriceAlertsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

PostPriceAlertsResponse429Headers the declared response headers of an HTTP 429 response for PostPriceAlerts

type PostWatchlistsByWatchlistIdItemsJSONBody

type PostWatchlistsByWatchlistIdItemsJSONBody = []WatchlistItemDto

PostWatchlistsByWatchlistIdItemsJSONBody defines parameters for PostWatchlistsByWatchlistIdItems.

type PostWatchlistsByWatchlistIdItemsJSONRequestBody

type PostWatchlistsByWatchlistIdItemsJSONRequestBody = PostWatchlistsByWatchlistIdItemsJSONBody

PostWatchlistsByWatchlistIdItemsJSONRequestBody defines body for PostWatchlistsByWatchlistIdItems for application/json ContentType.

type PostWatchlistsByWatchlistIdItemsParams

type PostWatchlistsByWatchlistIdItemsParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

PostWatchlistsByWatchlistIdItemsParams defines parameters for PostWatchlistsByWatchlistIdItems.

type PostWatchlistsByWatchlistIdItemsResponse

type PostWatchlistsByWatchlistIdItemsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// Headers201 the parsed response headers for an HTTP 201 response
	Headers201 *PostWatchlistsByWatchlistIdItemsResponse201Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *PostWatchlistsByWatchlistIdItemsResponse429Headers
}

func ParsePostWatchlistsByWatchlistIdItemsResponse

func ParsePostWatchlistsByWatchlistIdItemsResponse(rsp *http.Response) (*PostWatchlistsByWatchlistIdItemsResponse, error)

ParsePostWatchlistsByWatchlistIdItemsResponse parses an HTTP response from a PostWatchlistsByWatchlistIdItemsWithResponse call

func (PostWatchlistsByWatchlistIdItemsResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (PostWatchlistsByWatchlistIdItemsResponse) GetBody

GetBody returns the raw response body bytes

func (PostWatchlistsByWatchlistIdItemsResponse) Status

Status returns HTTPResponse.Status

func (PostWatchlistsByWatchlistIdItemsResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type PostWatchlistsByWatchlistIdItemsResponse201Headers

type PostWatchlistsByWatchlistIdItemsResponse201Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

PostWatchlistsByWatchlistIdItemsResponse201Headers the declared response headers of an HTTP 201 response for PostWatchlistsByWatchlistIdItems

type PostWatchlistsByWatchlistIdItemsResponse429Headers

type PostWatchlistsByWatchlistIdItemsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

PostWatchlistsByWatchlistIdItemsResponse429Headers the declared response headers of an HTTP 429 response for PostWatchlistsByWatchlistIdItems

type PostWatchlistsDefaultWatchlistSelectedItemsJSONBody

type PostWatchlistsDefaultWatchlistSelectedItemsJSONBody = []WatchlistItemDto

PostWatchlistsDefaultWatchlistSelectedItemsJSONBody defines parameters for PostWatchlistsDefaultWatchlistSelectedItems.

type PostWatchlistsDefaultWatchlistSelectedItemsJSONRequestBody

type PostWatchlistsDefaultWatchlistSelectedItemsJSONRequestBody = PostWatchlistsDefaultWatchlistSelectedItemsJSONBody

PostWatchlistsDefaultWatchlistSelectedItemsJSONRequestBody defines body for PostWatchlistsDefaultWatchlistSelectedItems for application/json ContentType.

type PostWatchlistsDefaultWatchlistSelectedItemsParams

type PostWatchlistsDefaultWatchlistSelectedItemsParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

PostWatchlistsDefaultWatchlistSelectedItemsParams defines parameters for PostWatchlistsDefaultWatchlistSelectedItems.

type PostWatchlistsDefaultWatchlistSelectedItemsResponse

type PostWatchlistsDefaultWatchlistSelectedItemsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON201 the response for an HTTP 201 `application/json` response
	JSON201 *WatchlistsResponse
	// Headers201 the parsed response headers for an HTTP 201 response
	Headers201 *PostWatchlistsDefaultWatchlistSelectedItemsResponse201Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *PostWatchlistsDefaultWatchlistSelectedItemsResponse429Headers
}

func ParsePostWatchlistsDefaultWatchlistSelectedItemsResponse

func ParsePostWatchlistsDefaultWatchlistSelectedItemsResponse(rsp *http.Response) (*PostWatchlistsDefaultWatchlistSelectedItemsResponse, error)

ParsePostWatchlistsDefaultWatchlistSelectedItemsResponse parses an HTTP response from a PostWatchlistsDefaultWatchlistSelectedItemsWithResponse call

func (PostWatchlistsDefaultWatchlistSelectedItemsResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (PostWatchlistsDefaultWatchlistSelectedItemsResponse) GetBody

GetBody returns the raw response body bytes

func (PostWatchlistsDefaultWatchlistSelectedItemsResponse) GetJSON201

GetJSON201 returns the response for an HTTP 201 `application/json` response

func (PostWatchlistsDefaultWatchlistSelectedItemsResponse) Status

Status returns HTTPResponse.Status

func (PostWatchlistsDefaultWatchlistSelectedItemsResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type PostWatchlistsDefaultWatchlistSelectedItemsResponse201Headers

type PostWatchlistsDefaultWatchlistSelectedItemsResponse201Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

PostWatchlistsDefaultWatchlistSelectedItemsResponse201Headers the declared response headers of an HTTP 201 response for PostWatchlistsDefaultWatchlistSelectedItems

type PostWatchlistsDefaultWatchlistSelectedItemsResponse429Headers

type PostWatchlistsDefaultWatchlistSelectedItemsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

PostWatchlistsDefaultWatchlistSelectedItemsResponse429Headers the declared response headers of an HTTP 429 response for PostWatchlistsDefaultWatchlistSelectedItems

type PostWatchlistsNewasdefaultWatchlistParams

type PostWatchlistsNewasdefaultWatchlistParams struct {
	// Name Name of the new watchlist
	Name string `form:"name" json:"name"`

	// Type Type of watchlist to create
	Type *PostWatchlistsNewasdefaultWatchlistParamsType `form:"type,omitempty" json:"type,omitempty"`

	// DynamicQuery Query string for dynamic watchlists
	DynamicQuery *string `form:"dynamicQuery,omitempty" json:"dynamicQuery,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

PostWatchlistsNewasdefaultWatchlistParams defines parameters for PostWatchlistsNewasdefaultWatchlist.

type PostWatchlistsNewasdefaultWatchlistParamsType

type PostWatchlistsNewasdefaultWatchlistParamsType string

PostWatchlistsNewasdefaultWatchlistParamsType defines parameters for PostWatchlistsNewasdefaultWatchlist.

const (
	PostWatchlistsNewasdefaultWatchlistParamsTypeDynamic PostWatchlistsNewasdefaultWatchlistParamsType = "Dynamic"
	PostWatchlistsNewasdefaultWatchlistParamsTypeStatic  PostWatchlistsNewasdefaultWatchlistParamsType = "Static"
)

Defines values for PostWatchlistsNewasdefaultWatchlistParamsType.

func (PostWatchlistsNewasdefaultWatchlistParamsType) Valid

Valid indicates whether the value is a known member of the PostWatchlistsNewasdefaultWatchlistParamsType enum.

type PostWatchlistsNewasdefaultWatchlistResponse

type PostWatchlistsNewasdefaultWatchlistResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON201 the response for an HTTP 201 `application/json` response
	JSON201 *WatchlistsResponse
	// Headers201 the parsed response headers for an HTTP 201 response
	Headers201 *PostWatchlistsNewasdefaultWatchlistResponse201Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *PostWatchlistsNewasdefaultWatchlistResponse429Headers
}

func ParsePostWatchlistsNewasdefaultWatchlistResponse

func ParsePostWatchlistsNewasdefaultWatchlistResponse(rsp *http.Response) (*PostWatchlistsNewasdefaultWatchlistResponse, error)

ParsePostWatchlistsNewasdefaultWatchlistResponse parses an HTTP response from a PostWatchlistsNewasdefaultWatchlistWithResponse call

func (PostWatchlistsNewasdefaultWatchlistResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (PostWatchlistsNewasdefaultWatchlistResponse) GetBody

GetBody returns the raw response body bytes

func (PostWatchlistsNewasdefaultWatchlistResponse) GetJSON201

GetJSON201 returns the response for an HTTP 201 `application/json` response

func (PostWatchlistsNewasdefaultWatchlistResponse) Status

Status returns HTTPResponse.Status

func (PostWatchlistsNewasdefaultWatchlistResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type PostWatchlistsNewasdefaultWatchlistResponse201Headers

type PostWatchlistsNewasdefaultWatchlistResponse201Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

PostWatchlistsNewasdefaultWatchlistResponse201Headers the declared response headers of an HTTP 201 response for PostWatchlistsNewasdefaultWatchlist

type PostWatchlistsNewasdefaultWatchlistResponse429Headers

type PostWatchlistsNewasdefaultWatchlistResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

PostWatchlistsNewasdefaultWatchlistResponse429Headers the declared response headers of an HTTP 429 response for PostWatchlistsNewasdefaultWatchlist

type PostWatchlistsParams

type PostWatchlistsParams struct {
	// Name Name of the new watchlist
	Name string `form:"name" json:"name"`

	// Type Type of watchlist to create
	Type *PostWatchlistsParamsType `form:"type,omitempty" json:"type,omitempty"`

	// DynamicQuery Dynamic query URL for dynamic watchlists
	DynamicQuery *string `form:"dynamicQuery,omitempty" json:"dynamicQuery,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

PostWatchlistsParams defines parameters for PostWatchlists.

type PostWatchlistsParamsType

type PostWatchlistsParamsType string

PostWatchlistsParamsType defines parameters for PostWatchlists.

const (
	PostWatchlistsParamsTypeDynamic PostWatchlistsParamsType = "Dynamic"
	PostWatchlistsParamsTypeStatic  PostWatchlistsParamsType = "Static"
)

Defines values for PostWatchlistsParamsType.

func (PostWatchlistsParamsType) Valid

func (e PostWatchlistsParamsType) Valid() bool

Valid indicates whether the value is a known member of the PostWatchlistsParamsType enum.

type PostWatchlistsResponse

type PostWatchlistsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON201 the response for an HTTP 201 `application/json` response
	JSON201 *WatchlistsResponse
	// Headers201 the parsed response headers for an HTTP 201 response
	Headers201 *PostWatchlistsResponse201Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *PostWatchlistsResponse429Headers
}

func ParsePostWatchlistsResponse

func ParsePostWatchlistsResponse(rsp *http.Response) (*PostWatchlistsResponse, error)

ParsePostWatchlistsResponse parses an HTTP response from a PostWatchlistsWithResponse call

func (PostWatchlistsResponse) ContentType

func (r PostWatchlistsResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (PostWatchlistsResponse) GetBody

func (r PostWatchlistsResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (PostWatchlistsResponse) GetJSON201

GetJSON201 returns the response for an HTTP 201 `application/json` response

func (PostWatchlistsResponse) Status

func (r PostWatchlistsResponse) Status() string

Status returns HTTPResponse.Status

func (PostWatchlistsResponse) StatusCode

func (r PostWatchlistsResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type PostWatchlistsResponse201Headers

type PostWatchlistsResponse201Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

PostWatchlistsResponse201Headers the declared response headers of an HTTP 201 response for PostWatchlists

type PostWatchlistsResponse429Headers

type PostWatchlistsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

PostWatchlistsResponse429Headers the declared response headers of an HTTP 429 response for PostWatchlists

type PriceAlert

type PriceAlert struct {
	// AlertId Unique identifier of the price alert
	//
	// Example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
	AlertId openapi_types.UUID `json:"alertId"`

	// CreatedAt Timestamp when the alert was created (ISO 8601 UTC)
	//
	// Example: 2026-04-20T10:00:00Z
	CreatedAt time.Time `json:"createdAt"`

	// CurrentPrice Market bid price at the time the alert was created or last updated
	//
	// Example: 182.3
	CurrentPrice float32 `json:"currentPrice"`

	// InstrumentId Unique instrument identifier used across all trading operations
	//
	// Example: 1001
	InstrumentId int `json:"instrumentId"`

	// Symbol Trading symbol displayed to users (e.g. AAPL, TSLA)
	//
	// Example: AAPL
	Symbol string `json:"symbol"`

	// TargetPrice Target price at which the alert will trigger
	//
	// Example: 185.5
	TargetPrice float32 `json:"targetPrice"`

	// UpdatedAt Timestamp when the alert was last updated (ISO 8601 UTC)
	//
	// Example: 2026-04-25T14:30:00Z
	UpdatedAt time.Time `json:"updatedAt"`
}

PriceAlert A price alert set by the user on a financial instrument

type PriceAlertCollectionResponse

type PriceAlertCollectionResponse struct {
	// Results List of price alerts matching the query criteria
	Results *[]PriceAlert `json:"results,omitempty"`
}

PriceAlertCollectionResponse Collection of price alerts for the authenticated user

type PriceAlertErrorResponse

type PriceAlertErrorResponse struct {
	Error struct {
		// Code Machine-readable error code for programmatic handling
		//
		// Example: VALIDATION_ERROR
		Code string `json:"code"`

		// Details Additional context about the error
		//
		// Example: Field 'targetPrice' must be greater than 0
		Details *string `json:"details,omitempty"`

		// Field The specific field that caused the error (if applicable)
		//
		// Example: targetPrice
		Field *string `json:"field,omitempty"`

		// Message Human-readable error message
		//
		// Example: Invalid request parameters
		Message string `json:"message"`
	} `json:"error"`

	// Success Indicates the request failed
	//
	// Example: false
	Success bool `json:"success"`
}

PriceAlertErrorResponse Error response from the price alerts service

type PriceAlertMutationResponse

type PriceAlertMutationResponse struct {
	// Data A price alert set by the user on a financial instrument
	Data *PriceAlert `json:"data,omitempty"`

	// Success Indicates the operation completed successfully
	//
	// Example: true
	Success *bool `json:"success,omitempty"`
}

PriceAlertMutationResponse Response for price alert create and update operations

type PriceAlertsApiPublicErrorResponse

type PriceAlertsApiPublicErrorResponse struct {
	// ErrorCode Machine-readable error code
	//
	// Example: UnhandledException
	ErrorCode string `json:"errorCode"`

	// ErrorMessage Human-readable error message
	//
	// Example: Global Error
	ErrorMessage string `json:"errorMessage"`
}

PriceAlertsApiPublicErrorResponse Standard error response from the public API gateway

type PriceCandle

type PriceCandle struct {
	// Close Last price in the candle.
	Close *string `json:"close"`

	// High Highest price in the candle.
	High *string `json:"high"`

	// Low Lowest price in the candle.
	Low *string `json:"low"`

	// Open First price in the candle, as an exact decimal string.
	Open *string `json:"open"`

	// Time Candle open time, UTC.
	Time time.Time `json:"time"`

	// Volume Source volume, passed through. Frequently null; null means not reported.
	Volume *string `json:"volume"`
}

PriceCandle One candle for a single price side (`side=bid` or `side=ask`).

type PriceCandleCoverage

type PriceCandleCoverage struct {
	InstrumentId int32              `json:"instrumentId"`
	Intervals    []IntervalCoverage `json:"intervals"`

	// Symbol Instrument display name, e.g. AAPL/USD. Null when there is no data.
	Symbol *string `json:"symbol"`
}

PriceCandleCoverage Where candles exist for one instrument, per interval. A single resource, not a collection.

type PriceCandlesPage

type PriceCandlesPage struct {
	InstrumentId int32                    `json:"instrumentId"`
	Interval     PriceCandlesPageInterval `json:"interval"`

	// Pagination Keyset pagination metadata for a time-ordered collection. `hasNext` is always present; `nextCursor` is opaque and is null exactly when `hasNext` is false.
	Pagination CursorPagination     `json:"pagination"`
	Results    []PriceCandle        `json:"results"`
	Side       PriceCandlesPageSide `json:"side"`

	// Symbol Instrument display name, e.g. AAPL/USD. Null when the page is empty.
	Symbol *string `json:"symbol"`

	// Window The requested time range, after defaults: [from, to).
	Window TimeWindow `json:"window"`
}

PriceCandlesPage One page of price candles for a single instrument and interval.

type PriceCandlesPageInterval

type PriceCandlesPageInterval string

PriceCandlesPageInterval defines model for PriceCandlesPage.Interval.

const (
	PriceCandlesPageIntervalN10m PriceCandlesPageInterval = "10m"
	PriceCandlesPageIntervalN15m PriceCandlesPageInterval = "15m"
	PriceCandlesPageIntervalN1d  PriceCandlesPageInterval = "1d"
	PriceCandlesPageIntervalN1h  PriceCandlesPageInterval = "1h"
	PriceCandlesPageIntervalN1m  PriceCandlesPageInterval = "1m"
	PriceCandlesPageIntervalN1w  PriceCandlesPageInterval = "1w"
	PriceCandlesPageIntervalN30m PriceCandlesPageInterval = "30m"
	PriceCandlesPageIntervalN4h  PriceCandlesPageInterval = "4h"
	PriceCandlesPageIntervalN5m  PriceCandlesPageInterval = "5m"
)

Defines values for PriceCandlesPageInterval.

func (PriceCandlesPageInterval) Valid

func (e PriceCandlesPageInterval) Valid() bool

Valid indicates whether the value is a known member of the PriceCandlesPageInterval enum.

type PriceCandlesPageSide

type PriceCandlesPageSide string

PriceCandlesPageSide defines model for PriceCandlesPage.Side.

const (
	PriceCandlesPageSideAsk  PriceCandlesPageSide = "ask"
	PriceCandlesPageSideBid  PriceCandlesPageSide = "bid"
	PriceCandlesPageSideBoth PriceCandlesPageSide = "both"
)

Defines values for PriceCandlesPageSide.

func (PriceCandlesPageSide) Valid

func (e PriceCandlesPageSide) Valid() bool

Valid indicates whether the value is a known member of the PriceCandlesPageSide enum.

type ProblemDetails

type ProblemDetails struct {
	Detail               *string                `json:"detail,omitempty"`
	Instance             *string                `json:"instance,omitempty"`
	Status               *int32                 `json:"status,omitempty"`
	Title                *string                `json:"title,omitempty"`
	Type                 *string                `json:"type,omitempty"`
	AdditionalProperties map[string]interface{} `json:"-"`
}

ProblemDetails defines model for ProblemDetails.

func (ProblemDetails) Get

func (a ProblemDetails) Get(fieldName string) (value interface{}, found bool)

Getter for additional properties for ProblemDetails. Returns the specified element and whether it was found

func (ProblemDetails) MarshalJSON

func (a ProblemDetails) MarshalJSON() ([]byte, error)

Override default JSON handling for ProblemDetails to handle AdditionalProperties

func (*ProblemDetails) Set

func (a *ProblemDetails) Set(fieldName string, value interface{})

Setter for additional properties for ProblemDetails

func (*ProblemDetails) UnmarshalJSON

func (a *ProblemDetails) UnmarshalJSON(b []byte) error

Override default JSON handling for ProblemDetails to handle AdditionalProperties

type PublicAggregatedInfoAccountStatus

type PublicAggregatedInfoAccountStatus int

PublicAggregatedInfoAccountStatus defines model for PublicAggregatedInfoAccountStatus.

const (
	PublicAggregatedInfoAccountStatusClosed PublicAggregatedInfoAccountStatus = 2
	PublicAggregatedInfoAccountStatusOpen   PublicAggregatedInfoAccountStatus = 1
)

Defines values for PublicAggregatedInfoAccountStatus.

func (PublicAggregatedInfoAccountStatus) Valid

Valid indicates whether the value is a known member of the PublicAggregatedInfoAccountStatus enum.

type PublicAggregatedInfoPlayerStatus

type PublicAggregatedInfoPlayerStatus int

PublicAggregatedInfoPlayerStatus defines model for PublicAggregatedInfoPlayerStatus.

const (
	PublicAggregatedInfoPlayerStatusBlockTrading               PublicAggregatedInfoPlayerStatus = 15
	PublicAggregatedInfoPlayerStatusBlocked                    PublicAggregatedInfoPlayerStatus = 2
	PublicAggregatedInfoPlayerStatusBlockedFailedVerification  PublicAggregatedInfoPlayerStatus = 14
	PublicAggregatedInfoPlayerStatusBlockedPayPalInvestigation PublicAggregatedInfoPlayerStatus = 8
	PublicAggregatedInfoPlayerStatusBlockedUnderInvestigation  PublicAggregatedInfoPlayerStatus = 6
	PublicAggregatedInfoPlayerStatusBlockedUponRequest         PublicAggregatedInfoPlayerStatus = 4
	PublicAggregatedInfoPlayerStatusChatBlocked                PublicAggregatedInfoPlayerStatus = 3
	PublicAggregatedInfoPlayerStatusCopyBlock                  PublicAggregatedInfoPlayerStatus = 12
	PublicAggregatedInfoPlayerStatusDepositBlocked             PublicAggregatedInfoPlayerStatus = 10
	PublicAggregatedInfoPlayerStatusNormal                     PublicAggregatedInfoPlayerStatus = 1
	PublicAggregatedInfoPlayerStatusPendingVerification        PublicAggregatedInfoPlayerStatus = 13
	PublicAggregatedInfoPlayerStatusScalpersBlock              PublicAggregatedInfoPlayerStatus = 7
	PublicAggregatedInfoPlayerStatusSocialIndex                PublicAggregatedInfoPlayerStatus = 11
	PublicAggregatedInfoPlayerStatusTradeBlock                 PublicAggregatedInfoPlayerStatus = 9
	PublicAggregatedInfoPlayerStatusWarning                    PublicAggregatedInfoPlayerStatus = 5
)

Defines values for PublicAggregatedInfoPlayerStatus.

func (PublicAggregatedInfoPlayerStatus) Valid

Valid indicates whether the value is a known member of the PublicAggregatedInfoPlayerStatus enum.

type PublicAggregatedInfoPlayerStatusReason

type PublicAggregatedInfoPlayerStatusReason int

PublicAggregatedInfoPlayerStatusReason defines model for PublicAggregatedInfoPlayerStatusReason.

const (
	PublicAggregatedInfoPlayerStatusReasonACHChargeback          PublicAggregatedInfoPlayerStatusReason = 23
	PublicAggregatedInfoPlayerStatusReasonAML                    PublicAggregatedInfoPlayerStatusReason = 10
	PublicAggregatedInfoPlayerStatusReasonAMLAccountClosed       PublicAggregatedInfoPlayerStatusReason = 6
	PublicAggregatedInfoPlayerStatusReasonAMLreview              PublicAggregatedInfoPlayerStatusReason = 11
	PublicAggregatedInfoPlayerStatusReasonAbuse                  PublicAggregatedInfoPlayerStatusReason = 25
	PublicAggregatedInfoPlayerStatusReasonAbusiveTrading         PublicAggregatedInfoPlayerStatusReason = 34
	PublicAggregatedInfoPlayerStatusReasonAccountClosed          PublicAggregatedInfoPlayerStatusReason = 40
	PublicAggregatedInfoPlayerStatusReasonAffiliateAccount       PublicAggregatedInfoPlayerStatusReason = 26
	PublicAggregatedInfoPlayerStatusReasonByRequest              PublicAggregatedInfoPlayerStatusReason = 22
	PublicAggregatedInfoPlayerStatusReasonCSManagementDecision   PublicAggregatedInfoPlayerStatusReason = 37
	PublicAggregatedInfoPlayerStatusReasonChargeback             PublicAggregatedInfoPlayerStatusReason = 5
	PublicAggregatedInfoPlayerStatusReasonCheckoutCaptureDecline PublicAggregatedInfoPlayerStatusReason = 32
	PublicAggregatedInfoPlayerStatusReasonCheckoutChargeback     PublicAggregatedInfoPlayerStatusReason = 30
	PublicAggregatedInfoPlayerStatusReasonCheckoutRetrievel      PublicAggregatedInfoPlayerStatusReason = 31
	PublicAggregatedInfoPlayerStatusReasonCloseAccountByUser     PublicAggregatedInfoPlayerStatusReason = 3
	PublicAggregatedInfoPlayerStatusReasonCorporate              PublicAggregatedInfoPlayerStatusReason = 42
	PublicAggregatedInfoPlayerStatusReasonDeceased               PublicAggregatedInfoPlayerStatusReason = 9
	PublicAggregatedInfoPlayerStatusReasonDeposits               PublicAggregatedInfoPlayerStatusReason = 38
	PublicAggregatedInfoPlayerStatusReasonEToroMoneyRestriction  PublicAggregatedInfoPlayerStatusReason = 33
	PublicAggregatedInfoPlayerStatusReasonEmployeeAccount        PublicAggregatedInfoPlayerStatusReason = 28
	PublicAggregatedInfoPlayerStatusReasonExpiredDocument        PublicAggregatedInfoPlayerStatusReason = 2
	PublicAggregatedInfoPlayerStatusReasonFailedVerification     PublicAggregatedInfoPlayerStatusReason = 1
	PublicAggregatedInfoPlayerStatusReasonHRC                    PublicAggregatedInfoPlayerStatusReason = 7
	PublicAggregatedInfoPlayerStatusReasonHackedAccount          PublicAggregatedInfoPlayerStatusReason = 35
	PublicAggregatedInfoPlayerStatusReasonKYC                    PublicAggregatedInfoPlayerStatusReason = 39
	PublicAggregatedInfoPlayerStatusReasonNOCNOFRFI              PublicAggregatedInfoPlayerStatusReason = 17
	PublicAggregatedInfoPlayerStatusReasonNone                   PublicAggregatedInfoPlayerStatusReason = 0
	PublicAggregatedInfoPlayerStatusReasonOffMarketAbuse         PublicAggregatedInfoPlayerStatusReason = 12
	PublicAggregatedInfoPlayerStatusReasonOther                  PublicAggregatedInfoPlayerStatusReason = 19
	PublicAggregatedInfoPlayerStatusReasonOverpayment            PublicAggregatedInfoPlayerStatusReason = 13
	PublicAggregatedInfoPlayerStatusReasonPIAccount              PublicAggregatedInfoPlayerStatusReason = 29
	PublicAggregatedInfoPlayerStatusReasonPWMBChargeback         PublicAggregatedInfoPlayerStatusReason = 24
	PublicAggregatedInfoPlayerStatusReasonPartnersAndPIs         PublicAggregatedInfoPlayerStatusReason = 36
	PublicAggregatedInfoPlayerStatusReasonPayPalInvestigation    PublicAggregatedInfoPlayerStatusReason = 16
	PublicAggregatedInfoPlayerStatusReasonPendingDocs            PublicAggregatedInfoPlayerStatusReason = 27
	PublicAggregatedInfoPlayerStatusReasonRightToBeForgotten     PublicAggregatedInfoPlayerStatusReason = 20
	PublicAggregatedInfoPlayerStatusReasonRisk                   PublicAggregatedInfoPlayerStatusReason = 4
	PublicAggregatedInfoPlayerStatusReasonRiskCheck              PublicAggregatedInfoPlayerStatusReason = 14
	PublicAggregatedInfoPlayerStatusReasonSelfService            PublicAggregatedInfoPlayerStatusReason = 21
	PublicAggregatedInfoPlayerStatusReasonTax                    PublicAggregatedInfoPlayerStatusReason = 41
	PublicAggregatedInfoPlayerStatusReasonThirdParty             PublicAggregatedInfoPlayerStatusReason = 15
	PublicAggregatedInfoPlayerStatusReasonUnderage               PublicAggregatedInfoPlayerStatusReason = 8
	PublicAggregatedInfoPlayerStatusReasonWCHMatch               PublicAggregatedInfoPlayerStatusReason = 18
)

Defines values for PublicAggregatedInfoPlayerStatusReason.

func (PublicAggregatedInfoPlayerStatusReason) Valid

Valid indicates whether the value is a known member of the PublicAggregatedInfoPlayerStatusReason enum.

type PublicAggregatedInfoResponse

type PublicAggregatedInfoResponse struct {
	// Users Array of user profiles with their associated information
	Users *[]PublicAggregatedInfoUser `json:"users,omitempty"`
}

PublicAggregatedInfoResponse Container for the aggregated user information response

type PublicAggregatedInfoUiUserAvatar

type PublicAggregatedInfoUiUserAvatar struct {
	Height *int `json:"height,omitempty"`

	// Type Type of avatar image
	Type  *PublicAggregatedInfoUiUserAvatarType `json:"type,omitempty"`
	Url   *string                               `json:"url,omitempty"`
	Width *int                                  `json:"width,omitempty"`
}

PublicAggregatedInfoUiUserAvatar defines model for PublicAggregatedInfoUiUserAvatar.

type PublicAggregatedInfoUiUserAvatarType

type PublicAggregatedInfoUiUserAvatarType string

PublicAggregatedInfoUiUserAvatarType Type of avatar image

const (
	PublicAggregatedInfoUiUserAvatarTypeOriginal        PublicAggregatedInfoUiUserAvatarType = "Original"
	PublicAggregatedInfoUiUserAvatarTypeOriginalCropped PublicAggregatedInfoUiUserAvatarType = "OriginalCropped"
	PublicAggregatedInfoUiUserAvatarTypeResized         PublicAggregatedInfoUiUserAvatarType = "Resized"
	PublicAggregatedInfoUiUserAvatarTypeRetouched       PublicAggregatedInfoUiUserAvatarType = "Retouched"
)

Defines values for PublicAggregatedInfoUiUserAvatarType.

func (PublicAggregatedInfoUiUserAvatarType) Valid

Valid indicates whether the value is a known member of the PublicAggregatedInfoUiUserAvatarType enum.

type PublicAggregatedInfoUiUserBio

type PublicAggregatedInfoUiUserBio struct {
	// AboutMe User's full about me text
	AboutMe *string `json:"aboutMe,omitempty"`

	// AboutMeShort Short summary of user's about me text
	AboutMeShort *string `json:"aboutMeShort,omitempty"`
	Gcid         *int    `json:"gcid,omitempty"`
	LanguageCode *string `json:"languageCode,omitempty"`

	// StrategyID ID of the user's trading strategy
	StrategyID *int `json:"strategyID,omitempty"`
}

PublicAggregatedInfoUiUserBio defines model for PublicAggregatedInfoUiUserBio.

type PublicAggregatedInfoUser

type PublicAggregatedInfoUser struct {
	// AboutMe User's full about me text
	AboutMe *string `json:"aboutMe,omitempty"`

	// AboutMeShort Short summary of user's about me text
	AboutMeShort *string `json:"aboutMeShort,omitempty"`

	// AccountStatus Current account status code indicating active, suspended, or other states
	AccountStatus *int `json:"accountStatus,omitempty"`
	AccountType   *int `json:"accountType,omitempty"`

	// AllowDisplayFullName Indicates whether the user has consented to displaying their full name publicly
	AllowDisplayFullName *bool                               `json:"allowDisplayFullName,omitempty"`
	Avatars              *[]PublicAggregatedInfoUiUserAvatar `json:"avatars,omitempty"`

	// Country User's registered country ID based on system country codes
	Country *int `json:"country,omitempty"`

	// CustomerRestrictions List of customer restrictions applied to the account
	CustomerRestrictions *[]struct {
		// CID Customer ID
		CID *int `json:"CID,omitempty"`

		// Occured When the restriction occurred
		Occured *time.Time `json:"occured,omitempty"`

		// ReasonID Reason for restriction
		ReasonID *int `json:"reasonID,omitempty"`

		// RestrictionTypeID Type of restriction
		RestrictionTypeID *int `json:"restrictionTypeID,omitempty"`
	} `json:"customerRestrictions,omitempty"`

	// DemoCID Customer ID for demo/practice account if available
	DemoCID *int `json:"demoCID,omitempty"`

	// FirstName User's first name (visible if allowDisplayFullName is true)
	FirstName *string `json:"firstName,omitempty"`
	FundType  *string `json:"fundType,omitempty"`

	// Gcid Global Customer ID - Unique identifier across all systems
	Gcid     *int `json:"gcid,omitempty"`
	GdprInfo *struct {
		AccountStatus      *PublicAggregatedInfoAccountStatus      `json:"accountStatus,omitempty"`
		PlayerStatus       *PublicAggregatedInfoPlayerStatus       `json:"playerStatus,omitempty"`
		PlayerStatusReason *PublicAggregatedInfoPlayerStatusReason `json:"playerStatusReason,omitempty"`
	} `json:"gdprInfo,omitempty"`
	Homepage *int `json:"homepage,omitempty"`

	// IsPi Indicates if user is a Professional Investor with special privileges
	IsPi       *bool `json:"isPi,omitempty"`
	IsVerified *bool `json:"isVerified,omitempty"`

	// Language User's preferred language ID based on system language codes
	Language *int `json:"language,omitempty"`

	// LanguageIsoCode ISO 639-1 language code for user's preferred language
	LanguageIsoCode *string `json:"languageIsoCode,omitempty"`

	// LastName User's last name (visible if allowDisplayFullName is true)
	LastName         *string `json:"lastName,omitempty"`
	MasterAccountCid *int    `json:"masterAccountCid,omitempty"`

	// MiddleName User's middle name
	MiddleName *string `json:"middleName,omitempty"`

	// OptOut Indicates if user has opted out of public profile features
	OptOut       *bool `json:"optOut,omitempty"`
	PiLevel      *int  `json:"piLevel,omitempty"`
	PlayerStatus *int  `json:"playerStatus,omitempty"`

	// RealCID Customer ID for real trading account
	RealCID           *int                           `json:"realCID,omitempty"`
	UserBio           *PublicAggregatedInfoUiUserBio `json:"userBio,omitempty"`
	UserFlowSignature *string                        `json:"userFlowSignature,omitempty"`

	// Username Unique username identifier for the user
	Username *string `json:"username,omitempty"`

	// VerificationLevel User's current verification level (0-3, where 3 is fully verified)
	VerificationLevel *int `json:"verificationLevel,omitempty"`

	// WhiteLabel White label partner identifier if user belongs to a partner program
	WhiteLabel *int `json:"whiteLabel,omitempty"`
}

PublicAggregatedInfoUser Comprehensive user profile information including account details, verification status, and preferences

type PutWatchlistsByWatchlistIdItemsJSONBody

type PutWatchlistsByWatchlistIdItemsJSONBody = []WatchlistItemDto

PutWatchlistsByWatchlistIdItemsJSONBody defines parameters for PutWatchlistsByWatchlistIdItems.

type PutWatchlistsByWatchlistIdItemsJSONRequestBody

type PutWatchlistsByWatchlistIdItemsJSONRequestBody = PutWatchlistsByWatchlistIdItemsJSONBody

PutWatchlistsByWatchlistIdItemsJSONRequestBody defines body for PutWatchlistsByWatchlistIdItems for application/json ContentType.

type PutWatchlistsByWatchlistIdItemsParams

type PutWatchlistsByWatchlistIdItemsParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

PutWatchlistsByWatchlistIdItemsParams defines parameters for PutWatchlistsByWatchlistIdItems.

type PutWatchlistsByWatchlistIdItemsResponse

type PutWatchlistsByWatchlistIdItemsResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// Headers204 the parsed response headers for an HTTP 204 response
	Headers204 *PutWatchlistsByWatchlistIdItemsResponse204Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *PutWatchlistsByWatchlistIdItemsResponse429Headers
}

func ParsePutWatchlistsByWatchlistIdItemsResponse

func ParsePutWatchlistsByWatchlistIdItemsResponse(rsp *http.Response) (*PutWatchlistsByWatchlistIdItemsResponse, error)

ParsePutWatchlistsByWatchlistIdItemsResponse parses an HTTP response from a PutWatchlistsByWatchlistIdItemsWithResponse call

func (PutWatchlistsByWatchlistIdItemsResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (PutWatchlistsByWatchlistIdItemsResponse) GetBody

GetBody returns the raw response body bytes

func (PutWatchlistsByWatchlistIdItemsResponse) Status

Status returns HTTPResponse.Status

func (PutWatchlistsByWatchlistIdItemsResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type PutWatchlistsByWatchlistIdItemsResponse204Headers

type PutWatchlistsByWatchlistIdItemsResponse204Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

PutWatchlistsByWatchlistIdItemsResponse204Headers the declared response headers of an HTTP 204 response for PutWatchlistsByWatchlistIdItems

type PutWatchlistsByWatchlistIdItemsResponse429Headers

type PutWatchlistsByWatchlistIdItemsResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

PutWatchlistsByWatchlistIdItemsResponse429Headers the declared response headers of an HTTP 429 response for PutWatchlistsByWatchlistIdItems

type PutWatchlistsByWatchlistIdParams

type PutWatchlistsByWatchlistIdParams struct {
	// NewName New name for the watchlist
	NewName string `form:"newName" json:"newName"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

PutWatchlistsByWatchlistIdParams defines parameters for PutWatchlistsByWatchlistId.

type PutWatchlistsByWatchlistIdResponse

type PutWatchlistsByWatchlistIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// Headers204 the parsed response headers for an HTTP 204 response
	Headers204 *PutWatchlistsByWatchlistIdResponse204Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *PutWatchlistsByWatchlistIdResponse429Headers
}

func ParsePutWatchlistsByWatchlistIdResponse

func ParsePutWatchlistsByWatchlistIdResponse(rsp *http.Response) (*PutWatchlistsByWatchlistIdResponse, error)

ParsePutWatchlistsByWatchlistIdResponse parses an HTTP response from a PutWatchlistsByWatchlistIdWithResponse call

func (PutWatchlistsByWatchlistIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (PutWatchlistsByWatchlistIdResponse) GetBody

GetBody returns the raw response body bytes

func (PutWatchlistsByWatchlistIdResponse) Status

Status returns HTTPResponse.Status

func (PutWatchlistsByWatchlistIdResponse) StatusCode

func (r PutWatchlistsByWatchlistIdResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type PutWatchlistsByWatchlistIdResponse204Headers

type PutWatchlistsByWatchlistIdResponse204Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

PutWatchlistsByWatchlistIdResponse204Headers the declared response headers of an HTTP 204 response for PutWatchlistsByWatchlistId

type PutWatchlistsByWatchlistIdResponse429Headers

type PutWatchlistsByWatchlistIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

PutWatchlistsByWatchlistIdResponse429Headers the declared response headers of an HTTP 429 response for PutWatchlistsByWatchlistId

type PutWatchlistsRankByWatchlistIdParams

type PutWatchlistsRankByWatchlistIdParams struct {
	// NewRank New rank position for the watchlist
	NewRank int32 `form:"newRank" json:"newRank"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

PutWatchlistsRankByWatchlistIdParams defines parameters for PutWatchlistsRankByWatchlistId.

type PutWatchlistsRankByWatchlistIdResponse

type PutWatchlistsRankByWatchlistIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// Headers204 the parsed response headers for an HTTP 204 response
	Headers204 *PutWatchlistsRankByWatchlistIdResponse204Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *PutWatchlistsRankByWatchlistIdResponse429Headers
}

func ParsePutWatchlistsRankByWatchlistIdResponse

func ParsePutWatchlistsRankByWatchlistIdResponse(rsp *http.Response) (*PutWatchlistsRankByWatchlistIdResponse, error)

ParsePutWatchlistsRankByWatchlistIdResponse parses an HTTP response from a PutWatchlistsRankByWatchlistIdWithResponse call

func (PutWatchlistsRankByWatchlistIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (PutWatchlistsRankByWatchlistIdResponse) GetBody

GetBody returns the raw response body bytes

func (PutWatchlistsRankByWatchlistIdResponse) Status

Status returns HTTPResponse.Status

func (PutWatchlistsRankByWatchlistIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type PutWatchlistsRankByWatchlistIdResponse204Headers

type PutWatchlistsRankByWatchlistIdResponse204Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

PutWatchlistsRankByWatchlistIdResponse204Headers the declared response headers of an HTTP 204 response for PutWatchlistsRankByWatchlistId

type PutWatchlistsRankByWatchlistIdResponse429Headers

type PutWatchlistsRankByWatchlistIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

PutWatchlistsRankByWatchlistIdResponse429Headers the declared response headers of an HTTP 429 response for PutWatchlistsRankByWatchlistId

type PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdParams

type PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdParams defines parameters for PutWatchlistsSetUserSelectedUserDefaultByWatchlistId.

type PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse

type PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse429Headers
}

func ParsePutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse

func ParsePutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse(rsp *http.Response) (*PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse, error)

ParsePutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse parses an HTTP response from a PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdWithResponse call

func (PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse) GetBody

GetBody returns the raw response body bytes

func (PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse) Status

Status returns HTTPResponse.Status

func (PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse200Headers

type PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse200Headers the declared response headers of an HTTP 200 response for PutWatchlistsSetUserSelectedUserDefaultByWatchlistId

type PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse429Headers

type PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

PutWatchlistsSetUserSelectedUserDefaultByWatchlistIdResponse429Headers the declared response headers of an HTTP 429 response for PutWatchlistsSetUserSelectedUserDefaultByWatchlistId

type RankItem

type RankItem struct {
	ActiveWeeks      *int     `json:"activeWeeks,omitempty"`
	ActiveWeeksPct   *float32 `json:"activeWeeksPct,omitempty"`
	AnnualizedReturn *float32 `json:"annualizedReturn,omitempty"`
	AumTier          *int     `json:"aumTier,omitempty"`
	AumTierDesc      *string  `json:"aumTierDesc,omitempty"`
	AumValue         *float32 `json:"aumValue,omitempty"`

	// AvatarUrl Avatar image URL; omitted when no avatar is set.
	AvatarUrl       *string  `json:"avatarUrl,omitempty"`
	AvgPosSize      *float32 `json:"avgPosSize,omitempty"`
	BaseLineCopiers *int     `json:"baseLineCopiers,omitempty"`

	// Cid Public customer ID (Gcid).
	Cid               *int     `json:"cid,omitempty"`
	CopiedTrades      *int     `json:"copiedTrades,omitempty"`
	Copiers           *int     `json:"copiers,omitempty"`
	CopiersGain       *float32 `json:"copiersGain,omitempty"`
	CopyInvestmentPct *float32 `json:"copyInvestmentPct,omitempty"`
	CopyTradesPct     *float32 `json:"copyTradesPct,omitempty"`

	// Country ISO 3166-1 alpha-2 country code; omitted for Smart Portfolios and for unmapped country IDs.
	Country       *string    `json:"country,omitempty"`
	DailyDD       *float32   `json:"dailyDD,omitempty"`
	DailyGain     *float32   `json:"dailyGain,omitempty"`
	Exposure      *float32   `json:"exposure,omitempty"`
	FirstActivity *time.Time `json:"firstActivity,omitempty"`
	FiveYearGain  *float32   `json:"fiveYearGain,omitempty"`

	// FullName Display name; omitted when the investor has not opted in to public name display.
	FullName *string `json:"fullName,omitempty"`

	// Gain Gain over the requested period as a decimal fraction (0.1234 = 12.34%).
	Gain            *float32 `json:"gain,omitempty"`
	HighLeveragePct *float32 `json:"highLeveragePct,omitempty"`

	// IndustryTags Resolved industry tag names. Always present; empty array when the investor has no industry tags.
	IndustryTags        *[]string  `json:"industryTags,omitempty"`
	LastActivity        *time.Time `json:"lastActivity,omitempty"`
	LongPosPct          *float32   `json:"longPosPct,omitempty"`
	LowLeveragePct      *float32   `json:"lowLeveragePct,omitempty"`
	MaxDailyRiskScore   *int       `json:"maxDailyRiskScore,omitempty"`
	MaxMonthlyRiskScore *int       `json:"maxMonthlyRiskScore,omitempty"`
	MediumLeveragePct   *float32   `json:"mediumLeveragePct,omitempty"`
	OptimalCopyPosSize  *float32   `json:"optimalCopyPosSize,omitempty"`
	PeakToValley        *float32   `json:"peakToValley,omitempty"`
	PeakToValleyEnd     *time.Time `json:"peakToValleyEnd,omitempty"`
	PeakToValleyStart   *time.Time `json:"peakToValleyStart,omitempty"`
	ProfitableMonthsPct *float32   `json:"profitableMonthsPct,omitempty"`
	ProfitableWeeksPct  *float32   `json:"profitableWeeksPct,omitempty"`

	// RiskScore Current risk score (1-10).
	RiskScore *int `json:"riskScore,omitempty"`

	// SectorTags Resolved sector tag names. Always present; empty array when the investor has no sector tags.
	SectorTags *[]string `json:"sectorTags,omitempty"`

	// SubType Detail within the primary type. PI tier slug for traders; fund strategy for smart portfolios.
	SubType                *RankItemSubType `json:"subType,omitempty"`
	TenYearGain            *float32         `json:"tenYearGain,omitempty"`
	ThisWeekGain           *float32         `json:"thisWeekGain,omitempty"`
	TopTradedAssetClassId  *int             `json:"topTradedAssetClassId,omitempty"`
	TopTradedInstrumentId  *int             `json:"topTradedInstrumentId,omitempty"`
	TopTradedInstrumentPct *float32         `json:"topTradedInstrumentPct,omitempty"`
	TotalTradedInstruments *int             `json:"totalTradedInstruments,omitempty"`
	Trades                 *int             `json:"trades,omitempty"`

	// Type Primary portfolio category.
	Type                   *RankItemType `json:"type,omitempty"`
	Username               *string       `json:"username,omitempty"`
	Velocity               *float32      `json:"velocity,omitempty"`
	VirtualCopiers         *int          `json:"virtualCopiers,omitempty"`
	WeeklyDD               *float32      `json:"weeklyDD,omitempty"`
	WeeksSinceRegistration *int          `json:"weeksSinceRegistration,omitempty"`

	// WinRatio Share of profitable closed trades, as a percentage 0-100 (60.91 = 60.91%).
	WinRatio *float32 `json:"winRatio,omitempty"`
}

RankItem A single investor ranking row. Identity fields come from PublicAggregatedInfo (GDPR-safe); performance fields come from RankingsAPI and are period-scoped. Nullable identity fields are omitted from the body when their condition is not met.

type RankItemSubType

type RankItemSubType string

RankItemSubType Detail within the primary type. PI tier slug for traders; fund strategy for smart portfolios.

const (
	RankItemSubTypeMarket       RankItemSubType = "market"
	RankItemSubTypePartners     RankItemSubType = "partners"
	RankItemSubTypePiCadet      RankItemSubType = "pi-cadet"
	RankItemSubTypePiCertified  RankItemSubType = "pi-certified"
	RankItemSubTypePiChampion   RankItemSubType = "pi-champion"
	RankItemSubTypePiElite      RankItemSubType = "pi-elite"
	RankItemSubTypePiElitePro   RankItemSubType = "pi-elite-pro"
	RankItemSubTypePiRisingStar RankItemSubType = "pi-rising-star"
	RankItemSubTypeTopTraders   RankItemSubType = "top-traders"
)

Defines values for RankItemSubType.

func (RankItemSubType) Valid

func (e RankItemSubType) Valid() bool

Valid indicates whether the value is a known member of the RankItemSubType enum.

type RankItemType

type RankItemType string

RankItemType Primary portfolio category.

const (
	RankItemTypeSmartPortfolio RankItemType = "smart-portfolio"
	RankItemTypeTrader         RankItemType = "trader"
)

Defines values for RankItemType.

func (RankItemType) Valid

func (e RankItemType) Valid() bool

Valid indicates whether the value is a known member of the RankItemType enum.

type RankingSummaryResponse

type RankingSummaryResponse struct {
	Items *[]struct {
		// Key Resolved sector or industry name.
		Key        *string `json:"key,omitempty"`
		Portfolios *int    `json:"portfolios,omitempty"`
	} `json:"items,omitempty"`
	UniquePortfolios *int `json:"uniquePortfolios,omitempty"`
}

RankingSummaryResponse defines model for RankingSummaryResponse.

type RankingTagsResponse

type RankingTagsResponse struct {
	Results []struct {
		// Id Public tag identifier (TagId).
		Id int `json:"id"`

		// Name Resolved tag name (e.g. "Technology").
		Name string `json:"name"`

		// Type Tag dimension.
		Type RankingTagsResponseResultsType `json:"type"`
	} `json:"results"`
}

RankingTagsResponse defines model for RankingTagsResponse.

type RankingTagsResponseResultsType

type RankingTagsResponseResultsType string

RankingTagsResponseResultsType Tag dimension.

const (
	RankingTagsResponseResultsTypeIndustry RankingTagsResponseResultsType = "industry"
	RankingTagsResponseResultsTypeSector   RankingTagsResponseResultsType = "sector"
)

Defines values for RankingTagsResponseResultsType.

func (RankingTagsResponseResultsType) Valid

Valid indicates whether the value is a known member of the RankingTagsResponseResultsType enum.

type RankingsError

type RankingsError struct {
	Error *struct {
		Code    *string `json:"code,omitempty"`
		Details *string `json:"details,omitempty"`
		Field   *string `json:"field,omitempty"`
		Message *string `json:"message,omitempty"`
		Value   *string `json:"value,omitempty"`
	} `json:"error,omitempty"`
	RequestId *string    `json:"requestId,omitempty"`
	Success   *bool      `json:"success,omitempty"`
	Timestamp *time.Time `json:"timestamp,omitempty"`
}

RankingsError defines model for RankingsError.

type RankingsListResponse

type RankingsListResponse struct {
	Pagination struct {
		HasNext  bool `json:"hasNext"`
		Page     int  `json:"page"`
		PageSize int  `json:"pageSize"`

		// TotalItems Total matching investors (may be omitted for performance on very large result sets).
		TotalItems *int `json:"totalItems,omitempty"`
	} `json:"pagination"`
	Results []RankItem `json:"results"`
}

RankingsListResponse defines model for RankingsListResponse.

type RankingsMultipleResponse

type RankingsMultipleResponse struct {
	Results []RankingsMultipleResponseItem `json:"results"`
}

RankingsMultipleResponse defines model for RankingsMultipleResponse.

type RankingsMultipleResponseItem

type RankingsMultipleResponseItem struct {
	Cid      *int    `json:"cid,omitempty"`
	Username *string `json:"username,omitempty"`

	// Value A single investor ranking row. Identity fields come from PublicAggregatedInfo (GDPR-safe); performance fields come from RankingsAPI and are period-scoped. Nullable identity fields are omitted from the body when their condition is not met.
	Value *RankItem `json:"value,omitempty"`
}

RankingsMultipleResponseItem defines model for RankingsMultipleResponseItem.

type Rate

type Rate struct {
	// Ask Current ask price
	Ask *float64 `json:"ask,omitempty"`

	// Bid Current bid price
	Bid *float64 `json:"bid,omitempty"`

	// Date UTC timestamp of the rate
	Date *time.Time `json:"date,omitempty"`

	// InstrumentId Instrument identifier
	InstrumentId *int `json:"instrumentId,omitempty"`

	// QuoteType Whether the rate is realtime or delayed
	QuoteType *RateQuoteType `json:"quoteType,omitempty"`
}

Rate Bid/ask rate for a single instrument

type RateQuoteType

type RateQuoteType string

RateQuoteType Whether the rate is realtime or delayed

const (
	RateQuoteTypeDelayed  RateQuoteType = "delayed"
	RateQuoteTypeRealtime RateQuoteType = "realtime"
)

Defines values for RateQuoteType.

func (RateQuoteType) Valid

func (e RateQuoteType) Valid() bool

Valid indicates whether the value is a known member of the RateQuoteType enum.

type RatesResponse

type RatesResponse struct {
	// Results Rates for the requested instruments, in request order.
	Results *[]Rate `json:"results,omitempty"`
}

RatesResponse Rates for the requested instruments.

type RegisterCopyTradingDemoJSONRequestBody

type RegisterCopyTradingDemoJSONRequestBody = CopyTradingRegisterRequest

RegisterCopyTradingDemoJSONRequestBody defines body for RegisterCopyTradingDemo for application/json ContentType.

type RegisterCopyTradingDemoParams

type RegisterCopyTradingDemoParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

RegisterCopyTradingDemoParams defines parameters for RegisterCopyTradingDemo.

type RegisterCopyTradingDemoResponse

type RegisterCopyTradingDemoResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *TokenedResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *CopyTradingErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *GatewayErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *GatewayErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *GatewayErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *RegisterCopyTradingDemoResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *RegisterCopyTradingDemoResponse429Headers
}

func ParseRegisterCopyTradingDemoResponse

func ParseRegisterCopyTradingDemoResponse(rsp *http.Response) (*RegisterCopyTradingDemoResponse, error)

ParseRegisterCopyTradingDemoResponse parses an HTTP response from a RegisterCopyTradingDemoWithResponse call

func (RegisterCopyTradingDemoResponse) ContentType

func (r RegisterCopyTradingDemoResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (RegisterCopyTradingDemoResponse) GetBody

func (r RegisterCopyTradingDemoResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (RegisterCopyTradingDemoResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (RegisterCopyTradingDemoResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (RegisterCopyTradingDemoResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (RegisterCopyTradingDemoResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (RegisterCopyTradingDemoResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (RegisterCopyTradingDemoResponse) Status

Status returns HTTPResponse.Status

func (RegisterCopyTradingDemoResponse) StatusCode

func (r RegisterCopyTradingDemoResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type RegisterCopyTradingDemoResponse200Headers

type RegisterCopyTradingDemoResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

RegisterCopyTradingDemoResponse200Headers the declared response headers of an HTTP 200 response for RegisterCopyTradingDemo

type RegisterCopyTradingDemoResponse429Headers

type RegisterCopyTradingDemoResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

RegisterCopyTradingDemoResponse429Headers the declared response headers of an HTTP 429 response for RegisterCopyTradingDemo

type RegisterCopyTradingJSONRequestBody

type RegisterCopyTradingJSONRequestBody = CopyTradingRegisterRequest

RegisterCopyTradingJSONRequestBody defines body for RegisterCopyTrading for application/json ContentType.

type RegisterCopyTradingParams

type RegisterCopyTradingParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

RegisterCopyTradingParams defines parameters for RegisterCopyTrading.

type RegisterCopyTradingResponse

type RegisterCopyTradingResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *TokenedResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *CopyTradingErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *GatewayErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *GatewayErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *GatewayErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *RegisterCopyTradingResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *RegisterCopyTradingResponse429Headers
}

func ParseRegisterCopyTradingResponse

func ParseRegisterCopyTradingResponse(rsp *http.Response) (*RegisterCopyTradingResponse, error)

ParseRegisterCopyTradingResponse parses an HTTP response from a RegisterCopyTradingWithResponse call

func (RegisterCopyTradingResponse) ContentType

func (r RegisterCopyTradingResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (RegisterCopyTradingResponse) GetBody

func (r RegisterCopyTradingResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (RegisterCopyTradingResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (RegisterCopyTradingResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (RegisterCopyTradingResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (RegisterCopyTradingResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (RegisterCopyTradingResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (RegisterCopyTradingResponse) Status

Status returns HTTPResponse.Status

func (RegisterCopyTradingResponse) StatusCode

func (r RegisterCopyTradingResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type RegisterCopyTradingResponse200Headers

type RegisterCopyTradingResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

RegisterCopyTradingResponse200Headers the declared response headers of an HTTP 200 response for RegisterCopyTrading

type RegisterCopyTradingResponse429Headers

type RegisterCopyTradingResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

RegisterCopyTradingResponse429Headers the declared response headers of an HTTP 429 response for RegisterCopyTrading

type RequestEditorFn

type RequestEditorFn func(ctx context.Context, req *http.Request) error

RequestEditorFn is the function signature for the RequestEditor callback function

type RotateApplicationsClientSecretByClientIdParams

type RotateApplicationsClientSecretByClientIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

RotateApplicationsClientSecretByClientIdParams defines parameters for RotateApplicationsClientSecretByClientId.

type RotateApplicationsClientSecretByClientIdResponse

type RotateApplicationsClientSecretByClientIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *RotateClientSecretResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *StsMetadataFrontApiErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *RotateApplicationsClientSecretByClientIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *RotateApplicationsClientSecretByClientIdResponse429Headers
}

func ParseRotateApplicationsClientSecretByClientIdResponse

func ParseRotateApplicationsClientSecretByClientIdResponse(rsp *http.Response) (*RotateApplicationsClientSecretByClientIdResponse, error)

ParseRotateApplicationsClientSecretByClientIdResponse parses an HTTP response from a RotateApplicationsClientSecretByClientIdWithResponse call

func (RotateApplicationsClientSecretByClientIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (RotateApplicationsClientSecretByClientIdResponse) GetBody

GetBody returns the raw response body bytes

func (RotateApplicationsClientSecretByClientIdResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (RotateApplicationsClientSecretByClientIdResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (RotateApplicationsClientSecretByClientIdResponse) Status

Status returns HTTPResponse.Status

func (RotateApplicationsClientSecretByClientIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type RotateApplicationsClientSecretByClientIdResponse200Headers

type RotateApplicationsClientSecretByClientIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

RotateApplicationsClientSecretByClientIdResponse200Headers the declared response headers of an HTTP 200 response for RotateApplicationsClientSecretByClientId

type RotateApplicationsClientSecretByClientIdResponse429Headers

type RotateApplicationsClientSecretByClientIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

RotateApplicationsClientSecretByClientIdResponse429Headers the declared response headers of an HTTP 429 response for RotateApplicationsClientSecretByClientId

type RotateClientSecretResponse

type RotateClientSecretResponse struct {
	// ClientId OAuth client identifier of the application whose secret was replaced. Unchanged by the rotation.
	ClientId *openapi_types.UUID `json:"clientId,omitempty"`

	// ClientSecret The new OAuth client secret. Returned exactly once and never again - store it securely. The previous secret is already invalid.
	ClientSecret *openapi_types.UUID `json:"clientSecret,omitempty"`
}

RotateClientSecretResponse defines model for RotateClientSecretResponse.

type ScopeItem

type ScopeItem struct {
	// IsMandatory When true, the user cannot deselect this scope on the consent screen.
	IsMandatory bool `json:"isMandatory"`

	// ScopeId Scope identifier. Must be a known scope from `GET /api/v1/sso/scopes`.
	ScopeId int `json:"scopeId"`
}

ScopeItem defines model for ScopeItem.

type ScopeNameItem

type ScopeNameItem struct {
	// Name The permission scope name.
	//
	// Example: etoro-public:trade.real:read
	Name *string `json:"name,omitempty"`
}

ScopeNameItem defines model for ScopeNameItem.

type ScopeResponseItem

type ScopeResponseItem struct {
	// ScopeId Scope identifier.
	ScopeId *int `json:"scopeId,omitempty"`

	// ScopeName Machine-readable scope name (e.g. `etoro-public:sso-applications:read`).
	ScopeName *string `json:"scopeName,omitempty"`
}

ScopeResponseItem defines model for ScopeResponseItem.

type SearchInstrumentsResponse

type SearchInstrumentsResponse struct {
	// Results Relevance-ranked matching instruments
	Results *[]InstrumentSchema2 `json:"results,omitempty"`
}

SearchInstrumentsResponse Free-text instrument search results. Note: unlike /instruments, this endpoint wraps results under a `results` key rather than `instruments` -- a genuine naming inconsistency between the two upstream endpoints, documented as-is rather than normalized here since neither endpoint is owned by this gateway.

type SearchPortfoliosParams

type SearchPortfoliosParams struct {
	// Type Portfolio type to search.
	Type SearchPortfoliosParamsType `form:"type" json:"type"`

	// Query Free-text search string.
	Query string `form:"query" json:"query"`

	// Limit Maximum number of results to return.
	Limit *int `form:"limit,omitempty" json:"limit,omitempty"`

	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

SearchPortfoliosParams defines parameters for SearchPortfolios.

type SearchPortfoliosParamsType

type SearchPortfoliosParamsType string

SearchPortfoliosParamsType defines parameters for SearchPortfolios.

const (
	SearchPortfoliosParamsTypeSmartPortfolio SearchPortfoliosParamsType = "smart-portfolio"
	SearchPortfoliosParamsTypeTrader         SearchPortfoliosParamsType = "trader"
)

Defines values for SearchPortfoliosParamsType.

func (SearchPortfoliosParamsType) Valid

func (e SearchPortfoliosParamsType) Valid() bool

Valid indicates whether the value is a known member of the SearchPortfoliosParamsType enum.

type SearchPortfoliosResponse

type SearchPortfoliosResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *PortfolioSearchResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *PortfolioSearchBffApiError
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *PortfolioSearchBffApiError
	// JSON502 the response for an HTTP 502 `application/json` response
	JSON502 *PortfolioSearchBffApiError
	// JSON504 the response for an HTTP 504 `application/json` response
	JSON504 *PortfolioSearchBffApiError
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *SearchPortfoliosResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *SearchPortfoliosResponse429Headers
}

func ParseSearchPortfoliosResponse

func ParseSearchPortfoliosResponse(rsp *http.Response) (*SearchPortfoliosResponse, error)

ParseSearchPortfoliosResponse parses an HTTP response from a SearchPortfoliosWithResponse call

func (SearchPortfoliosResponse) ContentType

func (r SearchPortfoliosResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (SearchPortfoliosResponse) GetBody

func (r SearchPortfoliosResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (SearchPortfoliosResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (SearchPortfoliosResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (SearchPortfoliosResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (SearchPortfoliosResponse) GetJSON502

GetJSON502 returns the response for an HTTP 502 `application/json` response

func (SearchPortfoliosResponse) GetJSON504

GetJSON504 returns the response for an HTTP 504 `application/json` response

func (SearchPortfoliosResponse) Status

func (r SearchPortfoliosResponse) Status() string

Status returns HTTPResponse.Status

func (SearchPortfoliosResponse) StatusCode

func (r SearchPortfoliosResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type SearchPortfoliosResponse200Headers

type SearchPortfoliosResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

SearchPortfoliosResponse200Headers the declared response headers of an HTTP 200 response for SearchPortfolios

type SearchPortfoliosResponse429Headers

type SearchPortfoliosResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

SearchPortfoliosResponse429Headers the declared response headers of an HTTP 429 response for SearchPortfolios

type SiblingData

type SiblingData struct {
	// HasSibling Whether the instrument has a sibling instrument.
	HasSibling *bool `json:"hasSibling,omitempty"`

	// IsExtendedHoursInstrument Whether the instrument trades in extended hours.
	IsExtendedHoursInstrument *bool `json:"isExtendedHoursInstrument,omitempty"`

	// SiblingInstrumentId Id of the sibling instrument, when present.
	SiblingInstrumentId *int32 `json:"siblingInstrumentId,omitempty"`
}

SiblingData Sibling instrument information.

type SmartPortfolioEnrichData

type SmartPortfolioEnrichData struct {
	// Cid Customer id of the smart portfolio.
	//
	// Example: 12345
	Cid *int32 `json:"Cid,omitempty"`

	// Avatar Instrument or user avatar in multiple sizes.
	Avatar *WatchlistApiAvatar `json:"avatar,omitempty"`

	// ChangePercentage1M Performance change over the last month.
	ChangePercentage1M *float64 `json:"changePercentage1M,omitempty"`

	// ChangePercentage1Y Performance change over the last year.
	ChangePercentage1Y *float64 `json:"changePercentage1Y,omitempty"`

	// ChangePercentage3M Performance change over the last 3 months.
	ChangePercentage3M *float64 `json:"changePercentage3M,omitempty"`

	// ChangePercentage6M Performance change over the last 6 months.
	ChangePercentage6M *float64 `json:"changePercentage6M,omitempty"`

	// FullName Full display name of the smart portfolio.
	FullName *string `json:"fullName,omitempty"`

	// InvestorsCount Number of investors in the smart portfolio.
	InvestorsCount *int32 `json:"investorsCount,omitempty"`

	// IsPi Whether the smart portfolio owner is a Popular Investor.
	IsPi *bool `json:"isPi,omitempty"`

	// Return1M Return over the last month.
	Return1M *float64 `json:"return1M,omitempty"`

	// Return1Y Return over the last year.
	Return1Y *float64 `json:"return1Y,omitempty"`

	// Return3M Return over the last 3 months.
	Return3M *float64 `json:"return3M,omitempty"`

	// Return6M Return over the last 6 months.
	Return6M *float64 `json:"return6M,omitempty"`

	// RiskScore1M Risk score over the last month.
	RiskScore1M *int32 `json:"riskScore1M,omitempty"`

	// RiskScore1Y Risk score over the last year.
	RiskScore1Y *int32 `json:"riskScore1Y,omitempty"`

	// RiskScore3M Risk score over the last 3 months.
	RiskScore3M *int32 `json:"riskScore3M,omitempty"`

	// RiskScore6M Risk score over the last 6 months.
	RiskScore6M *int32 `json:"riskScore6M,omitempty"`

	// Username Smart portfolio name.
	//
	// Example: TechLeaders
	Username *string `json:"username,omitempty"`
}

SmartPortfolioEnrichData Enrichment data for a smart portfolio referenced by a watchlist item.

type StandardErrorResponse

type StandardErrorResponse struct {
	Error struct {
		// Code Machine-readable error code.
		//
		// Example: UserNotFound
		Code string `json:"code"`

		// Field Request field associated with the error, when applicable.
		Field *string `json:"field,omitempty"`

		// Message Human-readable error message.
		//
		// Example: Username not found.
		Message string `json:"message"`
	} `json:"error"`

	// RequestId Correlation identifier for support and tracing.
	RequestId string `json:"requestId"`

	// Success Example: false
	Success bool `json:"success"`

	// Timestamp UTC timestamp when the error was generated.
	Timestamp time.Time `json:"timestamp"`
}

StandardErrorResponse Standard public API error envelope.

type StaticEligibleOffer

type StaticEligibleOffer struct {
	// DeliveryMethod Delivery method
	//
	// Example: Static
	DeliveryMethod *StaticEligibleOfferDeliveryMethod `json:"deliveryMethod,omitempty"`

	// Description Detailed offer description
	//
	// Example: Discounted assistance with preparing annual tax returns from certified tax companies in your country.
	Description *string `json:"description,omitempty"`

	// DisplayName Offer display name
	//
	// Example: Tax Return Offer
	DisplayName *string `json:"displayName,omitempty"`

	// EligibleClubLevels Club tier names eligible for this offer
	//
	// Example: ["Gold","Silver","Platinum","PlatinumPlus","Diamond"]
	EligibleClubLevels *[]StaticEligibleOfferEligibleClubLevels `json:"eligibleClubLevels,omitempty"`

	// Id Offer identifier
	//
	// Example: 80
	Id *string `json:"id,omitempty"`

	// Status Offer status
	//
	// Example: Claimed
	Status *StaticEligibleOfferStatus `json:"status,omitempty"`

	// Type Offer type
	//
	// Example: Financial
	Type *StaticEligibleOfferType `json:"type,omitempty"`
}

StaticEligibleOffer An offer eligible across specific club tiers

type StaticEligibleOfferDeliveryMethod

type StaticEligibleOfferDeliveryMethod string

StaticEligibleOfferDeliveryMethod Delivery method

Example: Static

const (
	StaticEligibleOfferDeliveryMethodAPI              StaticEligibleOfferDeliveryMethod = "API"
	StaticEligibleOfferDeliveryMethodInventoryManaged StaticEligibleOfferDeliveryMethod = "Inventory Managed"
	StaticEligibleOfferDeliveryMethodOnDemand         StaticEligibleOfferDeliveryMethod = "On-demand"
	StaticEligibleOfferDeliveryMethodStatic           StaticEligibleOfferDeliveryMethod = "Static"
)

Defines values for StaticEligibleOfferDeliveryMethod.

func (StaticEligibleOfferDeliveryMethod) Valid

Valid indicates whether the value is a known member of the StaticEligibleOfferDeliveryMethod enum.

type StaticEligibleOfferEligibleClubLevels

type StaticEligibleOfferEligibleClubLevels string

StaticEligibleOfferEligibleClubLevels defines model for StaticEligibleOffer.EligibleClubLevels.

const (
	StaticEligibleOfferEligibleClubLevelsBronze       StaticEligibleOfferEligibleClubLevels = "Bronze"
	StaticEligibleOfferEligibleClubLevelsDiamond      StaticEligibleOfferEligibleClubLevels = "Diamond"
	StaticEligibleOfferEligibleClubLevelsGold         StaticEligibleOfferEligibleClubLevels = "Gold"
	StaticEligibleOfferEligibleClubLevelsInternal     StaticEligibleOfferEligibleClubLevels = "Internal"
	StaticEligibleOfferEligibleClubLevelsPlatinum     StaticEligibleOfferEligibleClubLevels = "Platinum"
	StaticEligibleOfferEligibleClubLevelsPlatinumPlus StaticEligibleOfferEligibleClubLevels = "PlatinumPlus"
	StaticEligibleOfferEligibleClubLevelsSilver       StaticEligibleOfferEligibleClubLevels = "Silver"
)

Defines values for StaticEligibleOfferEligibleClubLevels.

func (StaticEligibleOfferEligibleClubLevels) Valid

Valid indicates whether the value is a known member of the StaticEligibleOfferEligibleClubLevels enum.

type StaticEligibleOfferStatus

type StaticEligibleOfferStatus string

StaticEligibleOfferStatus Offer status

Example: Claimed

const (
	StaticEligibleOfferStatusAvailable               StaticEligibleOfferStatus = "Available"
	StaticEligibleOfferStatusClaimCancelled          StaticEligibleOfferStatus = "Claim Cancelled"
	StaticEligibleOfferStatusClaimed                 StaticEligibleOfferStatus = "Claimed"
	StaticEligibleOfferStatusExpired                 StaticEligibleOfferStatus = "Expired"
	StaticEligibleOfferStatusInventoryOrderCancelled StaticEligibleOfferStatus = "Inventory Order Cancelled"
	StaticEligibleOfferStatusPending                 StaticEligibleOfferStatus = "Pending"
	StaticEligibleOfferStatusReserved                StaticEligibleOfferStatus = "Reserved"
)

Defines values for StaticEligibleOfferStatus.

func (StaticEligibleOfferStatus) Valid

func (e StaticEligibleOfferStatus) Valid() bool

Valid indicates whether the value is a known member of the StaticEligibleOfferStatus enum.

type StaticEligibleOfferType

type StaticEligibleOfferType string

StaticEligibleOfferType Offer type

Example: Financial

const (
	StaticEligibleOfferTypeAssociationMembership StaticEligibleOfferType = "Association Membership"
	StaticEligibleOfferTypeBundle                StaticEligibleOfferType = "Bundle"
	StaticEligibleOfferTypeClientMeetup          StaticEligibleOfferType = "Client meetup"
	StaticEligibleOfferTypeEducational           StaticEligibleOfferType = "Educational"
	StaticEligibleOfferTypeEmotional             StaticEligibleOfferType = "Emotional"
	StaticEligibleOfferTypeEntertainment         StaticEligibleOfferType = "Entertainment"
	StaticEligibleOfferTypeExclusiveEvents       StaticEligibleOfferType = "Exclusive events"
	StaticEligibleOfferTypeFinancial             StaticEligibleOfferType = "Financial"
	StaticEligibleOfferTypeGiftCard              StaticEligibleOfferType = "Gift card"
	StaticEligibleOfferTypeGifts                 StaticEligibleOfferType = "Gifts"
	StaticEligibleOfferTypeNews                  StaticEligibleOfferType = "News"
	StaticEligibleOfferTypeServices              StaticEligibleOfferType = "Services"
	StaticEligibleOfferTypeSignals               StaticEligibleOfferType = "Signals"
	StaticEligibleOfferTypeTickets               StaticEligibleOfferType = "Tickets"
	StaticEligibleOfferTypeTools                 StaticEligibleOfferType = "Tools"
	StaticEligibleOfferTypeTravel                StaticEligibleOfferType = "Travel"
	StaticEligibleOfferTypeZoomMeetings          StaticEligibleOfferType = "Zoom meetings"
)

Defines values for StaticEligibleOfferType.

func (StaticEligibleOfferType) Valid

func (e StaticEligibleOfferType) Valid() bool

Valid indicates whether the value is a known member of the StaticEligibleOfferType enum.

type StatsAssetsApiError

type StatsAssetsApiError struct {
	Error *struct {
		Code    string  `json:"code"`
		Details *string `json:"details,omitempty"`
		Field   *string `json:"field,omitempty"`
		Message string  `json:"message"`
		Value   *string `json:"value,omitempty"`
	} `json:"error,omitempty"`
	RequestId string    `json:"requestId"`
	Success   bool      `json:"success"`
	Timestamp time.Time `json:"timestamp"`
}

StatsAssetsApiError defines model for StatsAssetsApi_Error.

type StatsAssetsApiRankingPeriod

type StatsAssetsApiRankingPeriod string

StatsAssetsApiRankingPeriod defines model for StatsAssetsApi_RankingPeriod.

const (
	StatsAssetsApiRankingPeriodCurrMonth      StatsAssetsApiRankingPeriod = "CurrMonth"
	StatsAssetsApiRankingPeriodCurrQuarter    StatsAssetsApiRankingPeriod = "CurrQuarter"
	StatsAssetsApiRankingPeriodCurrYear       StatsAssetsApiRankingPeriod = "CurrYear"
	StatsAssetsApiRankingPeriodLastTwoYears   StatsAssetsApiRankingPeriod = "LastTwoYears"
	StatsAssetsApiRankingPeriodLastYear       StatsAssetsApiRankingPeriod = "LastYear"
	StatsAssetsApiRankingPeriodOneMonthAgo    StatsAssetsApiRankingPeriod = "OneMonthAgo"
	StatsAssetsApiRankingPeriodOneYearAgo     StatsAssetsApiRankingPeriod = "OneYearAgo"
	StatsAssetsApiRankingPeriodSixMonthsAgo   StatsAssetsApiRankingPeriod = "SixMonthsAgo"
	StatsAssetsApiRankingPeriodThreeMonthsAgo StatsAssetsApiRankingPeriod = "ThreeMonthsAgo"
	StatsAssetsApiRankingPeriodTwoMonthsAgo   StatsAssetsApiRankingPeriod = "TwoMonthsAgo"
)

Defines values for StatsAssetsApiRankingPeriod.

func (StatsAssetsApiRankingPeriod) Valid

Valid indicates whether the value is a known member of the StatsAssetsApiRankingPeriod enum.

type StatsExposureApiError

type StatsExposureApiError struct {
	Error *struct {
		Code    string  `json:"code"`
		Details *string `json:"details,omitempty"`
		Field   *string `json:"field,omitempty"`
		Message string  `json:"message"`
		Value   *string `json:"value,omitempty"`
	} `json:"error,omitempty"`
	RequestId string    `json:"requestId"`
	Success   bool      `json:"success"`
	Timestamp time.Time `json:"timestamp"`
}

StatsExposureApiError defines model for StatsExposureApi_Error.

type StatsExposureApiRankingPeriod

type StatsExposureApiRankingPeriod string

StatsExposureApiRankingPeriod defines model for StatsExposureApi_RankingPeriod.

const (
	StatsExposureApiRankingPeriodCurrMonth      StatsExposureApiRankingPeriod = "CurrMonth"
	StatsExposureApiRankingPeriodCurrQuarter    StatsExposureApiRankingPeriod = "CurrQuarter"
	StatsExposureApiRankingPeriodCurrYear       StatsExposureApiRankingPeriod = "CurrYear"
	StatsExposureApiRankingPeriodLastTwoYears   StatsExposureApiRankingPeriod = "LastTwoYears"
	StatsExposureApiRankingPeriodLastYear       StatsExposureApiRankingPeriod = "LastYear"
	StatsExposureApiRankingPeriodOneMonthAgo    StatsExposureApiRankingPeriod = "OneMonthAgo"
	StatsExposureApiRankingPeriodOneYearAgo     StatsExposureApiRankingPeriod = "OneYearAgo"
	StatsExposureApiRankingPeriodSixMonthsAgo   StatsExposureApiRankingPeriod = "SixMonthsAgo"
	StatsExposureApiRankingPeriodThreeMonthsAgo StatsExposureApiRankingPeriod = "ThreeMonthsAgo"
	StatsExposureApiRankingPeriodTwoMonthsAgo   StatsExposureApiRankingPeriod = "TwoMonthsAgo"
)

Defines values for StatsExposureApiRankingPeriod.

func (StatsExposureApiRankingPeriod) Valid

Valid indicates whether the value is a known member of the StatsExposureApiRankingPeriod enum.

type StatsGainApiError

type StatsGainApiError struct {
	Error *struct {
		Code    *string `json:"code,omitempty"`
		Details *string `json:"details,omitempty"`
		Field   *string `json:"field,omitempty"`
		Message *string `json:"message,omitempty"`
		Value   *string `json:"value,omitempty"`
	} `json:"error,omitempty"`
	RequestId *string    `json:"requestId,omitempty"`
	Success   *bool      `json:"success,omitempty"`
	Timestamp *time.Time `json:"timestamp,omitempty"`
}

StatsGainApiError defines model for StatsGainApi_Error.

type StatsRankingsApiRankingPeriod

type StatsRankingsApiRankingPeriod string

StatsRankingsApiRankingPeriod Rolling time window over which all performance metrics are computed. Every window ends at the max date (the latest ranking refresh); examples below use a max date of 2026-07-15: * `CurrMonth` – current month to date, from the 1st of the current month. E.g. 2026-07-01 to 2026-07-15. * `CurrQuarter` – current quarter to date, from the 1st day of the current calendar quarter. E.g. 2026-07-01 to 2026-07-15. * `CurrYear` – year to date, from January 1st of the current year. E.g. 2026-01-01 to 2026-07-15. * `LastYear` – from January 1st of the previous calendar year to the max date. E.g. 2025-01-01 to 2026-07-15. * `LastTwoYears` – from January 1st two calendar years ago to the max date. E.g. 2024-01-01 to 2026-07-15. * `OneMonthAgo` – rolling ~1 month window, from the 1st of the previous month. E.g. 2026-06-01 to 2026-07-15. * `TwoMonthsAgo` – rolling ~2 month window, from the 1st of the month two months ago. E.g. 2026-05-01 to 2026-07-15. * `ThreeMonthsAgo` – rolling ~3 month window, from the 1st of the month three months ago. E.g. 2026-04-01 to 2026-07-15. * `SixMonthsAgo` – rolling ~6 month window, from the 1st of the month six months ago. E.g. 2026-01-01 to 2026-07-15. * `OneYearAgo` – rolling ~12 month window, from the 1st of the month twelve months ago. E.g. 2025-07-01 to 2026-07-15. * `AbsOneYear` – exactly one year before the max date, with no rounding to month/year start. E.g. 2025-07-15 to 2026-07-15. * `AbsTwoYears` – exactly two years before the max date, with no rounding. E.g. 2024-07-15 to 2026-07-15.

const (
	StatsRankingsApiRankingPeriodAbsOneYear     StatsRankingsApiRankingPeriod = "AbsOneYear"
	StatsRankingsApiRankingPeriodAbsTwoYears    StatsRankingsApiRankingPeriod = "AbsTwoYears"
	StatsRankingsApiRankingPeriodCurrMonth      StatsRankingsApiRankingPeriod = "CurrMonth"
	StatsRankingsApiRankingPeriodCurrQuarter    StatsRankingsApiRankingPeriod = "CurrQuarter"
	StatsRankingsApiRankingPeriodCurrYear       StatsRankingsApiRankingPeriod = "CurrYear"
	StatsRankingsApiRankingPeriodLastTwoYears   StatsRankingsApiRankingPeriod = "LastTwoYears"
	StatsRankingsApiRankingPeriodLastYear       StatsRankingsApiRankingPeriod = "LastYear"
	StatsRankingsApiRankingPeriodOneMonthAgo    StatsRankingsApiRankingPeriod = "OneMonthAgo"
	StatsRankingsApiRankingPeriodOneYearAgo     StatsRankingsApiRankingPeriod = "OneYearAgo"
	StatsRankingsApiRankingPeriodSixMonthsAgo   StatsRankingsApiRankingPeriod = "SixMonthsAgo"
	StatsRankingsApiRankingPeriodThreeMonthsAgo StatsRankingsApiRankingPeriod = "ThreeMonthsAgo"
	StatsRankingsApiRankingPeriodTwoMonthsAgo   StatsRankingsApiRankingPeriod = "TwoMonthsAgo"
)

Defines values for StatsRankingsApiRankingPeriod.

func (StatsRankingsApiRankingPeriod) Valid

Valid indicates whether the value is a known member of the StatsRankingsApiRankingPeriod enum.

type StockbackPromoStatus

type StockbackPromoStatus struct {
	// CashbackLifetimeUsd Lifetime Cashback reward earned, in USD.
	//
	// Example: 50.25
	CashbackLifetimeUsd *float64 `json:"cashbackLifetimeUsd,omitempty"`

	// CurrentClub The caller's current etoro Club tier.
	//
	// Example: Silver
	CurrentClub *string `json:"currentClub,omitempty"`

	// CurrentCountry The caller's current country.
	//
	// Example: GB
	CurrentCountry *string `json:"currentCountry,omitempty"`

	// CurrentIsPi Whether the caller is currently classified as a Professional Investor.
	//
	// Example: false
	CurrentIsPi *bool `json:"currentIsPi,omitempty"`

	// ExpectedCurrentMonthUsd Reward expected to accrue this calendar month, in USD.
	//
	// Example: 12.34
	ExpectedCurrentMonthUsd *float64 `json:"expectedCurrentMonthUsd,omitempty"`

	// IsOptedIn Whether the caller is currently opted into the StockBack promo.
	//
	// Example: true
	IsOptedIn *bool `json:"isOptedIn,omitempty"`

	// RewardChannel The channel this caller's reward is delivered through.
	//
	// Example: stockback
	RewardChannel *string `json:"rewardChannel,omitempty"`

	// SelectedStock Ticker symbol of the stock the caller selected for StockBack, if opted in.
	//
	// Example: AAPL
	SelectedStock *string `json:"selectedStock,omitempty"`

	// StockbackLifetimeUsd Lifetime StockBack reward earned, in USD.
	//
	// Example: 100.5
	StockbackLifetimeUsd *float64 `json:"stockbackLifetimeUsd,omitempty"`

	// TotalLifetimeUsd Lifetime total reward earned (StockBack + Cashback), in USD.
	//
	// Example: 150.75
	TotalLifetimeUsd *float64 `json:"totalLifetimeUsd,omitempty"`
}

StockbackPromoStatus The caller's current StockBack/Cashback promo enrollment and lifetime USD figures. Every field is nullable: a caller not (yet) enrolled in the promo still returns 200 with mostly-null values.

type StocksIndustriesResponse

type StocksIndustriesResponse struct {
	StocksIndustries *[]struct {
		IndustryID   *int    `json:"industryID,omitempty"`
		IndustryName *string `json:"industryName,omitempty"`
	} `json:"stocksIndustries,omitempty"`
}

StocksIndustriesResponse defines model for StocksIndustriesResponse.

type StsMetadataFrontApiErrorResponse

type StsMetadataFrontApiErrorResponse struct {
	// ErrorCode Machine-readable error code (e.g. `ScopeIdInvalid`, `ScopeIdsDuplicateItems`).
	ErrorCode *string `json:"errorCode,omitempty"`

	// ErrorMessage Human-readable error description.
	ErrorMessage *string `json:"errorMessage,omitempty"`
}

StsMetadataFrontApiErrorResponse defines model for StsMetadataFrontApi_ErrorResponse.

type SvgAvatar

type SvgAvatar struct {
	// BackgroundColor Background color.
	BackgroundColor *string `json:"backgroundColor,omitempty"`

	// TextColor Text color.
	TextColor *string `json:"textColor,omitempty"`

	// Url URL of the SVG avatar.
	Url *string `json:"url,omitempty"`
}

SvgAvatar SVG avatar with background and text colors.

type TimeWindow

type TimeWindow struct {
	// From Inclusive lower bound, UTC.
	From time.Time `json:"from"`

	// To Exclusive upper bound, UTC.
	To time.Time `json:"to"`
}

TimeWindow The requested time range, after defaults: [from, to).

type TokenedResponse

type TokenedResponse struct {
	// Token Correlation token for the accepted asynchronous operation.
	Token openapi_types.UUID `json:"token"`
}

TokenedResponse defines model for TokenedResponse.

type TradeButtonStatusData

type TradeButtonStatusData struct {
	// AllowClosePosition Whether closing a position is allowed.
	AllowClosePosition *bool `json:"allowClosePosition,omitempty"`

	// BuyButtonEnable Whether the buy button is enabled.
	BuyButtonEnable *bool `json:"buyButtonEnable,omitempty"`

	// InstrumentId Instrument id.
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// InstrumentMetadataSlim Slim instrument metadata used by the trade button.
	InstrumentMetadataSlim *InstrumentMetadataSlim `json:"instrumentMetadataSlim,omitempty"`

	// SellButtonEnable Whether the sell button is enabled.
	SellButtonEnable *bool `json:"sellButtonEnable,omitempty"`

	// SiblingData Sibling instrument information.
	SiblingData *SiblingData `json:"siblingData,omitempty"`

	// TradingAdditionalData Additional trading configuration for an instrument.
	TradingAdditionalData *TradingAdditionalData `json:"tradingAdditionalData,omitempty"`
}

TradeButtonStatusData Trade-button availability and trading metadata for an instrument.

type TradingAdditionalData

type TradingAdditionalData struct {
	// AllowRevolvingDoors Whether revolving-doors trading is allowed.
	AllowRevolvingDoors *bool `json:"allowRevolvingDoors,omitempty"`

	// HighLeverage High-leverage configuration, when available.
	HighLeverage *map[string]interface{} `json:"highLeverage,omitempty"`

	// LeveragesConfig Available leverage configurations.
	LeveragesConfig *[]LeverageConfig `json:"leveragesConfig,omitempty"`

	// MinExposureAmount Minimum exposure amount.
	MinExposureAmount *float64 `json:"minExposureAmount,omitempty"`

	// RequiresW8Ben Whether a W-8BEN form is required to trade.
	RequiresW8Ben *bool `json:"requiresW8Ben,omitempty"`
}

TradingAdditionalData Additional trading configuration for an instrument.

type TradingDemoAdminApiUnifiedOrderRequest

type TradingDemoAdminApiUnifiedOrderRequest struct {
	// Action The order action whether to open or close a position. Currently only `open` is supported in this endpoint.
	//
	// Example: open
	Action TradingDemoAdminApiUnifiedOrderRequestAction `json:"action"`

	// AdditionalMargin Additional funds in the order currency added to the invested amount (margin), if the desire is for the stop-loss rate to be set lower than normally permitted. Only accepted when settlementType is realFutures - supplying it for any other settlement type is rejected. Must be greater than 0.
	AdditionalMargin *float64 `json:"additionalMargin,omitempty"`

	// Amount The monetary amount to invest in the order currency. Mutually exclusive with units and contracts. Must be greater than 0.
	//
	// Example: 1000
	Amount *float64 `json:"amount,omitempty"`

	// Contracts The number of contracts to trade, used for real futures instead of units. Mutually exclusive with amount and units. Only accepted when settlementType is realFutures, and must be a whole number greater than 0.
	Contracts *float64 `json:"contracts,omitempty"`

	// InstrumentId The etoro instrument identifier. For open orders provide exactly one of symbol or instrumentId - providing both is rejected.
	//
	// Example: 101
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// Leverage The leverage multiplier to apply. Optional - defaults to 1 (no leverage) when omitted, and must be 1 or greater. Any value greater than 1 requires stopLossRate.
	//
	// Example: 2
	Leverage *int32 `json:"leverage,omitempty"`

	// LimitRate LimitRate should be set for LimitIOC orders only, where it is required and must be greater than zero; supplying it for any other order type is rejected. it is the client submitted price which will be routed to the exchange for execution. Please note that a client submitted price cannot exceed a 10% deviation from current market price otherwise it will be rejected on pre trade
	//
	// Example: 1.5
	LimitRate *float64 `json:"limitRate,omitempty"`

	// OrderCurrency The currency for the order amount. Typically usd. Only USD is currently supported.
	//
	// Example: usd
	OrderCurrency *string `json:"orderCurrency,omitempty"`

	// OrderType The order execution type. Possible values: mkt (market), mit (market if touched), limitIOC. `mkt` - a market order that executes at the available market price. `mit` - a market-if-touched order that waits until the triggerRate or better is published in the market feed and then executes at the market price at that time. `limitIOC` - an immediate limit order that executes now at the limitRate or better if such a rate is available at the market, or gets cancelled immediately if no such rate is available now. `mit` is not supported when settlementType is realFutures.
	//
	// Example: mkt
	OrderType *TradingDemoAdminApiUnifiedOrderRequestOrderType `json:"orderType,omitempty"`

	// PositionIds List of position IDs to close. Reserved for the close action, which is not supported yet - supplying any value is currently rejected.
	PositionIds *[]int64 `json:"positionIds,omitempty"`

	// SettlementType The settlement type. Possible values: cfd, real, realFutures, marginTrade. Version rules: on Public API v2 create (`POST /api/v2/trading/execution/demo/orders`, Admin v1) settlementType remains optional. On Public API v3 create (`POST /api/v3/trading/execution/demo/orders`, Admin v2) it must NOT be set for MIT orders (the platform resolves it), and for all other order types it must be set to an eligible settlement type. A mismatch is rejected during execution after the order has already been accepted with an order id. The valid values differ per instrument, direction and leverage - call `POST /api/v2/trading/info/demo/eligibility` and read `leverageConfigs[].settlementType` for the relevant combinations of `direction`, `leverage` and `settlementType` before supplying them; that configuration changes rarely, so one call can be cached and reused for the whole session. `real` - the real instrument held in full value. `realFutures` - the real future contract, which is a derivative of an underlying instrument. Each future contract usually maintains a different number of underlying instrument units than 1. The number of units held in a single future contract is called the multiplier, which can be bigger, lower, or equal to 1. `marginTrade` - the real instrument held with only a portion of its value called margin (leveraged asset). `cfd` - contract for difference, which is a derivative following the underlying instrument.
	SettlementType *TradingDemoAdminApiUnifiedOrderRequestSettlementType `json:"settlementType,omitempty"`

	// StopLossRate The stop-loss rate at which the position will automatically close. Required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Optional otherwise, and must be 0 or greater.
	//
	// Example: 1.2
	StopLossRate *float64 `json:"stopLossRate,omitempty"`

	// StopLossType The stop-loss type. Possible values: fixed, trailing. The default is `fixed`. `fixed` - the stop-loss rate does not change. `trailing` - the stop-loss rate moves up whenever the instrument rate goes up such that the stop loss is triggered from the same distance from the last peak rate as the distance of the stop-loss rate from the rate at the open. Setting `trailing` requires stopLossRate.
	//
	// Example: fixed
	StopLossType *TradingDemoAdminApiUnifiedOrderRequestStopLossType `json:"stopLossType,omitempty"`

	// Symbol The asset ticker symbol. For open orders provide exactly one of symbol or instrumentId - providing both is rejected.
	//
	// Example: AAPL
	Symbol *string `json:"symbol,omitempty"`

	// TakeProfitRate The take-profit rate at which the position will automatically close. Must be 0 or greater.
	//
	// Example: 1.5
	TakeProfitRate *float64 `json:"takeProfitRate,omitempty"`

	// Transaction The transaction direction: `buy` opens a long position, `sell` closes a long position, `sellShort` opens a short position, and `buyToCover` closes a short position. Currently only `buy` and `sellShort` are supported; `sell` and `buyToCover` are rejected and will be enabled in a future release alongside the `close` action.
	//
	// Example: buy
	Transaction TradingDemoAdminApiUnifiedOrderRequestTransaction `json:"transaction"`

	// TriggerRate The trigger rate for mit orders. Required for mit orders, and must be greater than zero. Must not be provided for mkt or limitIOC orders - supplying it is rejected.
	TriggerRate *float64 `json:"triggerRate,omitempty"`

	// Units The number of units to trade. Mutually exclusive with amount and contracts. Must be greater than 0.
	Units *float64 `json:"units,omitempty"`
}

TradingDemoAdminApiUnifiedOrderRequest Request payload for creating an order to open or close a position.

type TradingDemoAdminApiUnifiedOrderRequestAction

type TradingDemoAdminApiUnifiedOrderRequestAction string

TradingDemoAdminApiUnifiedOrderRequestAction The order action whether to open or close a position. Currently only `open` is supported in this endpoint.

Example: open

const (
	TradingDemoAdminApiUnifiedOrderRequestActionClose TradingDemoAdminApiUnifiedOrderRequestAction = "close"
	TradingDemoAdminApiUnifiedOrderRequestActionOpen  TradingDemoAdminApiUnifiedOrderRequestAction = "open"
)

Defines values for TradingDemoAdminApiUnifiedOrderRequestAction.

func (TradingDemoAdminApiUnifiedOrderRequestAction) Valid

Valid indicates whether the value is a known member of the TradingDemoAdminApiUnifiedOrderRequestAction enum.

type TradingDemoAdminApiUnifiedOrderRequestOrderType

type TradingDemoAdminApiUnifiedOrderRequestOrderType string

TradingDemoAdminApiUnifiedOrderRequestOrderType The order execution type. Possible values: mkt (market), mit (market if touched), limitIOC. `mkt` - a market order that executes at the available market price. `mit` - a market-if-touched order that waits until the triggerRate or better is published in the market feed and then executes at the market price at that time. `limitIOC` - an immediate limit order that executes now at the limitRate or better if such a rate is available at the market, or gets cancelled immediately if no such rate is available now. `mit` is not supported when settlementType is realFutures.

Example: mkt

const (
	TradingDemoAdminApiUnifiedOrderRequestOrderTypeLimitIOC TradingDemoAdminApiUnifiedOrderRequestOrderType = "limitIOC"
	TradingDemoAdminApiUnifiedOrderRequestOrderTypeMit      TradingDemoAdminApiUnifiedOrderRequestOrderType = "mit"
	TradingDemoAdminApiUnifiedOrderRequestOrderTypeMkt      TradingDemoAdminApiUnifiedOrderRequestOrderType = "mkt"
)

Defines values for TradingDemoAdminApiUnifiedOrderRequestOrderType.

func (TradingDemoAdminApiUnifiedOrderRequestOrderType) Valid

Valid indicates whether the value is a known member of the TradingDemoAdminApiUnifiedOrderRequestOrderType enum.

type TradingDemoAdminApiUnifiedOrderRequestSettlementType

type TradingDemoAdminApiUnifiedOrderRequestSettlementType string

TradingDemoAdminApiUnifiedOrderRequestSettlementType The settlement type. Possible values: cfd, real, realFutures, marginTrade. Version rules: on Public API v2 create (`POST /api/v2/trading/execution/demo/orders`, Admin v1) settlementType remains optional. On Public API v3 create (`POST /api/v3/trading/execution/demo/orders`, Admin v2) it must NOT be set for MIT orders (the platform resolves it), and for all other order types it must be set to an eligible settlement type. A mismatch is rejected during execution after the order has already been accepted with an order id. The valid values differ per instrument, direction and leverage - call `POST /api/v2/trading/info/demo/eligibility` and read `leverageConfigs[].settlementType` for the relevant combinations of `direction`, `leverage` and `settlementType` before supplying them; that configuration changes rarely, so one call can be cached and reused for the whole session. `real` - the real instrument held in full value. `realFutures` - the real future contract, which is a derivative of an underlying instrument. Each future contract usually maintains a different number of underlying instrument units than 1. The number of units held in a single future contract is called the multiplier, which can be bigger, lower, or equal to 1. `marginTrade` - the real instrument held with only a portion of its value called margin (leveraged asset). `cfd` - contract for difference, which is a derivative following the underlying instrument.

const (
	TradingDemoAdminApiUnifiedOrderRequestSettlementTypeCfd         TradingDemoAdminApiUnifiedOrderRequestSettlementType = "cfd"
	TradingDemoAdminApiUnifiedOrderRequestSettlementTypeMarginTrade TradingDemoAdminApiUnifiedOrderRequestSettlementType = "marginTrade"
	TradingDemoAdminApiUnifiedOrderRequestSettlementTypeReal        TradingDemoAdminApiUnifiedOrderRequestSettlementType = "real"
	TradingDemoAdminApiUnifiedOrderRequestSettlementTypeRealFutures TradingDemoAdminApiUnifiedOrderRequestSettlementType = "realFutures"
)

Defines values for TradingDemoAdminApiUnifiedOrderRequestSettlementType.

func (TradingDemoAdminApiUnifiedOrderRequestSettlementType) Valid

Valid indicates whether the value is a known member of the TradingDemoAdminApiUnifiedOrderRequestSettlementType enum.

type TradingDemoAdminApiUnifiedOrderRequestStopLossType

type TradingDemoAdminApiUnifiedOrderRequestStopLossType string

TradingDemoAdminApiUnifiedOrderRequestStopLossType The stop-loss type. Possible values: fixed, trailing. The default is `fixed`. `fixed` - the stop-loss rate does not change. `trailing` - the stop-loss rate moves up whenever the instrument rate goes up such that the stop loss is triggered from the same distance from the last peak rate as the distance of the stop-loss rate from the rate at the open. Setting `trailing` requires stopLossRate.

Example: fixed

const (
	TradingDemoAdminApiUnifiedOrderRequestStopLossTypeFixed    TradingDemoAdminApiUnifiedOrderRequestStopLossType = "fixed"
	TradingDemoAdminApiUnifiedOrderRequestStopLossTypeTrailing TradingDemoAdminApiUnifiedOrderRequestStopLossType = "trailing"
)

Defines values for TradingDemoAdminApiUnifiedOrderRequestStopLossType.

func (TradingDemoAdminApiUnifiedOrderRequestStopLossType) Valid

Valid indicates whether the value is a known member of the TradingDemoAdminApiUnifiedOrderRequestStopLossType enum.

type TradingDemoAdminApiUnifiedOrderRequestTransaction

type TradingDemoAdminApiUnifiedOrderRequestTransaction string

TradingDemoAdminApiUnifiedOrderRequestTransaction The transaction direction: `buy` opens a long position, `sell` closes a long position, `sellShort` opens a short position, and `buyToCover` closes a short position. Currently only `buy` and `sellShort` are supported; `sell` and `buyToCover` are rejected and will be enabled in a future release alongside the `close` action.

Example: buy

const (
	TradingDemoAdminApiUnifiedOrderRequestTransactionBuy        TradingDemoAdminApiUnifiedOrderRequestTransaction = "buy"
	TradingDemoAdminApiUnifiedOrderRequestTransactionBuyToCover TradingDemoAdminApiUnifiedOrderRequestTransaction = "buyToCover"
	TradingDemoAdminApiUnifiedOrderRequestTransactionSell       TradingDemoAdminApiUnifiedOrderRequestTransaction = "sell"
	TradingDemoAdminApiUnifiedOrderRequestTransactionSellShort  TradingDemoAdminApiUnifiedOrderRequestTransaction = "sellShort"
)

Defines values for TradingDemoAdminApiUnifiedOrderRequestTransaction.

func (TradingDemoAdminApiUnifiedOrderRequestTransaction) Valid

Valid indicates whether the value is a known member of the TradingDemoAdminApiUnifiedOrderRequestTransaction enum.

type TradingPortfolioDemoApiAggregatedPortfolioAccountTotals

type TradingPortfolioDemoApiAggregatedPortfolioAccountTotals struct {
	// AccountAvailableCash Cash available for new trades: accountBalance minus accountFrozenCash.
	AccountAvailableCash *float64 `json:"accountAvailableCash,omitempty"`

	// AccountBalance Total cash balance (available + frozen), excluding invested amounts.
	AccountBalance *float64 `json:"accountBalance,omitempty"`

	// AccountCurrentPnl Unrealized P&L across all manual positions and copy-trading mirrors in account currency.
	AccountCurrentPnl *float64 `json:"accountCurrentPnl,omitempty"`

	// AccountFrozenCash Cash reserved for pending open orders.
	AccountFrozenCash *float64 `json:"accountFrozenCash,omitempty"`

	// AccountTotalUsedMargin Total margin in use: manual position margins + frozen order amounts + mirror active margins.
	AccountTotalUsedMargin *float64 `json:"accountTotalUsedMargin,omitempty"`

	// AccountTotalValue Total portfolio value: accountAvailableCash + accountTotalUsedMargin + accountCurrentPnl.
	AccountTotalValue *float64 `json:"accountTotalValue,omitempty"`

	// DailyGainAccountCurrency Today's unrealized gain in account currency. Present when pnlLevel=DailyPnl.
	//
	// Example: -24.57
	DailyGainAccountCurrency *float64 `json:"dailyGainAccountCurrency,omitempty"`

	// DailyGainAccountCurrencyPercent Today's gain as a percentage of yesterday's total value. Present when pnlLevel=DailyPnl.
	//
	// Example: -0.47
	DailyGainAccountCurrencyPercent *float64 `json:"dailyGainAccountCurrencyPercent,omitempty"`

	// YesterdayTotalValue Total portfolio value as of yesterday's close. Present when pnlLevel=DailyPnl.
	//
	// Example: 5179.05
	YesterdayTotalValue *float64 `json:"yesterdayTotalValue,omitempty"`
}

TradingPortfolioDemoApiAggregatedPortfolioAccountTotals Account-level balance and equity totals.

type TradingPortfolioDemoApiAggregatedPortfolioInstrumentAggregate

type TradingPortfolioDemoApiAggregatedPortfolioInstrumentAggregate struct {
	// AccountCurrencyReturn Unrealized P&L for this instrument in account currency.
	AccountCurrencyReturn *float64 `json:"accountCurrencyReturn,omitempty"`

	// AccountCurrencyRoePercent Return on equity in account currency: accountCurrencyReturn / totalMarginAccountCurrency.
	AccountCurrencyRoePercent *float64 `json:"accountCurrencyRoePercent,omitempty"`

	// AssetCurrency ISO 4217 code of the instrument's base currency (e.g. 'USD', 'EUR').
	AssetCurrency *string `json:"assetCurrency,omitempty"`

	// AvgConversionRate Weighted average asset-to-account-currency conversion rate at position open.
	AvgConversionRate *float64 `json:"avgConversionRate,omitempty"`

	// AvgLeverage Average leverage across all positions for this instrument.
	AvgLeverage *float64 `json:"avgLeverage,omitempty"`

	// AvgOpenRate Weighted average open rate across all positions for this instrument.
	AvgOpenRate *float64 `json:"avgOpenRate,omitempty"`

	// DailyGainAccountCurrency Today's unrealized gain for this instrument in the portfolio, in account currency. Present when pnlLevel=DailyPnl.
	//
	// Example: -18.42
	DailyGainAccountCurrency *float64 `json:"dailyGainAccountCurrency,omitempty"`

	// DailyGainAssetCurrency Today's unrealized gain for this instrument in the portfolio, in asset currency. Present when pnlLevel=DailyPnl.
	//
	// Example: -18.42
	DailyGainAssetCurrency *float64 `json:"dailyGainAssetCurrency,omitempty"`

	// InstrumentId etoro instrument identifier.
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// LiquidationValueAccountCurrency Current liquidation value in account currency: totalMarginAccountCurrency + accountCurrencyReturn.
	LiquidationValueAccountCurrency *float64 `json:"liquidationValueAccountCurrency,omitempty"`

	// LiquidationValueAssetCurrency Current liquidation value in asset currency.
	LiquidationValueAssetCurrency *float64 `json:"liquidationValueAssetCurrency,omitempty"`

	// NetAvgOpenRate Direction-aware weighted average open rate (long contributions minus short).
	NetAvgOpenRate *float64 `json:"netAvgOpenRate,omitempty"`

	// NetContracts Net contracts across all positions (positive = net long, negative = net short).
	NetContracts *float64 `json:"netContracts,omitempty"`

	// NetCurrentExposureAccountCurrency Net current market exposure in account currency.
	NetCurrentExposureAccountCurrency *float64 `json:"netCurrentExposureAccountCurrency,omitempty"`

	// NetCurrentExposureAssetCurrency Net current market exposure in asset currency.
	NetCurrentExposureAssetCurrency *float64 `json:"netCurrentExposureAssetCurrency,omitempty"`

	// NetInitialExposureAccountCurrency Net initial exposure at open in account currency.
	NetInitialExposureAccountCurrency *float64 `json:"netInitialExposureAccountCurrency,omitempty"`

	// NetUnits Net units across all positions (positive = net long, negative = net short).
	NetUnits *float64 `json:"netUnits,omitempty"`

	// PnlAssetCurrency Unrealized P&L for this instrument in asset currency. Null when P&L calculation is not requested.
	PnlAssetCurrency *float64 `json:"pnlAssetCurrency,omitempty"`

	// TotalFees Sum of transaction fees taken on positions of this instrument, in asset currency.
	TotalFees *float64 `json:"totalFees,omitempty"`

	// TotalFeesAcctCcy Sum of transaction fees taken on positions of this instrument, in account currency.
	TotalFeesAcctCcy *float64 `json:"totalFeesAcctCcy,omitempty"`

	// TotalMarginAccountCurrency Sum of margins across all positions for this instrument, in account currency.
	TotalMarginAccountCurrency *float64 `json:"totalMarginAccountCurrency,omitempty"`

	// TotalMarginAssetCurrency Sum of margins across all positions for this instrument, in asset currency.
	TotalMarginAssetCurrency *float64 `json:"totalMarginAssetCurrency,omitempty"`

	// TotalTaxes Sum of taxes for this instrument, in asset currency.
	TotalTaxes *float64 `json:"totalTaxes,omitempty"`

	// TotalTaxesAcctCcy Sum of taxes for this instrument, in account currency.
	TotalTaxesAcctCcy *float64 `json:"totalTaxesAcctCcy,omitempty"`
}

TradingPortfolioDemoApiAggregatedPortfolioInstrumentAggregate Aggregated data across all positions for a single instrument.

type TradingPortfolioDemoApiAggregatedPortfolioMirrorAggregate

type TradingPortfolioDemoApiAggregatedPortfolioMirrorAggregate struct {
	// InstrumentAggregates Positions held within this copy-trading mirror, grouped by instrument.
	InstrumentAggregates *[]TradingPortfolioDemoApiAggregatedPortfolioInstrumentAggregate `json:"instrumentAggregates,omitempty"`

	// MirrorAvailableCash Cash available within this mirror for new copy positions.
	MirrorAvailableCash *float64 `json:"mirrorAvailableCash,omitempty"`

	// MirrorClosedPositionsPnl Accumulated net profit from all closed positions within this mirror.
	MirrorClosedPositionsPnl *float64 `json:"mirrorClosedPositionsPnl,omitempty"`

	// MirrorDepositTotal Total amount ever deposited into this mirror: initialInvestment + depositSummary.
	MirrorDepositTotal *float64 `json:"mirrorDepositTotal,omitempty"`

	// MirrorId Mirror identifier. A value of 0 represents manually held positions.
	MirrorId *int32 `json:"mirrorId,omitempty"`

	// MirrorStopLoss Stop-loss threshold in account currency. The mirror liquidates when its value falls to this level.
	MirrorStopLoss *float64 `json:"mirrorStopLoss,omitempty"`

	// MirrorStopLossPercentage Stop-loss threshold as a percentage of the mirror's current value.
	MirrorStopLossPercentage *float64 `json:"mirrorStopLossPercentage,omitempty"`

	// MirrorTotals Aggregated totals for a copy-trading mirror.
	MirrorTotals *TradingPortfolioDemoApiAggregatedPortfolioMirrorTotals `json:"mirrorTotals,omitempty"`

	// MirrorWithdrawalTotal Total amount ever withdrawn from this mirror.
	MirrorWithdrawalTotal *float64 `json:"mirrorWithdrawalTotal,omitempty"`
}

TradingPortfolioDemoApiAggregatedPortfolioMirrorAggregate Aggregated data for a single copy-trading relationship.

type TradingPortfolioDemoApiAggregatedPortfolioMirrorTotals

type TradingPortfolioDemoApiAggregatedPortfolioMirrorTotals struct {
	// MirrorActiveMargin Total margin in active use within this mirror: mirrorAvailableCash + sum of position margins minus closed positions P&L.
	MirrorActiveMargin *float64 `json:"mirrorActiveMargin,omitempty"`

	// MirrorDailyGainAccountCurrency Today's unrealized gain for this mirror in account currency. Present when pnlLevel=DailyPnl.
	//
	// Example: -6.15
	MirrorDailyGainAccountCurrency *float64 `json:"mirrorDailyGainAccountCurrency,omitempty"`

	// MirrorLiquidationValue Current mirror value: mirrorActiveMargin + mirrorPositionsPnl.
	MirrorLiquidationValue *float64 `json:"mirrorLiquidationValue,omitempty"`

	// MirrorMarginPercent This mirror's active margin as a percentage of the account's total used margin.
	MirrorMarginPercent *float64 `json:"mirrorMarginPercent,omitempty"`

	// MirrorNetFunding Net amount funded into the mirror: mirrorDepositTotal minus mirrorWithdrawalTotal.
	MirrorNetFunding *float64 `json:"mirrorNetFunding,omitempty"`

	// MirrorPositionsPnl Total P&L from open and closed positions within the mirror, in account currency.
	MirrorPositionsPnl *float64 `json:"mirrorPositionsPnl,omitempty"`

	// MirrorPositionsPnlPercent mirrorPositionsPnl as a percentage of mirrorLiquidationValue.
	MirrorPositionsPnlPercent *float64 `json:"mirrorPositionsPnlPercent,omitempty"`

	// MirrorValuePercent This mirror's liquidation value as a percentage of the account's total value.
	MirrorValuePercent *float64 `json:"mirrorValuePercent,omitempty"`
}

TradingPortfolioDemoApiAggregatedPortfolioMirrorTotals Aggregated totals for a copy-trading mirror.

type TradingPortfolioDemoApiAggregatedPortfolioResponse

type TradingPortfolioDemoApiAggregatedPortfolioResponse struct {
	// AccountCurrency ISO 4217 code of the account's base currency (e.g. 'USD').
	AccountCurrency *string `json:"accountCurrency,omitempty"`

	// AccountTotals Account-level balance and equity totals.
	AccountTotals *TradingPortfolioDemoApiAggregatedPortfolioAccountTotals `json:"accountTotals,omitempty"`

	// Cid Customer ID.
	Cid *int32 `json:"cid,omitempty"`

	// InstrumentAggregates Positions held directly (not via copy trading), grouped by instrument.
	InstrumentAggregates *[]TradingPortfolioDemoApiAggregatedPortfolioInstrumentAggregate `json:"instrumentAggregates,omitempty"`

	// Mirrors Copy-trading relationships the user has active.
	Mirrors *[]TradingPortfolioDemoApiAggregatedPortfolioMirrorAggregate `json:"mirrors,omitempty"`

	// Timestamp Time at which this portfolio snapshot was calculated.
	Timestamp *time.Time `json:"timestamp,omitempty"`
}

TradingPortfolioDemoApiAggregatedPortfolioResponse Complete snapshot of the authenticated user's investment portfolio, organized by asset.

type TradingPortfolioRealApiAggregatedPortfolioAccountTotals

type TradingPortfolioRealApiAggregatedPortfolioAccountTotals struct {
	// AccountAvailableCash Cash available for new trades: accountBalance minus accountFrozenCash.
	AccountAvailableCash *float64 `json:"accountAvailableCash,omitempty"`

	// AccountBalance Total cash balance (available + frozen), excluding invested amounts.
	AccountBalance *float64 `json:"accountBalance,omitempty"`

	// AccountCurrentPnl Unrealized P&L across all manual positions and copy-trading mirrors in account currency.
	AccountCurrentPnl *float64 `json:"accountCurrentPnl,omitempty"`

	// AccountFrozenCash Cash reserved for pending open orders.
	AccountFrozenCash *float64 `json:"accountFrozenCash,omitempty"`

	// AccountTotalUsedMargin Total margin in use: manual position margins + frozen order amounts + mirror active margins.
	AccountTotalUsedMargin *float64 `json:"accountTotalUsedMargin,omitempty"`

	// AccountTotalValue Total portfolio value: accountAvailableCash + accountTotalUsedMargin + accountCurrentPnl.
	AccountTotalValue *float64 `json:"accountTotalValue,omitempty"`

	// DailyGainAccountCurrency Today's unrealized gain in account currency. Present when pnlLevel=DailyPnl.
	//
	// Example: -24.57
	DailyGainAccountCurrency *float64 `json:"dailyGainAccountCurrency,omitempty"`

	// DailyGainAccountCurrencyPercent Today's gain as a percentage of yesterday's total value. Present when pnlLevel=DailyPnl.
	//
	// Example: -0.47
	DailyGainAccountCurrencyPercent *float64 `json:"dailyGainAccountCurrencyPercent,omitempty"`

	// YesterdayTotalValue Total portfolio value as of yesterday's close. Present when pnlLevel=DailyPnl.
	//
	// Example: 5179.05
	YesterdayTotalValue *float64 `json:"yesterdayTotalValue,omitempty"`
}

TradingPortfolioRealApiAggregatedPortfolioAccountTotals Account-level balance and equity totals.

type TradingPortfolioRealApiAggregatedPortfolioInstrumentAggregate

type TradingPortfolioRealApiAggregatedPortfolioInstrumentAggregate struct {
	// AccountCurrencyReturn Unrealized P&L for this instrument in account currency.
	AccountCurrencyReturn *float64 `json:"accountCurrencyReturn,omitempty"`

	// AccountCurrencyRoePercent Return on equity in account currency: accountCurrencyReturn / totalMarginAccountCurrency.
	AccountCurrencyRoePercent *float64 `json:"accountCurrencyRoePercent,omitempty"`

	// AssetCurrency ISO 4217 code of the instrument's base currency (e.g. 'USD', 'EUR').
	AssetCurrency *string `json:"assetCurrency,omitempty"`

	// AvgConversionRate Weighted average asset-to-account-currency conversion rate at position open.
	AvgConversionRate *float64 `json:"avgConversionRate,omitempty"`

	// AvgLeverage Average leverage across all positions for this instrument.
	AvgLeverage *float64 `json:"avgLeverage,omitempty"`

	// AvgOpenRate Weighted average open rate across all positions for this instrument.
	AvgOpenRate *float64 `json:"avgOpenRate,omitempty"`

	// DailyGainAccountCurrency Today's unrealized gain for this instrument in the portfolio, in account currency. Present when pnlLevel=DailyPnl.
	//
	// Example: -18.42
	DailyGainAccountCurrency *float64 `json:"dailyGainAccountCurrency,omitempty"`

	// DailyGainAssetCurrency Today's unrealized gain for this instrument in the portfolio, in asset currency. Present when pnlLevel=DailyPnl.
	//
	// Example: -18.42
	DailyGainAssetCurrency *float64 `json:"dailyGainAssetCurrency,omitempty"`

	// InstrumentId etoro instrument identifier.
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// LiquidationValueAccountCurrency Current liquidation value in account currency: totalMarginAccountCurrency + accountCurrencyReturn.
	LiquidationValueAccountCurrency *float64 `json:"liquidationValueAccountCurrency,omitempty"`

	// LiquidationValueAssetCurrency Current liquidation value in asset currency.
	LiquidationValueAssetCurrency *float64 `json:"liquidationValueAssetCurrency,omitempty"`

	// NetAvgOpenRate Direction-aware weighted average open rate (long contributions minus short).
	NetAvgOpenRate *float64 `json:"netAvgOpenRate,omitempty"`

	// NetContracts Net contracts across all positions (positive = net long, negative = net short).
	NetContracts *float64 `json:"netContracts,omitempty"`

	// NetCurrentExposureAccountCurrency Net current market exposure in account currency.
	NetCurrentExposureAccountCurrency *float64 `json:"netCurrentExposureAccountCurrency,omitempty"`

	// NetCurrentExposureAssetCurrency Net current market exposure in asset currency.
	NetCurrentExposureAssetCurrency *float64 `json:"netCurrentExposureAssetCurrency,omitempty"`

	// NetInitialExposureAccountCurrency Net initial exposure at open in account currency.
	NetInitialExposureAccountCurrency *float64 `json:"netInitialExposureAccountCurrency,omitempty"`

	// NetUnits Net units across all positions (positive = net long, negative = net short).
	NetUnits *float64 `json:"netUnits,omitempty"`

	// PnlAssetCurrency Unrealized P&L for this instrument in asset currency. Null when P&L calculation is not requested.
	PnlAssetCurrency *float64 `json:"pnlAssetCurrency,omitempty"`

	// TotalFees Sum of transaction fees taken on positions of this instrument, in asset currency.
	TotalFees *float64 `json:"totalFees,omitempty"`

	// TotalFeesAcctCcy Sum of transaction fees taken on positions of this instrument, in account currency.
	TotalFeesAcctCcy *float64 `json:"totalFeesAcctCcy,omitempty"`

	// TotalMarginAccountCurrency Sum of margins across all positions for this instrument, in account currency.
	TotalMarginAccountCurrency *float64 `json:"totalMarginAccountCurrency,omitempty"`

	// TotalMarginAssetCurrency Sum of margins across all positions for this instrument, in asset currency.
	TotalMarginAssetCurrency *float64 `json:"totalMarginAssetCurrency,omitempty"`

	// TotalTaxes Sum of taxes for this instrument, in asset currency.
	TotalTaxes *float64 `json:"totalTaxes,omitempty"`

	// TotalTaxesAcctCcy Sum of taxes for this instrument, in account currency.
	TotalTaxesAcctCcy *float64 `json:"totalTaxesAcctCcy,omitempty"`
}

TradingPortfolioRealApiAggregatedPortfolioInstrumentAggregate Aggregated data across all positions for a single instrument.

type TradingPortfolioRealApiAggregatedPortfolioMirrorAggregate

type TradingPortfolioRealApiAggregatedPortfolioMirrorAggregate struct {
	// InstrumentAggregates Positions held within this copy-trading mirror, grouped by instrument.
	InstrumentAggregates *[]TradingPortfolioRealApiAggregatedPortfolioInstrumentAggregate `json:"instrumentAggregates,omitempty"`

	// MirrorAvailableCash Cash available within this mirror for new copy positions.
	MirrorAvailableCash *float64 `json:"mirrorAvailableCash,omitempty"`

	// MirrorClosedPositionsPnl Accumulated net profit from all closed positions within this mirror.
	MirrorClosedPositionsPnl *float64 `json:"mirrorClosedPositionsPnl,omitempty"`

	// MirrorDepositTotal Total amount ever deposited into this mirror: initialInvestment + depositSummary.
	MirrorDepositTotal *float64 `json:"mirrorDepositTotal,omitempty"`

	// MirrorId Mirror identifier. A value of 0 represents manually held positions.
	MirrorId *int32 `json:"mirrorId,omitempty"`

	// MirrorStopLoss Stop-loss threshold in account currency. The mirror liquidates when its value falls to this level.
	MirrorStopLoss *float64 `json:"mirrorStopLoss,omitempty"`

	// MirrorStopLossPercentage Stop-loss threshold as a percentage of the mirror's current value.
	MirrorStopLossPercentage *float64 `json:"mirrorStopLossPercentage,omitempty"`

	// MirrorTotals Aggregated totals for a copy-trading mirror.
	MirrorTotals *TradingPortfolioRealApiAggregatedPortfolioMirrorTotals `json:"mirrorTotals,omitempty"`

	// MirrorWithdrawalTotal Total amount ever withdrawn from this mirror.
	MirrorWithdrawalTotal *float64 `json:"mirrorWithdrawalTotal,omitempty"`
}

TradingPortfolioRealApiAggregatedPortfolioMirrorAggregate Aggregated data for a single copy-trading relationship.

type TradingPortfolioRealApiAggregatedPortfolioMirrorTotals

type TradingPortfolioRealApiAggregatedPortfolioMirrorTotals struct {
	// MirrorActiveMargin Total margin in active use within this mirror: mirrorAvailableCash + sum of position margins minus closed positions P&L.
	MirrorActiveMargin *float64 `json:"mirrorActiveMargin,omitempty"`

	// MirrorDailyGainAccountCurrency Today's unrealized gain for this mirror in account currency. Present when pnlLevel=DailyPnl.
	//
	// Example: -6.15
	MirrorDailyGainAccountCurrency *float64 `json:"mirrorDailyGainAccountCurrency,omitempty"`

	// MirrorLiquidationValue Current mirror value: mirrorActiveMargin + mirrorPositionsPnl.
	MirrorLiquidationValue *float64 `json:"mirrorLiquidationValue,omitempty"`

	// MirrorMarginPercent This mirror's active margin as a percentage of the account's total used margin.
	MirrorMarginPercent *float64 `json:"mirrorMarginPercent,omitempty"`

	// MirrorNetFunding Net amount funded into the mirror: mirrorDepositTotal minus mirrorWithdrawalTotal.
	MirrorNetFunding *float64 `json:"mirrorNetFunding,omitempty"`

	// MirrorPositionsPnl Total P&L from open and closed positions within the mirror, in account currency.
	MirrorPositionsPnl *float64 `json:"mirrorPositionsPnl,omitempty"`

	// MirrorPositionsPnlPercent mirrorPositionsPnl as a percentage of mirrorLiquidationValue.
	MirrorPositionsPnlPercent *float64 `json:"mirrorPositionsPnlPercent,omitempty"`

	// MirrorValuePercent This mirror's liquidation value as a percentage of the account's total value.
	MirrorValuePercent *float64 `json:"mirrorValuePercent,omitempty"`
}

TradingPortfolioRealApiAggregatedPortfolioMirrorTotals Aggregated totals for a copy-trading mirror.

type TradingPortfolioRealApiAggregatedPortfolioResponse

type TradingPortfolioRealApiAggregatedPortfolioResponse struct {
	// AccountCurrency ISO 4217 code of the account's base currency (e.g. 'USD').
	AccountCurrency *string `json:"accountCurrency,omitempty"`

	// AccountTotals Account-level balance and equity totals.
	AccountTotals *TradingPortfolioRealApiAggregatedPortfolioAccountTotals `json:"accountTotals,omitempty"`

	// Cid Customer ID.
	Cid *int32 `json:"cid,omitempty"`

	// InstrumentAggregates Positions held directly (not via copy trading), grouped by instrument.
	InstrumentAggregates *[]TradingPortfolioRealApiAggregatedPortfolioInstrumentAggregate `json:"instrumentAggregates,omitempty"`

	// Mirrors Copy-trading relationships the user has active.
	Mirrors *[]TradingPortfolioRealApiAggregatedPortfolioMirrorAggregate `json:"mirrors,omitempty"`

	// Timestamp Time at which this portfolio snapshot was calculated (UTC).
	Timestamp *time.Time `json:"timestamp,omitempty"`
}

TradingPortfolioRealApiAggregatedPortfolioResponse Complete snapshot of the authenticated user's investment portfolio, organized by asset.

type TradingRealAdminApiPosition

type TradingRealAdminApiPosition struct {
	// CID Customer ID associated with the position
	CID *int `json:"CID,omitempty"`

	// Amount USD amount allocated to the position. This amount includes both the initial investment, and additional margin allocated to the position as collateral
	Amount *float32 `json:"amount,omitempty"`

	// InitialAmountInDollars Initial investment USD amount in the position. This value does not change in case the position was partially closed
	InitialAmountInDollars *float32 `json:"initialAmountInDollars,omitempty"`

	// InitialUnits Initial invested units in the position. This value does not change in case the position was partially closed
	InitialUnits *float32 `json:"initialUnits,omitempty"`

	// InstrumentID Identifier of the traded instrument
	InstrumentID *int `json:"instrumentID,omitempty"`

	// IsBuy Position direction: true for long (buy) positions, false for short (sell) positions
	IsBuy *bool `json:"isBuy,omitempty"`

	// IsDetached Indication if the position was originally opened inside a mirror and detached from it
	IsDetached *bool `json:"isDetached,omitempty"`

	// IsDiscounted Obsolete. This value is used to indicate if the relevant prices for the position are Ask/Bid or AskDiscounted/BidDiscounted
	IsDiscounted *bool `json:"isDiscounted,omitempty"`

	// IsNoStopLoss Indication if StopLoss is enabled for the position. false = enabled, true = disabled
	IsNoStopLoss *bool `json:"isNoStopLoss,omitempty"`

	// IsNoTakeProfit Indication if TakeProfit is enabled for the position. false = enabled, true = disabled
	IsNoTakeProfit *bool `json:"isNoTakeProfit,omitempty"`

	// IsPartiallyAltered Indication whether this position was partially closed
	IsPartiallyAltered *bool `json:"isPartiallyAltered,omitempty"`

	// IsSettled Obsolete
	IsSettled *bool `json:"isSettled,omitempty"`

	// IsTslEnabled Indication if TrailingStopLoss feature is active on this position
	IsTslEnabled *bool `json:"isTslEnabled,omitempty"`

	// Leverage Leverage multiplier applied to the position
	Leverage *int `json:"leverage,omitempty"`

	// LotCount Number of lots the position represents. For FutureContracts, this value represents the number of contracts acquired. This property is not relevant for instruments that are not futures instruments
	LotCount *float32 `json:"lotCount,omitempty"`

	// MirrorID Mirror ID if the position is part of copy trading, 0 otherwise
	MirrorID *int `json:"mirrorID,omitempty"`

	// OpenConversionRate Conversion rate from the asset currency to USD at the time the position was opened
	OpenConversionRate *float32 `json:"openConversionRate,omitempty"`

	// OpenDateTime Timestamp when the position was opened in ISO 8601 format
	OpenDateTime *time.Time `json:"openDateTime,omitempty"`

	// OpenPositionActionType Position open reason
	OpenPositionActionType *int `json:"openPositionActionType,omitempty"`

	// OpenRate Entry price of the position in the instrument's currency
	OpenRate *float32 `json:"openRate,omitempty"`

	// OrderID Original orderID the position was opened by. Need to match together with orderType
	OrderID *int `json:"orderID,omitempty"`

	// OrderType Original orderType of the order the position was opened by. Need to match together with orderId
	OrderType *int `json:"orderType,omitempty"`

	// ParentPositionID Parent position ID for mirrored positions, 0 otherwise
	ParentPositionID *int `json:"parentPositionID,omitempty"`

	// PnlVersion Pnl formula used for calculating profit and loss
	PnlVersion *int `json:"pnlVersion,omitempty"`

	// PositionID Unique identifier for the position
	PositionID *int `json:"positionID,omitempty"`

	// RedeemStatusID If the position is currently in redeem process, this value represents the current status
	RedeemStatusID *int `json:"redeemStatusID,omitempty"`

	// SettlementTypeID Position investment type. 0 - CFD, 1 - Real Asset, 2 - SWAP, 3 - Crypto MarginTrade, 4 - Future Contract
	SettlementTypeID *int `json:"settlementTypeID,omitempty"`

	// StopLossRate Rate at which StopLoss will trigger and send MarketOrder to close the position
	StopLossRate *float32 `json:"stopLossRate,omitempty"`

	// StopLossVersion Manual stop loss edit version. Each time StopLossRate is manually update this value is incremented
	StopLossVersion *int `json:"stopLossVersion,omitempty"`

	// TakeProfitRate Rate at which TakeProfit will trigger and send MarketOrder to close the position
	TakeProfitRate *float32 `json:"takeProfitRate,omitempty"`

	// TotalExternalFees Total fees in USD charged on the position. Example - TicketFee. This value does not include overnight fees and dividends
	TotalExternalFees *float32 `json:"totalExternalFees,omitempty"`

	// TotalExternalTaxes Total taxes in USD charged on the position. Example - SDRT
	TotalExternalTaxes *float32 `json:"totalExternalTaxes,omitempty"`

	// TotalFees Total overnight fees and dividends charged/paid on the position in USD. Negative amount represents refund
	TotalFees *float32 `json:"totalFees,omitempty"`

	// Units Number of units in the position
	Units *float32 `json:"units,omitempty"`

	// UnitsBaseValueDollars USD value of the current units in the position, based on the initial investment. If the position was not partially altered, this value equals initialAmountInDollars
	UnitsBaseValueDollars *float32 `json:"unitsBaseValueDollars,omitempty"`

	// UnrealizedPnL Unrealized profit/loss details for the position (only present in PnL endpoints)
	UnrealizedPnL *struct {
		// AssetCurrencyId Currency ID for the asset
		AssetCurrencyId *int `json:"assetCurrencyId,omitempty"`

		// CloseConversionRate Current close conversion rate
		CloseConversionRate *float32 `json:"closeConversionRate,omitempty"`

		// CloseRate Current close rate
		CloseRate *float32 `json:"closeRate,omitempty"`

		// ExposureInAccountCurrency Current exposure in account currency
		ExposureInAccountCurrency *float32 `json:"exposureInAccountCurrency,omitempty"`

		// ExposureInAssetCurrency Current exposure in asset currency
		ExposureInAssetCurrency *float32 `json:"exposureInAssetCurrency,omitempty"`

		// MarginCurrencyId Currency ID for margin
		MarginCurrencyId *int `json:"marginCurrencyId,omitempty"`

		// MarginInAccountCurrency Margin in account currency
		MarginInAccountCurrency *float32 `json:"marginInAccountCurrency,omitempty"`

		// MarginInAssetCurrency Margin in asset currency
		MarginInAssetCurrency *float32 `json:"marginInAssetCurrency,omitempty"`

		// PnL Unrealized P&L in account currency
		PnL *float32 `json:"pnL,omitempty"`

		// PnlAssetCurrency Unrealized P&L in asset currency
		PnlAssetCurrency *float32 `json:"pnlAssetCurrency,omitempty"`

		// Timestamp Timestamp of the PnL calculation
		Timestamp *time.Time `json:"timestamp,omitempty"`
	} `json:"unrealizedPnL,omitempty"`
}

TradingRealAdminApiPosition defines model for TradingRealAdminApi_Position.

type TradingRealAdminApiUnifiedOrderRequest

type TradingRealAdminApiUnifiedOrderRequest struct {
	// Action The order action whether to open or close a position. Currently only `open` is supported in this endpoint.
	//
	// Example: open
	Action TradingRealAdminApiUnifiedOrderRequestAction `json:"action"`

	// AdditionalMargin Additional funds in the order currency added to the invested amount (margin), if the desire is for the stop-loss rate to be set lower than normally permitted. Only accepted when settlementType is realFutures - supplying it for any other settlement type is rejected. Must be greater than 0.
	AdditionalMargin *float64 `json:"additionalMargin,omitempty"`

	// Amount The monetary amount to invest in the order currency. Mutually exclusive with units and contracts. Must be greater than 0.
	//
	// Example: 1000
	Amount *float64 `json:"amount,omitempty"`

	// Contracts The number of contracts to trade, used for real futures instead of units. Mutually exclusive with amount and units. Only accepted when settlementType is realFutures, and must be a whole number greater than 0.
	Contracts *float64 `json:"contracts,omitempty"`

	// InstrumentId The etoro instrument identifier. For open orders provide exactly one of symbol or instrumentId - providing both is rejected.
	//
	// Example: 101
	InstrumentId *int32 `json:"instrumentId,omitempty"`

	// Leverage The leverage multiplier to apply. Optional - defaults to 1 (no leverage) when omitted, and must be 1 or greater. Any value greater than 1 requires stopLossRate.
	//
	// Example: 2
	Leverage *int32 `json:"leverage,omitempty"`

	// LimitRate LimitRate should be set for LimitIOC orders only, where it is required and must be greater than zero; supplying it for any other order type is rejected. it is the client submitted price which will be routed to the exchange for execution. Please note that a client submitted price cannot exceed a 10% deviation from current market price otherwise it will be rejected on pre trade
	//
	// Example: 1.5
	LimitRate *float64 `json:"limitRate,omitempty"`

	// OrderCurrency The currency for the order amount. Typically usd. Only USD is currently supported.
	//
	// Example: usd
	OrderCurrency *string `json:"orderCurrency,omitempty"`

	// OrderType The order execution type. Possible values: mkt (market), mit (market if touched), limitIOC. `mkt` - a market order that executes at the available market price. `mit` - a market-if-touched order that waits until the triggerRate or better is published in the market feed and then executes at the market price at that time. `limitIOC` - an immediate limit order that executes now at the limitRate or better if such a rate is available at the market, or gets cancelled immediately if no such rate is available now. `mit` is not supported when settlementType is realFutures.
	//
	// Example: mkt
	OrderType *TradingRealAdminApiUnifiedOrderRequestOrderType `json:"orderType,omitempty"`

	// PositionIds List of position IDs to close. Reserved for the close action, which is not supported yet - supplying any value is currently rejected.
	PositionIds *[]int64 `json:"positionIds,omitempty"`

	// SettlementType The settlement type. Possible values: cfd, real, realFutures, marginTrade. Version rules: on Public API v2 create (`POST /api/v2/trading/execution/orders`, Admin v1) settlementType remains optional. On Public API v3 create (`POST /api/v3/trading/execution/orders`, Admin v2) it must NOT be set for MIT orders (the platform resolves it), and for all other order types it must be set to an eligible settlement type. A mismatch is rejected during execution after the order has already been accepted with an order id. The valid values differ per instrument, direction and leverage - call `POST /api/v2/trading/info/eligibility` and read `leverageConfigs[].settlementType` for the relevant combinations of `direction`, `leverage` and `settlementType` before supplying them; that configuration changes rarely, so one call can be cached and reused for the whole session. `real` - the real instrument held in full value. `realFutures` - the real future contract, which is a derivative of an underlying instrument. Each future contract usually maintains a different number of underlying instrument units than 1. The number of units held in a single future contract is called the multiplier, which can be bigger, lower, or equal to 1. `marginTrade` - the real instrument held with only a portion of its value called margin (leveraged asset). `cfd` - contract for difference, which is a derivative following the underlying instrument.
	SettlementType *TradingRealAdminApiUnifiedOrderRequestSettlementType `json:"settlementType,omitempty"`

	// StopLossRate The stop-loss rate at which the position will automatically close. Required when leverage is greater than 1, when transaction is sellShort, when settlementType is realFutures, or when stopLossType is trailing. Optional otherwise, and must be 0 or greater.
	//
	// Example: 1.2
	StopLossRate *float64 `json:"stopLossRate,omitempty"`

	// StopLossType The stop-loss type. Possible values: fixed, trailing. The default is `fixed`. `fixed` - the stop-loss rate does not change. `trailing` - the stop-loss rate moves up whenever the instrument rate goes up such that the stop loss is triggered from the same distance from the last peak rate as the distance of the stop-loss rate from the rate at the open. Setting `trailing` requires stopLossRate.
	//
	// Example: fixed
	StopLossType *TradingRealAdminApiUnifiedOrderRequestStopLossType `json:"stopLossType,omitempty"`

	// Symbol The asset ticker symbol. For open orders provide exactly one of symbol or instrumentId - providing both is rejected.
	//
	// Example: AAPL
	Symbol *string `json:"symbol,omitempty"`

	// TakeProfitRate The take-profit rate at which the position will automatically close. Must be 0 or greater.
	//
	// Example: 1.5
	TakeProfitRate *float64 `json:"takeProfitRate,omitempty"`

	// Transaction The transaction direction: `buy` opens a long position, `sell` closes a long position, `sellShort` opens a short position, and `buyToCover` closes a short position. Currently only `buy` and `sellShort` are supported; `sell` and `buyToCover` are rejected and will be enabled in a future release alongside the `close` action.
	//
	// Example: buy
	Transaction TradingRealAdminApiUnifiedOrderRequestTransaction `json:"transaction"`

	// TriggerRate The trigger rate for mit orders. Required for mit orders, and must be greater than zero. Must not be provided for mkt or limitIOC orders - supplying it is rejected.
	TriggerRate *float64 `json:"triggerRate,omitempty"`

	// Units The number of units to trade. Mutually exclusive with amount and contracts. Must be greater than 0.
	Units *float64 `json:"units,omitempty"`
}

TradingRealAdminApiUnifiedOrderRequest Request payload for creating an order to open or close a position.

type TradingRealAdminApiUnifiedOrderRequestAction

type TradingRealAdminApiUnifiedOrderRequestAction string

TradingRealAdminApiUnifiedOrderRequestAction The order action whether to open or close a position. Currently only `open` is supported in this endpoint.

Example: open

const (
	TradingRealAdminApiUnifiedOrderRequestActionClose TradingRealAdminApiUnifiedOrderRequestAction = "close"
	TradingRealAdminApiUnifiedOrderRequestActionOpen  TradingRealAdminApiUnifiedOrderRequestAction = "open"
)

Defines values for TradingRealAdminApiUnifiedOrderRequestAction.

func (TradingRealAdminApiUnifiedOrderRequestAction) Valid

Valid indicates whether the value is a known member of the TradingRealAdminApiUnifiedOrderRequestAction enum.

type TradingRealAdminApiUnifiedOrderRequestOrderType

type TradingRealAdminApiUnifiedOrderRequestOrderType string

TradingRealAdminApiUnifiedOrderRequestOrderType The order execution type. Possible values: mkt (market), mit (market if touched), limitIOC. `mkt` - a market order that executes at the available market price. `mit` - a market-if-touched order that waits until the triggerRate or better is published in the market feed and then executes at the market price at that time. `limitIOC` - an immediate limit order that executes now at the limitRate or better if such a rate is available at the market, or gets cancelled immediately if no such rate is available now. `mit` is not supported when settlementType is realFutures.

Example: mkt

const (
	TradingRealAdminApiUnifiedOrderRequestOrderTypeLimitIOC TradingRealAdminApiUnifiedOrderRequestOrderType = "limitIOC"
	TradingRealAdminApiUnifiedOrderRequestOrderTypeMit      TradingRealAdminApiUnifiedOrderRequestOrderType = "mit"
	TradingRealAdminApiUnifiedOrderRequestOrderTypeMkt      TradingRealAdminApiUnifiedOrderRequestOrderType = "mkt"
)

Defines values for TradingRealAdminApiUnifiedOrderRequestOrderType.

func (TradingRealAdminApiUnifiedOrderRequestOrderType) Valid

Valid indicates whether the value is a known member of the TradingRealAdminApiUnifiedOrderRequestOrderType enum.

type TradingRealAdminApiUnifiedOrderRequestSettlementType

type TradingRealAdminApiUnifiedOrderRequestSettlementType string

TradingRealAdminApiUnifiedOrderRequestSettlementType The settlement type. Possible values: cfd, real, realFutures, marginTrade. Version rules: on Public API v2 create (`POST /api/v2/trading/execution/orders`, Admin v1) settlementType remains optional. On Public API v3 create (`POST /api/v3/trading/execution/orders`, Admin v2) it must NOT be set for MIT orders (the platform resolves it), and for all other order types it must be set to an eligible settlement type. A mismatch is rejected during execution after the order has already been accepted with an order id. The valid values differ per instrument, direction and leverage - call `POST /api/v2/trading/info/eligibility` and read `leverageConfigs[].settlementType` for the relevant combinations of `direction`, `leverage` and `settlementType` before supplying them; that configuration changes rarely, so one call can be cached and reused for the whole session. `real` - the real instrument held in full value. `realFutures` - the real future contract, which is a derivative of an underlying instrument. Each future contract usually maintains a different number of underlying instrument units than 1. The number of units held in a single future contract is called the multiplier, which can be bigger, lower, or equal to 1. `marginTrade` - the real instrument held with only a portion of its value called margin (leveraged asset). `cfd` - contract for difference, which is a derivative following the underlying instrument.

const (
	TradingRealAdminApiUnifiedOrderRequestSettlementTypeCfd         TradingRealAdminApiUnifiedOrderRequestSettlementType = "cfd"
	TradingRealAdminApiUnifiedOrderRequestSettlementTypeMarginTrade TradingRealAdminApiUnifiedOrderRequestSettlementType = "marginTrade"
	TradingRealAdminApiUnifiedOrderRequestSettlementTypeReal        TradingRealAdminApiUnifiedOrderRequestSettlementType = "real"
	TradingRealAdminApiUnifiedOrderRequestSettlementTypeRealFutures TradingRealAdminApiUnifiedOrderRequestSettlementType = "realFutures"
)

Defines values for TradingRealAdminApiUnifiedOrderRequestSettlementType.

func (TradingRealAdminApiUnifiedOrderRequestSettlementType) Valid

Valid indicates whether the value is a known member of the TradingRealAdminApiUnifiedOrderRequestSettlementType enum.

type TradingRealAdminApiUnifiedOrderRequestStopLossType

type TradingRealAdminApiUnifiedOrderRequestStopLossType string

TradingRealAdminApiUnifiedOrderRequestStopLossType The stop-loss type. Possible values: fixed, trailing. The default is `fixed`. `fixed` - the stop-loss rate does not change. `trailing` - the stop-loss rate moves up whenever the instrument rate goes up such that the stop loss is triggered from the same distance from the last peak rate as the distance of the stop-loss rate from the rate at the open. Setting `trailing` requires stopLossRate.

Example: fixed

const (
	TradingRealAdminApiUnifiedOrderRequestStopLossTypeFixed    TradingRealAdminApiUnifiedOrderRequestStopLossType = "fixed"
	TradingRealAdminApiUnifiedOrderRequestStopLossTypeTrailing TradingRealAdminApiUnifiedOrderRequestStopLossType = "trailing"
)

Defines values for TradingRealAdminApiUnifiedOrderRequestStopLossType.

func (TradingRealAdminApiUnifiedOrderRequestStopLossType) Valid

Valid indicates whether the value is a known member of the TradingRealAdminApiUnifiedOrderRequestStopLossType enum.

type TradingRealAdminApiUnifiedOrderRequestTransaction

type TradingRealAdminApiUnifiedOrderRequestTransaction string

TradingRealAdminApiUnifiedOrderRequestTransaction The transaction direction: `buy` opens a long position, `sell` closes a long position, `sellShort` opens a short position, and `buyToCover` closes a short position. Currently only `buy` and `sellShort` are supported; `sell` and `buyToCover` are rejected and will be enabled in a future release alongside the `close` action.

Example: buy

const (
	TradingRealAdminApiUnifiedOrderRequestTransactionBuy        TradingRealAdminApiUnifiedOrderRequestTransaction = "buy"
	TradingRealAdminApiUnifiedOrderRequestTransactionBuyToCover TradingRealAdminApiUnifiedOrderRequestTransaction = "buyToCover"
	TradingRealAdminApiUnifiedOrderRequestTransactionSell       TradingRealAdminApiUnifiedOrderRequestTransaction = "sell"
	TradingRealAdminApiUnifiedOrderRequestTransactionSellShort  TradingRealAdminApiUnifiedOrderRequestTransaction = "sellShort"
)

Defines values for TradingRealAdminApiUnifiedOrderRequestTransaction.

func (TradingRealAdminApiUnifiedOrderRequestTransaction) Valid

Valid indicates whether the value is a known member of the TradingRealAdminApiUnifiedOrderRequestTransaction enum.

type TradingRealApiPosition added in v0.2.0

type TradingRealApiPosition struct {
	// CID Customer ID associated with the position
	CID *int `json:"CID,omitempty"`

	// Amount USD amount allocated to the position. This amount includes both the initial investment, and additional margin allocated to the position as collateral
	Amount *float32 `json:"amount,omitempty"`

	// InitialAmountInDollars Initial investment USD amount in the position
	InitialAmountInDollars *float32 `json:"initialAmountInDollars,omitempty"`

	// InitialUnits Initial invested units in the position
	InitialUnits *float32 `json:"initialUnits,omitempty"`

	// InstrumentID Identifier of the traded instrument
	InstrumentID *int `json:"instrumentID,omitempty"`

	// IsBuy Position direction: true for long (buy) positions, false for short (sell) positions
	IsBuy *bool `json:"isBuy,omitempty"`

	// IsDetached Indication if the position was originally opened inside a mirror and detached from it
	IsDetached *bool `json:"isDetached,omitempty"`

	// IsDiscounted Obsolete
	IsDiscounted *bool `json:"isDiscounted,omitempty"`

	// IsNoStopLoss Indication if StopLoss is enabled for the position. false = enabled, true = disabled
	IsNoStopLoss *bool `json:"isNoStopLoss,omitempty"`

	// IsNoTakeProfit Indication if TakeProfit is enabled for the position. false = enabled, true = disabled
	IsNoTakeProfit *bool `json:"isNoTakeProfit,omitempty"`

	// IsPartiallyAltered Indication whether this position was partially closed
	IsPartiallyAltered *bool `json:"isPartiallyAltered,omitempty"`

	// IsSettled Obsolete
	IsSettled *bool `json:"isSettled,omitempty"`

	// IsTslEnabled Indication if TrailingStopLoss feature is active on this position
	IsTslEnabled *bool `json:"isTslEnabled,omitempty"`

	// Leverage Leverage multiplier applied to the position
	Leverage *float32 `json:"leverage,omitempty"`

	// LotCount Number of lots the position represents. For FutureContracts this value represents the number of contracts acquired
	LotCount *float32 `json:"lotCount,omitempty"`

	// MirrorID Mirror ID if the position is part of copy trading, 0 otherwise
	MirrorID *int `json:"mirrorID,omitempty"`

	// OpenConversionRate Conversion rate at position opening
	OpenConversionRate *float32 `json:"openConversionRate,omitempty"`

	// OpenDateTime Timestamp when the position was opened in ISO 8601 format
	OpenDateTime *time.Time `json:"openDateTime,omitempty"`

	// OpenPositionActionType Position open reason
	OpenPositionActionType *int `json:"openPositionActionType,omitempty"`

	// OpenRate Entry price of the position in the instrument's currency
	OpenRate *float32 `json:"openRate,omitempty"`

	// OrderID Original orderID the position was opened by. Need to match together with orderType
	OrderID *int `json:"orderID,omitempty"`

	// OrderType Original orderType of the order the position was opened by. Need to match together with orderID
	OrderType *int `json:"orderType,omitempty"`

	// ParentPositionID Parent position ID for mirrored positions, 0 otherwise
	ParentPositionID *int `json:"parentPositionID,omitempty"`

	// PnlVersion Pnl formula used for calculating profit and loss
	PnlVersion *int `json:"pnlVersion,omitempty"`

	// PositionID Unique identifier for the position
	PositionID *int `json:"positionID,omitempty"`

	// RedeemStatusID If the position is currently in redeem process, this value represents the current status
	RedeemStatusID *int `json:"redeemStatusID,omitempty"`

	// SettlementTypeID Position investment type. 0 - CFD, 1 - Real Asset, 2 - SWAP, 3 - Crypto MarginTrade, 4 - Future Contract
	SettlementTypeID *int `json:"settlementTypeID,omitempty"`

	// StopLossRate The stop-loss trigger price at which the position will generate a Market Order to close (after it was opened). StopLoss trigger price must be worse than current price.
	StopLossRate *float32 `json:"stopLossRate,omitempty"`

	// StopLossVersion Manual stop loss edit version. Each time StopLossRate is manually update this value is incremented
	StopLossVersion *int `json:"stopLossVersion,omitempty"`

	// TakeProfitRate The take-profit trigger price at which the position will generate a Market Order to close (after it has opened). TakeProfit trigger price must be better than the current price.
	TakeProfitRate *float32 `json:"takeProfitRate,omitempty"`

	// TotalExternalFees Total fees in USD charged on the position. Example - TicketFee. This value does not include overnight fees and dividends
	TotalExternalFees *float32 `json:"totalExternalFees,omitempty"`

	// TotalExternalTaxes Total taxes in USD charged on the position. Example - SDRT
	TotalExternalTaxes *float32 `json:"totalExternalTaxes,omitempty"`

	// TotalFees Total overnight fees and dividends charged/paid on the position in USD. Negative amount represents refund
	TotalFees *float32 `json:"totalFees,omitempty"`

	// Units Number of units in the position
	Units *float32 `json:"units,omitempty"`

	// UnitsBaseValueDollars Current units invested value in USD
	UnitsBaseValueDollars *float32 `json:"unitsBaseValueDollars,omitempty"`
}

TradingRealApiPosition Individual position details

type TransferAccountRef

type TransferAccountRef struct {
	// AccountId Account identifier
	//
	// Example: ACC-100100
	AccountId   string                 `json:"accountId"`
	AccountType MoneybusApiAccountType `json:"accountType"`
}

TransferAccountRef Account identifier for a transfer participant

type TransferEligibility

type TransferEligibility struct {
	DestinationAccounts *[]AccountIdentifier `json:"destinationAccounts,omitempty"`
	SourceAccount       AccountIdentifier    `json:"sourceAccount"`
}

TransferEligibility defines model for TransferEligibility.

type TransferFeeConfigurationRow

type TransferFeeConfigurationRow struct {
	// DestinationAccountType Destination AccountType (trading, options, cash, moneyFarm).
	DestinationAccountType string `json:"destinationAccountType"`

	// DestinationCurrency Destination currency as ISO 4217 alphabetic code.
	//
	// Example: EUR
	DestinationCurrency string `json:"destinationCurrency"`

	// PercentageFee Percentage fee applicable to this route.
	PercentageFee float64 `json:"percentageFee"`

	// SourceAccountType Source AccountType (trading, options, cash, moneyFarm).
	SourceAccountType string `json:"sourceAccountType"`

	// SourceCurrency Source currency as ISO 4217 alphabetic code.
	//
	// Example: USD
	SourceCurrency string `json:"sourceCurrency"`
}

TransferFeeConfigurationRow Transfer fee configuration for a source/destination account type and currency pair

type TransferLimitRow

type TransferLimitRow struct {
	// DestinationAccountType Destination AccountType (trading, options, cash, moneyFarm).
	DestinationAccountType string `json:"destinationAccountType"`

	// MaxAmount Maximum transfer amount allowed for this route.
	MaxAmount float64 `json:"maxAmount"`

	// MinAmount Minimum transfer amount allowed for this route.
	MinAmount float64 `json:"minAmount"`

	// SourceAccountType Source AccountType (trading, options, cash, moneyFarm).
	SourceAccountType string `json:"sourceAccountType"`
}

TransferLimitRow Transfer limit for a source/destination account type pair

type TransferLookupDestination

type TransferLookupDestination struct {
	AccountCurrency *string `json:"accountCurrency,omitempty"`

	// AccountReferenceId Reference identifier for the transaction amount posted on this leg's sub-account (omit or empty when not applicable).
	AccountReferenceId *string                 `json:"accountReferenceId,omitempty"`
	DestinationAccount LookupAccountIdentifier `json:"destinationAccount"`

	// ExchangeFeeInAccountCurrency Exchange fee amount in accountCurrency for this leg.
	ExchangeFeeInAccountCurrency *float64 `json:"exchangeFeeInAccountCurrency,omitempty"`
	ExchangeRate                 *float64 `json:"exchangeRate,omitempty"`
}

TransferLookupDestination defines model for TransferLookupDestination.

type TransferLookupResponse

type TransferLookupResponse struct {
	Amount  float64   `json:"amount"`
	Created time.Time `json:"created"`

	// Currency ISO 4217 alphabetic code.
	Currency    string                    `json:"currency"`
	Destination TransferLookupDestination `json:"destination"`
	Id          int64                     `json:"id"`
	Modified    time.Time                 `json:"modified"`
	ReferenceId string                    `json:"referenceId"`
	Source      TransferLookupSource      `json:"source"`

	// Status Transfer-level status (product-defined strings, e.g. pending, completed, failed).
	Status       string `json:"status"`
	StatusReason string `json:"statusReason"`
}

TransferLookupResponse defines model for TransferLookupResponse.

type TransferLookupResult

type TransferLookupResult struct {
	// Results List of transfers matching the lookup (zero or more). Empty if none match.
	Results []TransferLookupResponse `json:"results"`
}

TransferLookupResult defines model for TransferLookupResult.

type TransferLookupSource

type TransferLookupSource struct {
	AccountCurrency *string `json:"accountCurrency,omitempty"`

	// AccountReferenceId Reference identifier for the transaction amount posted on this leg's sub-account (omit or empty when not applicable).
	AccountReferenceId *string `json:"accountReferenceId,omitempty"`

	// ExchangeFeeInAccountCurrency Exchange fee amount in accountCurrency for this leg.
	ExchangeFeeInAccountCurrency *float64                `json:"exchangeFeeInAccountCurrency,omitempty"`
	ExchangeRate                 *float64                `json:"exchangeRate,omitempty"`
	HoldReferenceId              *string                 `json:"holdReferenceId,omitempty"`
	SourceAccount                LookupAccountIdentifier `json:"sourceAccount"`
}

TransferLookupSource defines model for TransferLookupSource.

type TransferableBalanceResponse

type TransferableBalanceResponse struct {
	// AmountInUsd transferableAmount expressed in USD for display or analytics.
	//
	// Example: 1500.5
	AmountInUsd float64 `json:"amountInUsd"`

	// Currency ISO 4217 alphabetic currency code for transferableAmount.
	//
	// Example: USD
	Currency string `json:"currency"`

	// DestinationAccount Account identifier for a transfer participant
	DestinationAccount TransferAccountRef `json:"destinationAccount"`

	// ExchangeRate Raw FX rate used to derive amountInUsd from the amount in currency.
	//
	// Example: 1
	ExchangeRate float64 `json:"exchangeRate"`

	// SourceAccount Account identifier for a transfer participant
	SourceAccount TransferAccountRef `json:"sourceAccount"`

	// TransferableAmount Maximum amount the user may transfer on this route in Currency.
	//
	// Example: 1500.5
	TransferableAmount float64 `json:"transferableAmount"`
}

TransferableBalanceResponse Transferable balance for a source/destination account pair

type UnifiedOrderResponse

type UnifiedOrderResponse struct {
	// OrderId The unique identifier of the created order.
	//
	// Example: 13902598
	OrderId *int64 `json:"orderId,omitempty"`

	// ReferenceId The client reference identifier for the order, matching the X-Request-Id header if provided.
	//
	// Example: 1c94300c-90aa-4303-9d00-dec376d74efb
	ReferenceId *openapi_types.UUID `json:"referenceId,omitempty"`

	// Token A tracking token for the order request, used for correlation and debugging.
	//
	// Example: 066faaee-e1e9-49d2-a568-c6e1cc336ad8
	Token *openapi_types.UUID `json:"token,omitempty"`
}

UnifiedOrderResponse Response payload after successfully submitting an order.

type UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2JSONRequestBody

type UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2JSONRequestBody = UpdateUserTokenV2Request

UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2JSONRequestBody defines body for UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2 for application/json ContentType.

type UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Params

type UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Params struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Params defines parameters for UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2.

type UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response

type UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *AgentPortfolioApiErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *AgentPortfolioApiErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *AgentPortfolioApiErrorResponse
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *AgentPortfolioApiErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *AgentPortfolioApiErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *AgentPortfolioApiErrorResponse
	// Headers204 the parsed response headers for an HTTP 204 response
	Headers204 *UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response204Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response429Headers
}

func ParseUpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response

func ParseUpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response(rsp *http.Response) (*UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response, error)

ParseUpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response parses an HTTP response from a UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2WithResponse call

func (UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response) GetBody

GetBody returns the raw response body bytes

func (UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response) Status

Status returns HTTPResponse.Status

func (UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response) StatusCode

StatusCode returns HTTPResponse.StatusCode

type UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response204Headers

type UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response204Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response204Headers the declared response headers of an HTTP 204 response for UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2

type UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response429Headers

type UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2Response429Headers the declared response headers of an HTTP 429 response for UpdateAgentPortfoliosByAgentPortfolioIdUserTokensByUserTokenIdV2

type UpdateApplicationBody

type UpdateApplicationBody struct {
	// AllowedGcids GCIDs permitted to use this application. Pass an empty array to clear.
	AllowedGcids *[]int64 `json:"allowedGcids,omitempty"`

	// ApplicationIconUrl Updated icon URL.
	ApplicationIconUrl *string `json:"applicationIconUrl,omitempty"`

	// ApplicationName Updated display name.
	ApplicationName *string `json:"applicationName,omitempty"`

	// RedirectUris Replacement set of redirect URIs.
	RedirectUris *[]string `json:"redirectUris,omitempty"`

	// Scopes Replacement set of scopes. Each `scopeId` must be positive and present in the cached catalog; no duplicates.
	Scopes *[]ScopeItem `json:"scopes,omitempty"`
}

UpdateApplicationBody At least one field must be provided. Omitted fields are left unchanged.

type UpdateApplicationResponse

type UpdateApplicationResponse struct {
	// Application Full application record. The `clientSecret` is intentionally excluded.
	Application *ApplicationItem `json:"application,omitempty"`
}

UpdateApplicationResponse defines model for UpdateApplicationResponse.

type UpdateApplicationsByClientIdJSONRequestBody

type UpdateApplicationsByClientIdJSONRequestBody = UpdateApplicationBody

UpdateApplicationsByClientIdJSONRequestBody defines body for UpdateApplicationsByClientId for application/json ContentType.

type UpdateApplicationsByClientIdParams

type UpdateApplicationsByClientIdParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

UpdateApplicationsByClientIdParams defines parameters for UpdateApplicationsByClientId.

type UpdateApplicationsByClientIdResponse

type UpdateApplicationsByClientIdResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON200 the response for an HTTP 200 `application/json` response
	JSON200 *UpdateApplicationResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *StsMetadataFrontApiErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *StsMetadataFrontApiErrorResponse
	// Headers200 the parsed response headers for an HTTP 200 response
	Headers200 *UpdateApplicationsByClientIdResponse200Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *UpdateApplicationsByClientIdResponse429Headers
}

func ParseUpdateApplicationsByClientIdResponse

func ParseUpdateApplicationsByClientIdResponse(rsp *http.Response) (*UpdateApplicationsByClientIdResponse, error)

ParseUpdateApplicationsByClientIdResponse parses an HTTP response from a UpdateApplicationsByClientIdWithResponse call

func (UpdateApplicationsByClientIdResponse) ContentType

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (UpdateApplicationsByClientIdResponse) GetBody

GetBody returns the raw response body bytes

func (UpdateApplicationsByClientIdResponse) GetJSON200

GetJSON200 returns the response for an HTTP 200 `application/json` response

func (UpdateApplicationsByClientIdResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (UpdateApplicationsByClientIdResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (UpdateApplicationsByClientIdResponse) Status

Status returns HTTPResponse.Status

func (UpdateApplicationsByClientIdResponse) StatusCode

StatusCode returns HTTPResponse.StatusCode

type UpdateApplicationsByClientIdResponse200Headers

type UpdateApplicationsByClientIdResponse200Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

UpdateApplicationsByClientIdResponse200Headers the declared response headers of an HTTP 200 response for UpdateApplicationsByClientId

type UpdateApplicationsByClientIdResponse429Headers

type UpdateApplicationsByClientIdResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

UpdateApplicationsByClientIdResponse429Headers the declared response headers of an HTTP 429 response for UpdateApplicationsByClientId

type UpdateDemoPositionJSONRequestBody

type UpdateDemoPositionJSONRequestBody = UpdatePositionRequest

UpdateDemoPositionJSONRequestBody defines body for UpdateDemoPosition for application/json ContentType.

type UpdateDemoPositionParams

type UpdateDemoPositionParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

UpdateDemoPositionParams defines parameters for UpdateDemoPosition.

type UpdateDemoPositionResponse

type UpdateDemoPositionResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON202 the response for an HTTP 202 `application/json` response
	JSON202 *UpdatePositionResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *ProblemDetails
	// JSON409 the response for an HTTP 409 `application/json` response
	JSON409 *ProblemDetails
	// Headers202 the parsed response headers for an HTTP 202 response
	Headers202 *UpdateDemoPositionResponse202Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *UpdateDemoPositionResponse429Headers
}

func ParseUpdateDemoPositionResponse

func ParseUpdateDemoPositionResponse(rsp *http.Response) (*UpdateDemoPositionResponse, error)

ParseUpdateDemoPositionResponse parses an HTTP response from a UpdateDemoPositionWithResponse call

func (UpdateDemoPositionResponse) ContentType

func (r UpdateDemoPositionResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (UpdateDemoPositionResponse) GetBody

func (r UpdateDemoPositionResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (UpdateDemoPositionResponse) GetJSON202

GetJSON202 returns the response for an HTTP 202 `application/json` response

func (UpdateDemoPositionResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (UpdateDemoPositionResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (UpdateDemoPositionResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (UpdateDemoPositionResponse) GetJSON409

GetJSON409 returns the response for an HTTP 409 `application/json` response

func (UpdateDemoPositionResponse) Status

Status returns HTTPResponse.Status

func (UpdateDemoPositionResponse) StatusCode

func (r UpdateDemoPositionResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type UpdateDemoPositionResponse202Headers

type UpdateDemoPositionResponse202Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

UpdateDemoPositionResponse202Headers the declared response headers of an HTTP 202 response for UpdateDemoPosition

type UpdateDemoPositionResponse429Headers

type UpdateDemoPositionResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

UpdateDemoPositionResponse429Headers the declared response headers of an HTTP 429 response for UpdateDemoPosition

type UpdatePositionRequest

type UpdatePositionRequest struct {
	// ClearStopLoss When true, removes stop-loss from the position, if the system allows the position to clear its stop loss. Normally it cannot be done for leveraged and future positions.
	ClearStopLoss *bool `json:"clearStopLoss,omitempty"`

	// ClearTakeProfit When true, removes take-profit from the position.
	ClearTakeProfit *bool `json:"clearTakeProfit,omitempty"`

	// StopLossRate New stop-loss rate for the position. Note that deepening a stop loss beyond the allowed maximum stop loss will cause funds to be transferred from the account balance into the position margin.
	StopLossRate *float32 `json:"stopLossRate,omitempty"`

	// StopLossType Stop-loss type. `fixed` - the stop-loss rate does not change. `trailing` - the stop-loss rate moves up whenever the instrument rate goes up such that the stop loss is triggered from the same distance from the last peak rate as the distance of the stop-loss rate from the rate at the open.
	StopLossType *UpdatePositionRequestStopLossType `json:"stopLossType,omitempty"`

	// TakeProfitRate New take-profit rate for the position.
	TakeProfitRate *float32 `json:"takeProfitRate,omitempty"`
}

UpdatePositionRequest Request payload for patching position stop-loss and take-profit risk parameters.

type UpdatePositionRequestStopLossType

type UpdatePositionRequestStopLossType string

UpdatePositionRequestStopLossType Stop-loss type. `fixed` - the stop-loss rate does not change. `trailing` - the stop-loss rate moves up whenever the instrument rate goes up such that the stop loss is triggered from the same distance from the last peak rate as the distance of the stop-loss rate from the rate at the open.

const (
	UpdatePositionRequestStopLossTypeFixed    UpdatePositionRequestStopLossType = "fixed"
	UpdatePositionRequestStopLossTypeTrailing UpdatePositionRequestStopLossType = "trailing"
)

Defines values for UpdatePositionRequestStopLossType.

func (UpdatePositionRequestStopLossType) Valid

Valid indicates whether the value is a known member of the UpdatePositionRequestStopLossType enum.

type UpdatePositionResponse

type UpdatePositionResponse struct {
	// OperationId Correlation identifier for the accepted edit operation.
	OperationId openapi_types.UUID `json:"operationId"`

	// PositionId The position identifier from the route.
	PositionId int64 `json:"positionId"`

	// ReferenceId Client reference identifier from x-request-id header.
	ReferenceId openapi_types.UUID `json:"referenceId"`
}

UpdatePositionResponse Response returned when a position edit request is accepted for asynchronous processing.

type UpdatePriceAlertRequest

type UpdatePriceAlertRequest struct {
	// TargetPrice New target price for the alert. Must be greater than 0.
	//
	// Example: 190
	TargetPrice float32 `json:"targetPrice"`
}

UpdatePriceAlertRequest Request body for updating an existing price alert

type UpdateRealPositionJSONRequestBody

type UpdateRealPositionJSONRequestBody = UpdatePositionRequest

UpdateRealPositionJSONRequestBody defines body for UpdateRealPosition for application/json ContentType.

type UpdateRealPositionParams

type UpdateRealPositionParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`
}

UpdateRealPositionParams defines parameters for UpdateRealPosition.

type UpdateRealPositionResponse

type UpdateRealPositionResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON202 the response for an HTTP 202 `application/json` response
	JSON202 *UpdatePositionResponse
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *ProblemDetails
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *ProblemDetails
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *ProblemDetails
	// JSON409 the response for an HTTP 409 `application/json` response
	JSON409 *ProblemDetails
	// Headers202 the parsed response headers for an HTTP 202 response
	Headers202 *UpdateRealPositionResponse202Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *UpdateRealPositionResponse429Headers
}

func ParseUpdateRealPositionResponse

func ParseUpdateRealPositionResponse(rsp *http.Response) (*UpdateRealPositionResponse, error)

ParseUpdateRealPositionResponse parses an HTTP response from a UpdateRealPositionWithResponse call

func (UpdateRealPositionResponse) ContentType

func (r UpdateRealPositionResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (UpdateRealPositionResponse) GetBody

func (r UpdateRealPositionResponse) GetBody() []byte

GetBody returns the raw response body bytes

func (UpdateRealPositionResponse) GetJSON202

GetJSON202 returns the response for an HTTP 202 `application/json` response

func (UpdateRealPositionResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (UpdateRealPositionResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (UpdateRealPositionResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (UpdateRealPositionResponse) GetJSON409

GetJSON409 returns the response for an HTTP 409 `application/json` response

func (UpdateRealPositionResponse) Status

Status returns HTTPResponse.Status

func (UpdateRealPositionResponse) StatusCode

func (r UpdateRealPositionResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type UpdateRealPositionResponse202Headers

type UpdateRealPositionResponse202Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

UpdateRealPositionResponse202Headers the declared response headers of an HTTP 202 response for UpdateRealPosition

type UpdateRealPositionResponse429Headers

type UpdateRealPositionResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

UpdateRealPositionResponse429Headers the declared response headers of an HTTP 429 response for UpdateRealPosition

type UpdateSubAccountUserTokenJSONRequestBody

type UpdateSubAccountUserTokenJSONRequestBody = UpdateSubAccountUserTokenRequest

UpdateSubAccountUserTokenJSONRequestBody defines body for UpdateSubAccountUserToken for application/json ContentType.

type UpdateSubAccountUserTokenParams

type UpdateSubAccountUserTokenParams struct {
	// XRequestId A unique request identifier.
	XRequestId openapi_types.UUID `json:"x-request-id"`

	// XSubAccountId The encrypted sub-account identifier. The backend validates that it decrypts to a sub-account owned by the caller's token gcid.
	XSubAccountId string `json:"x-sub-account-id"`
}

UpdateSubAccountUserTokenParams defines parameters for UpdateSubAccountUserToken.

type UpdateSubAccountUserTokenRequest

type UpdateSubAccountUserTokenRequest struct {
	// ExpiresAt The replacement UTC expiration.
	//
	// Example: 2026-12-31T23:59:59Z
	ExpiresAt *time.Time `json:"expiresAt,omitempty"`

	// IpsWhitelist The replacement IPv4 whitelist.
	//
	// Example: ["192.168.1.1"]
	IpsWhitelist *[]string `json:"ipsWhitelist,omitempty"`

	// ScopeNames The replacement scope names. When provided, must be a subset of the scopes returned by GET /api/v1/sub-accounts/etoro-trading/user-tokens/scopes.
	//
	// Example: ["etoro-public:trade.real:read"]
	ScopeNames *[]string `json:"scopeNames,omitempty"`
}

UpdateSubAccountUserTokenRequest defines model for UpdateSubAccountUserTokenRequest.

type UpdateSubAccountUserTokenResponse

type UpdateSubAccountUserTokenResponse struct {
	Body         []byte
	HTTPResponse *http.Response
	// JSON400 the response for an HTTP 400 `application/json` response
	JSON400 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON401 the response for an HTTP 401 `application/json` response
	JSON401 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON403 the response for an HTTP 403 `application/json` response
	JSON403 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON404 the response for an HTTP 404 `application/json` response
	JSON404 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON429 the response for an HTTP 429 `application/json` response
	JSON429 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// JSON500 the response for an HTTP 500 `application/json` response
	JSON500 *EtoroTradingSubAccountsOperationsApiErrorResponse
	// Headers204 the parsed response headers for an HTTP 204 response
	Headers204 *UpdateSubAccountUserTokenResponse204Headers
	// Headers429 the parsed response headers for an HTTP 429 response
	Headers429 *UpdateSubAccountUserTokenResponse429Headers
}

func ParseUpdateSubAccountUserTokenResponse

func ParseUpdateSubAccountUserTokenResponse(rsp *http.Response) (*UpdateSubAccountUserTokenResponse, error)

ParseUpdateSubAccountUserTokenResponse parses an HTTP response from a UpdateSubAccountUserTokenWithResponse call

func (UpdateSubAccountUserTokenResponse) ContentType

func (r UpdateSubAccountUserTokenResponse) ContentType() string

ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers

func (UpdateSubAccountUserTokenResponse) GetBody

GetBody returns the raw response body bytes

func (UpdateSubAccountUserTokenResponse) GetJSON400

GetJSON400 returns the response for an HTTP 400 `application/json` response

func (UpdateSubAccountUserTokenResponse) GetJSON401

GetJSON401 returns the response for an HTTP 401 `application/json` response

func (UpdateSubAccountUserTokenResponse) GetJSON403

GetJSON403 returns the response for an HTTP 403 `application/json` response

func (UpdateSubAccountUserTokenResponse) GetJSON404

GetJSON404 returns the response for an HTTP 404 `application/json` response

func (UpdateSubAccountUserTokenResponse) GetJSON429

GetJSON429 returns the response for an HTTP 429 `application/json` response

func (UpdateSubAccountUserTokenResponse) GetJSON500

GetJSON500 returns the response for an HTTP 500 `application/json` response

func (UpdateSubAccountUserTokenResponse) Status

Status returns HTTPResponse.Status

func (UpdateSubAccountUserTokenResponse) StatusCode

func (r UpdateSubAccountUserTokenResponse) StatusCode() int

StatusCode returns HTTPResponse.StatusCode

type UpdateSubAccountUserTokenResponse204Headers

type UpdateSubAccountUserTokenResponse204Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
}

UpdateSubAccountUserTokenResponse204Headers the declared response headers of an HTTP 204 response for UpdateSubAccountUserToken

type UpdateSubAccountUserTokenResponse429Headers

type UpdateSubAccountUserTokenResponse429Headers struct {
	RateLimitLimit     *int
	RateLimitPolicy    *string
	RateLimitRemaining *int
	RateLimitReset     *int
	RetryAfter         *int
}

UpdateSubAccountUserTokenResponse429Headers the declared response headers of an HTTP 429 response for UpdateSubAccountUserToken

type UpdateUserTokenV2Request

type UpdateUserTokenV2Request struct {
	// ExpiresAt An updated expiration date and time (UTC) for the token.
	//
	// Example: 2026-12-31T23:59:59Z
	ExpiresAt *time.Time `json:"expiresAt,omitempty"`

	// IpsWhitelist An updated set of IPv4 addresses allowed to use this token.
	//
	// Example: ["192.168.1.1"]
	IpsWhitelist *[]string `json:"ipsWhitelist,omitempty"`

	// ScopeNames An updated set of permission scope names for the 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"]
	ScopeNames *[]string `json:"scopeNames,omitempty"`
}

UpdateUserTokenV2Request defines model for UpdateUserTokenV2Request.

type UserEnrichData

type UserEnrichData struct {
	// Cid Customer id of the user.
	//
	// Example: 12345
	Cid *int32 `json:"Cid,omitempty"`

	// Avatar Instrument or user avatar in multiple sizes.
	Avatar *WatchlistApiAvatar `json:"avatar,omitempty"`

	// ChangePercentage1M Performance change over the last month.
	ChangePercentage1M *float64 `json:"changePercentage1M,omitempty"`

	// ChangePercentage1Y Performance change over the last year.
	ChangePercentage1Y *float64 `json:"changePercentage1Y,omitempty"`

	// ChangePercentage3M Performance change over the last 3 months.
	ChangePercentage3M *float64 `json:"changePercentage3M,omitempty"`

	// ChangePercentage6M Performance change over the last 6 months.
	ChangePercentage6M *float64 `json:"changePercentage6M,omitempty"`

	// Copiers Number of users copying this investor.
	Copiers *int32 `json:"copiers,omitempty"`

	// FullName Full name of the user.
	FullName *string `json:"fullName,omitempty"`

	// IsPi Whether the user is a Popular Investor.
	IsPi *bool `json:"isPi,omitempty"`

	// Return1M Return over the last month.
	Return1M *float64 `json:"return1M,omitempty"`

	// Return1Y Return over the last year.
	Return1Y *float64 `json:"return1Y,omitempty"`

	// Return3M Return over the last 3 months.
	Return3M *float64 `json:"return3M,omitempty"`

	// Return6M Return over the last 6 months.
	Return6M *float64 `json:"return6M,omitempty"`

	// RiskScore1M Risk score over the last month.
	RiskScore1M *int32 `json:"riskScore1M,omitempty"`

	// RiskScore1Y Risk score over the last year.
	RiskScore1Y *int32 `json:"riskScore1Y,omitempty"`

	// RiskScore3M Risk score over the last 3 months.
	RiskScore3M *int32 `json:"riskScore3M,omitempty"`

	// RiskScore6M Risk score over the last 6 months.
	RiskScore6M *int32 `json:"riskScore6M,omitempty"`

	// Username Username.
	//
	// Example: johndoe
	Username *string `json:"username,omitempty"`
}

UserEnrichData Enrichment data for a user (popular investor) referenced by a watchlist item.

type UserOffersData

type UserOffersData struct {
	// CurrentPlayerLevelAvailableOffers Offers available at the user's current club tier
	CurrentPlayerLevelAvailableOffers *[]ClubOffer `json:"currentPlayerLevelAvailableOffers,omitempty"`

	// NextPlayerLevelAvailableOffers Offers that become available at the next club tier
	NextPlayerLevelAvailableOffers *[]ClubOffer `json:"nextPlayerLevelAvailableOffers,omitempty"`

	// StaticEligibleOffers Offers eligible across specific club tiers
	StaticEligibleOffers *[]StaticEligibleOffer `json:"staticEligibleOffers,omitempty"`
}

UserOffersData Club offers categorized by availability

type UserTokenItem

type UserTokenItem struct {
	// ClientId The OAuth client identifier associated with the token.
	//
	// Example: 7c9e6679-7425-40de-944b-e07fc1f90ae7
	ClientId *openapi_types.UUID `json:"clientId,omitempty"`

	// CreatedAt When this user token was created, if known.
	//
	// Example: 2026-06-06T10:15:00Z
	CreatedAt *time.Time `json:"createdAt,omitempty"`

	// ExpiresAt The UTC expiration of the token, if one was set.
	//
	// Example: 2026-12-31T23:59:59Z
	ExpiresAt *time.Time `json:"expiresAt,omitempty"`

	// IpsWhitelist The IPv4 addresses the token is restricted to, if any.
	//
	// Example: ["192.168.1.1"]
	IpsWhitelist *[]string `json:"ipsWhitelist,omitempty"`

	// Scopes The scopes granted to the token.
	Scopes *[]ScopeNameItem `json:"scopes,omitempty"`

	// UserTokenId The unique identifier of the user token.
	//
	// Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
	UserTokenId *openapi_types.UUID `json:"userTokenId,omitempty"`

	// UserTokenName The friendly display name assigned to the token.
	//
	// Example: my-trading-bot
	UserTokenName *string `json:"userTokenName,omitempty"`
}

UserTokenItem defines model for UserTokenItem.

type WatchlistApiAvatar

type WatchlistApiAvatar struct {
	// Large URL of the large avatar image.
	Large *string `json:"large,omitempty"`

	// Medium URL of the medium avatar image.
	Medium *string `json:"medium,omitempty"`

	// Small URL of the small avatar image.
	Small *string `json:"small,omitempty"`

	// Svg SVG avatar with background and text colors.
	Svg *SvgAvatar `json:"svg,omitempty"`
}

WatchlistApiAvatar Instrument or user avatar in multiple sizes.

type WatchlistComponentResponse

type WatchlistComponentResponse struct {
	// Actions Client actions available on the component, keyed by action name
	Actions *map[string]interface{} `json:"actions,omitempty"`

	// Data Component payload containing the user's watchlists and enrichment data
	Data *struct {
		// EnrichmentData Shared enrichment data referenced by the watchlist items, keyed by item identifier. Instruments are keyed by instrument id; users and smart portfolios are keyed by GCID.
		EnrichmentData *struct {
			// Instruments Market enrichment data for instrument items, keyed by instrument id.
			Instruments *map[string]MarketEnrichData `json:"instruments,omitempty"`

			// SmartPortfolios Smart-portfolio enrichment data for smart-portfolio items, keyed by GCID.
			SmartPortfolios *map[string]SmartPortfolioEnrichData `json:"smartPortfolios,omitempty"`

			// Users Popular-investor enrichment data for user items, keyed by GCID.
			Users *map[string]UserEnrichData `json:"users,omitempty"`
		} `json:"enrichmentData,omitempty"`

		// Pagination Pagination applied to the watchlist items
		Pagination *struct {
			// HasNext Example: false
			HasNext *bool `json:"hasNext,omitempty"`

			// Page Example: 0
			Page *int32 `json:"page,omitempty"`

			// PageSize Example: 100
			PageSize *int32 `json:"pageSize,omitempty"`

			// TotalCount Example: 1
			TotalCount *int32 `json:"totalCount,omitempty"`
		} `json:"pagination,omitempty"`

		// Watchlists User watchlists, enriched for client rendering
		Watchlists *[]struct {
			// Gcid Global Customer ID of the watchlist owner
			//
			// Example: 12345
			Gcid *int32 `json:"Gcid,omitempty"`

			// DynamicUrl URL for dynamic watchlist queries
			DynamicUrl *string `json:"dynamicUrl,omitempty"`

			// IsDefault Whether this is a default system watchlist
			//
			// Example: true
			IsDefault *bool `json:"isDefault,omitempty"`

			// IsUserSelectedDefault Whether this is the user's selected default watchlist
			//
			// Example: true
			IsUserSelectedDefault *bool `json:"isUserSelectedDefault,omitempty"`

			// Items Items contained in the watchlist
			//
			// Example: [{"itemId":12345,"itemRank":1,"itemType":"Instrument"}]
			Items *[]WatchlistItemDto `json:"items,omitempty"`

			// Name Display name of the watchlist
			//
			// Example: Tech Watchlist
			Name *string `json:"name,omitempty"`

			// RelatedAssets Related asset IDs
			//
			// Example: [12345,67890]
			RelatedAssets *[]int32 `json:"relatedAssets,omitempty"`

			// TotalItems Total number of items in the watchlist
			//
			// Example: 100
			TotalItems *int32 `json:"totalItems,omitempty"`

			// UserActions Which watchlist operations the caller may offer for this watchlist
			UserActions *struct {
				// EnableAddingItems Example: true
				EnableAddingItems *bool `json:"enableAddingItems,omitempty"`

				// EnableDelete Example: true
				EnableDelete *bool `json:"enableDelete,omitempty"`

				// EnableRearrangedWithDragAndDrop Example: true
				EnableRearrangedWithDragAndDrop *bool `json:"enableRearrangedWithDragAndDrop,omitempty"`

				// EnableRename Example: true
				EnableRename *bool `json:"enableRename,omitempty"`

				// EnableSetAsDefault Example: true
				EnableSetAsDefault *bool `json:"enableSetAsDefault,omitempty"`
			} `json:"userActions,omitempty"`

			// WatchlistId Unique identifier of the watchlist
			//
			// Example: 12345
			WatchlistId *string `json:"watchlistId,omitempty"`

			// WatchlistRank Display order rank of the watchlist
			//
			// Example: 1
			WatchlistRank *int32 `json:"watchlistRank,omitempty"`

			// WatchlistType Type of the watchlist
			//
			// Example: Static
			WatchlistType *WatchlistComponentResponseDataWatchlistsWatchlistType `json:"watchlistType,omitempty"`
		} `json:"watchlists,omitempty"`
	} `json:"data,omitempty"`
	Errors *[]map[string]interface{} `json:"errors,omitempty"`

	// Kind Example: component
	Kind *string `json:"kind,omitempty"`

	// Meta Component metadata, including the client cache directive
	Meta *struct {
		Cache *struct {
			// MaxAgeSeconds Example: 100
			MaxAgeSeconds *int32 `json:"maxAgeSeconds,omitempty"`
		} `json:"cache,omitempty"`
	} `json:"meta,omitempty"`

	// Status Example: ok
	Status *string `json:"status,omitempty"`

	// Type Component type
	//
	// Example: userWatchlists
	Type *string `json:"type,omitempty"`
}

WatchlistComponentResponse BFF component envelope returned by watchlist V2 facade endpoints

type WatchlistComponentResponseDataWatchlistsWatchlistType

type WatchlistComponentResponseDataWatchlistsWatchlistType string

WatchlistComponentResponseDataWatchlistsWatchlistType Type of the watchlist

Example: Static

const (
	WatchlistComponentResponseDataWatchlistsWatchlistTypeDefault          WatchlistComponentResponseDataWatchlistsWatchlistType = "Default"
	WatchlistComponentResponseDataWatchlistsWatchlistTypeDynamic          WatchlistComponentResponseDataWatchlistsWatchlistType = "Dynamic"
	WatchlistComponentResponseDataWatchlistsWatchlistTypeRecentlyInvested WatchlistComponentResponseDataWatchlistsWatchlistType = "RecentlyInvested"
	WatchlistComponentResponseDataWatchlistsWatchlistTypeStatic           WatchlistComponentResponseDataWatchlistsWatchlistType = "Static"
)

Defines values for WatchlistComponentResponseDataWatchlistsWatchlistType.

func (WatchlistComponentResponseDataWatchlistsWatchlistType) Valid

Valid indicates whether the value is a known member of the WatchlistComponentResponseDataWatchlistsWatchlistType enum.

type WatchlistItemDto

type WatchlistItemDto struct {
	// ItemAddedDate Date and time the item was added
	ItemAddedDate *time.Time `json:"itemAddedDate,omitempty"`

	// ItemAddedReason Reason the item was added to the watchlist
	//
	// Example: Manual
	ItemAddedReason *string `json:"itemAddedReason,omitempty"`

	// ItemId Unique identifier of the financial instrument
	//
	// Example: 12345
	ItemId int32 `json:"itemId"`

	// ItemRank Ranking position of the item in the watchlist
	//
	// Example: 1
	ItemRank *int32 `json:"itemRank,omitempty"`

	// ItemType Type of the financial instrument (e.g., 'Instrument', 'Person')
	//
	// Example: Instrument
	ItemType string `json:"itemType"`

	// Market Market metadata for the instrument when included
	Market *struct {
		AssetTypeId            *int32 `json:"assetTypeId,omitempty"`
		AssetTypeSubCategoryId *int32 `json:"assetTypeSubCategoryId,omitempty"`
		Avatar                 *struct {
			Large  *string `json:"large,omitempty"`
			Medium *string `json:"medium,omitempty"`
			Small  *string `json:"small,omitempty"`

			// Svg SVG avatar with background and text colors
			Svg *struct {
				BackgroundColor *string `json:"backgroundColor,omitempty"`
				TextColor       *string `json:"textColor,omitempty"`
				Url             *string `json:"url,omitempty"`
			} `json:"svg,omitempty"`
		} `json:"avatar,omitempty"`
		DisplayName       *string `json:"displayName,omitempty"`
		ExchangeId        *int32  `json:"exchangeId,omitempty"`
		HasExpirationDate *bool   `json:"hasExpirationDate,omitempty"`
		Id                *string `json:"id,omitempty"`
		SymbolName        *string `json:"symbolName,omitempty"`
	} `json:"market,omitempty"`
}

WatchlistItemDto Represents an item in a watchlist

type WatchlistResponse

type WatchlistResponse struct {
	// Gcid Global Customer ID of the watchlist owner
	//
	// Example: 12345
	Gcid *int32 `json:"Gcid,omitempty"`

	// DynamicUrl URL for dynamic watchlist queries
	DynamicUrl *string `json:"dynamicUrl,omitempty"`

	// IsDefault Whether this is a default system watchlist
	//
	// Example: true
	IsDefault *bool `json:"isDefault,omitempty"`

	// IsUserSelectedDefault Whether this is the user's selected default watchlist
	//
	// Example: true
	IsUserSelectedDefault *bool `json:"isUserSelectedDefault,omitempty"`

	// Items Items contained in the watchlist
	//
	// Example: [{"itemId":12345,"itemRank":1,"itemType":"Instrument"}]
	Items *[]WatchlistItemDto `json:"items,omitempty"`

	// Name Display name of the watchlist
	//
	// Example: Tech Watchlist
	Name *string `json:"name,omitempty"`

	// RelatedAssets Related asset IDs
	//
	// Example: [12345,67890]
	RelatedAssets *[]int32 `json:"relatedAssets,omitempty"`

	// TotalItems Total number of items in the watchlist
	//
	// Example: 100
	TotalItems *int32 `json:"totalItems,omitempty"`

	// WatchlistId Unique identifier of the watchlist
	//
	// Example: 12345
	WatchlistId *string `json:"watchlistId,omitempty"`

	// WatchlistRank Display order rank of the watchlist
	//
	// Example: 1
	WatchlistRank *int32 `json:"watchlistRank,omitempty"`

	// WatchlistType Type of the watchlist
	//
	// Example: Static
	WatchlistType *WatchlistResponseWatchlistType `json:"watchlistType,omitempty"`
}

WatchlistResponse Represents a watchlist with its metadata and items

type WatchlistResponseWatchlistType

type WatchlistResponseWatchlistType string

WatchlistResponseWatchlistType Type of the watchlist

Example: Static

const (
	WatchlistResponseWatchlistTypeDefault          WatchlistResponseWatchlistType = "Default"
	WatchlistResponseWatchlistTypeDynamic          WatchlistResponseWatchlistType = "Dynamic"
	WatchlistResponseWatchlistTypeRecentlyInvested WatchlistResponseWatchlistType = "RecentlyInvested"
	WatchlistResponseWatchlistTypeStatic           WatchlistResponseWatchlistType = "Static"
)

Defines values for WatchlistResponseWatchlistType.

func (WatchlistResponseWatchlistType) Valid

Valid indicates whether the value is a known member of the WatchlistResponseWatchlistType enum.

type WatchlistsResponse

type WatchlistsResponse struct {
	// Exception Exception details when the request partially failed
	Exception *struct {
		// InvalidItems List of invalid item identifiers
		InvalidItems *[]string `json:"invalidItems,omitempty"`

		// Message Human-readable exception message
		Message *string `json:"message,omitempty"`

		// Reason Reason for the exception
		Reason *string `json:"reason,omitempty"`
	} `json:"exception,omitempty"`

	// IsSucceeded Whether the request succeeded
	//
	// Example: true
	IsSucceeded *bool `json:"isSucceeded,omitempty"`

	// Meta Response metadata including pagination info
	Meta *struct {
		// ItemsPerPage Number of items per page
		//
		// Example: 100
		ItemsPerPage *int32 `json:"itemsPerPage,omitempty"`

		// MaxItemsInWatchlistLimit Maximum allowed items per watchlist
		//
		// Example: 1000
		MaxItemsInWatchlistLimit *int32 `json:"maxItemsInWatchlistLimit,omitempty"`

		// MaxWatchlistsLimit Maximum allowed watchlists per user
		//
		// Example: 10
		MaxWatchlistsLimit *int32 `json:"maxWatchlistsLimit,omitempty"`

		// PageNumber Current page number
		//
		// Example: 0
		PageNumber *int32 `json:"pageNumber,omitempty"`
	} `json:"meta,omitempty"`

	// Status HTTP status code of the response
	//
	// Example: 200
	Status *int32 `json:"status,omitempty"`

	// Watchlists List of user watchlists
	Watchlists *[]WatchlistResponse `json:"watchlists,omitempty"`
}

WatchlistsResponse Response containing multiple watchlists with metadata

type Webinar

type Webinar struct {
	// Id Webinar identifier
	//
	// Example: 83618564462
	Id *int64 `json:"id,omitempty"`

	// JoinUrl URL to join the webinar (upcoming webinars only)
	//
	// Example: https://us02web.zoom.us/j/83618564462
	JoinUrl *string `json:"joinUrl,omitempty"`

	// RecordUrl URL to the recording (past webinars only)
	//
	// Example: https://us02web.zoom.us/rec/play/example
	RecordUrl *string `json:"recordUrl,omitempty"`

	// StartTime Scheduled start time in UTC
	//
	// Example: 2026-05-20T14:00:00Z
	StartTime *time.Time `json:"startTime,omitempty"`

	// Topic Webinar topic
	//
	// Example: Club Webinars with Lale Akoner and Sam North
	Topic *string `json:"topic,omitempty"`
}

Webinar A club webinar event

type WebinarsResponse

type WebinarsResponse struct {
	// PreviousWebinars List of past webinars with recordings
	PreviousWebinars *[]Webinar `json:"previousWebinars,omitempty"`

	// UpcomingWebinars List of upcoming webinars the user can join
	UpcomingWebinars *[]Webinar `json:"upcomingWebinars,omitempty"`
}

WebinarsResponse Upcoming and past webinars

Directories

Path Synopsis
Package etorows is a Go client for the eToro public WebSocket API, generated with gen-asyncapi from the AsyncAPI document eToro publishes.
Package etorows is a Go client for the eToro public WebSocket API, generated with gen-asyncapi from the AsyncAPI document eToro publishes.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL