openapi: 3.0.1 info: title: Services.AutoTrading Account Values Accounts API description: 'The AutoTrading service group provides endpoints for interacting with Saxo Bank''s SaxoSelect offering.Through these interfaces a client application can get Saxo Select trade leaders, portfolios and investments. Portfolio investments can be created and modifed.
Note:
This service is subject to special licensing agreements and not generally available to all OpenAPI applications.
' version: 2.4.138+710c760591 x-framework-version: 38.0.2+439c5b0ec3 x-machine: SIMOAWEB11-DK2 servers: - url: https://gateway.saxobank.com/sim/openapi tags: - name: Accounts description: Provide services to get account template and create account. paths: /cm/v2/accounts: post: tags: - Accounts summary: Create account description: Create an additional account for an existing client operationId: AccountsV2CreateAccount requestBody: content: application/json: schema: $ref: '#/components/schemas/Models.CreateAccount' example: ChoiceOfAccount: '65' ClientKey: BxS0VWLta8lJ3SBpjGBQjw== responses: '201': description: Account successfully created content: application/json: schema: $ref: '#/components/schemas/Models.AccountDetails' example: AccountId: '2147279960' AccountKey: BxS0VWLta8lJ3SBpjGBQjw== '500': description: Internal Server Error '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - DocumentVerificationError type: string example: None x-enum-descriptions: DocumentVerificationError: Document verification error Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '404': description: Not Found content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - AccountTemplateNotFound type: string example: None x-enum-descriptions: AccountTemplateNotFound: Account template not found Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [] - OpenApiJWTSecurityScheme: [] x-required-permissions: confidential: Write /port/v1/accounts/subscriptions/{ContextId}/{ReferenceId}: delete: tags: - Accounts summary: Remove subscription description: Removes subscription for the current session identified by subscription id. operationId: AccountsV1DeleteSubscription parameters: - name: ContextId in: path description: Unique streaming context ID part of the streaming session required: true schema: type: string example: '29931122' - name: ReferenceId in: path description: Unique reference ID of the subscription. required: true schema: type: string example: A74231 responses: '204': description: No Content '202': description: Subscription delete request will be processed eventually. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [] - OpenApiJWTSecurityScheme: [] x-required-permissions: personal: Subscribe community: Subscribe /port/v1/accounts/subscriptions/{ContextId}: delete: tags: - Accounts summary: Remove subscriptions by tag description: Removes all subscriptions for the current session on this resource marked with a specific tag, and frees all resources on the server. operationId: AccountsV1DeleteSubscriptions parameters: - name: ContextId in: path description: Unique streaming context ID part of the streaming session. required: true schema: type: string example: '29931122' - name: Tag in: query description: Tag that subscriptions are marked with schema: type: string example: CORE responses: '204': description: No Content '202': description: Subscription delete request will be processed eventually. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [] - OpenApiJWTSecurityScheme: [] x-required-permissions: personal: Subscribe community: Subscribe /port/v1/accounts/subscriptions: post: tags: - Accounts summary: Subscribe to accounts description: Creates a subscription on a list accounts, makes it active and returns an initial snapshot containing a list of accounts as specified by the parameters in the request. operationId: AccountsV1AddActiveSubscription requestBody: content: application/json: schema: $ref: '#/components/schemas/AccountsSubscriptionRequest' example: Arguments: AccountGroupKey: LZTc7DdejXODf-WSl2aCyQ== AccountKey: LZTc7DdejXODf-WSl2aCyQ== ClientKey: 7m4I|vtYLUnEGg77o9uQhw== ContextId: '20221030064905067' Format: application/json ReferenceId: A21312 RefreshRate: 500 Tag: MyAccountRelatedSubscriptions responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/AccountsSubscriptionResponse' example: ContextId: '20221030064905073' Format: application/json InactivityTimeout: 1500 ReferenceId: A70755 RefreshRate: 500 Snapshot: Data: - AccountGroupKey: LZTc7DdejXODf-WSl2aCyQ== AccountId: 192134INET AccountKey: LZTc7DdejXODf-WSl2aCyQ== AccountType: Normal Active: true CanUseCashPositionsAsMarginCollateral: false CfdBorrowingCostsActive: false ClientId: '654321' ClientKey: 7m4I|vtYLUnEGg77o9uQhw== CreationDate: '2017-01-01T13:00:00Z' Currency: EUR CurrencyDecimals: 2 DirectMarketAccess: false FractionalOrderEnabled: false IndividualMargining: false IsCurrencyConversionAtSettlementTime: false IsMarginTradingAllowed: true IsShareable: true IsTrialAccount: false LegalAssetTypes: - FxSpot - Stock - ContractFutures ManagementType: Client MarginCalculationMethod: Default MarginLendingEnabled: None PortfolioBasedMarginEnabled: false Sharing: - TradingFloor SupportsAccountValueProtectionLimit: false UseCashPositionsAsMarginCollateral: false State: Active Tag: MyAccountRelatedSubscriptions '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InvalidClientId - InvalidInput - InvalidModelState - UnsupportedSubscriptionFormat type: string example: None x-enum-descriptions: InvalidModelState: Error code returned when model state is invalid. UnsupportedSubscriptionFormat: Error code returned when a subscription format that isn't supported by the publisher is requested. InvalidClientId: Indicates that the requested client id was invalid. InvalidInput: An error was encountered when processing given input parameters. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '409': description: Conflict content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - SubscriptionLimitExceeded type: string example: None x-enum-descriptions: SubscriptionLimitExceeded: Error code returned when more than the maximum allowed number of subscriptions for a specified type, is exceeded. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [] - OpenApiJWTSecurityScheme: [] x-required-permissions: personal: Subscribe community: Subscribe x-streaming-type: $ref: '#/components/schemas/AccountResponseArray' /port/v1/accounts/{AccountKey}/reset: put: tags: - Accounts summary: Reset trial account description: Resets a trial account. Cannot be used in live environment. operationId: AccountsV1ResetAccount parameters: - name: AccountKey in: path description: Required unique key identifying the account. required: true schema: minLength: 1 type: string x-type-name: AccountKey example: LZTc7DdejXODf-WSl2aCyQ== requestBody: content: application/json: schema: $ref: '#/components/schemas/AccountResetRequest' example: NewBalance: 50000000 responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - NoValidInput - ResetAccountBalanceExceedsMaximum - ResetAccountNegativeBalanceNotAllowed type: string example: None x-enum-descriptions: ResetAccountNegativeBalanceNotAllowed: Negative balances are not allowed. ResetAccountBalanceExceedsMaximum: Balance exceeds maximum allowed value. NoValidInput: No valid input values passed. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [] - OpenApiJWTSecurityScheme: [] x-required-permissions: personal: Write /port/v1/accounts: get: tags: - Accounts summary: Get accounts of a client description: Returns a list of all accounts owned by the specified client operationId: GET_AccountsV1GetAccounts parameters: - name: $inlinecount in: query description: Specifies that the response to the request should include a count of the number of entries in the collection schema: enum: - AllPages - None type: string x-enum-descriptions: None: The result will not contain an inline count AllPages: The result will contain a total count of items in the queried collection example: AllPages - name: $skip in: query description: The number of entries to skip from the beginning of the collection schema: minimum: 0 type: integer format: int32 example: 1 - name: $top in: query description: The number of entries to return from the beginning of the collection schema: minimum: 0 type: integer format: int32 default: 1000 example: 1 - name: ClientKey in: query description: 'The client to which the accounts belong. Default: Logged-in user''s client.' schema: title: 'The client to which the accounts belong. Default: Logged-in user''s client.' minLength: 1 type: string x-type-name: ClientKey example: 493b43a5-fe85-4d1f-9071-dd4a9d4e42a4 - name: IncludeSubAccounts in: query description: Optionally set true to request that all sub accounts are returned. schema: title: Optionally set true to request that all sub accounts are returned. type: boolean example: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AccountResponseListResult' example: __next: /openapi/port/....../?$top=1&$skip=1 Data: - AccountGroupKey: LZTc7DdejXODf-WSl2aCyQ== AccountId: 192134INET AccountKey: LZTc7DdejXODf-WSl2aCyQ== AccountType: Normal Active: true CanUseCashPositionsAsMarginCollateral: false CfdBorrowingCostsActive: false ClientId: '654321' ClientKey: 7m4I|vtYLUnEGg77o9uQhw== CreationDate: '2017-01-01T13:00:00Z' Currency: EUR CurrencyDecimals: 2 DirectMarketAccess: false FractionalOrderEnabled: false IndividualMargining: false IsCurrencyConversionAtSettlementTime: false IsMarginTradingAllowed: true IsShareable: true IsTrialAccount: false LegalAssetTypes: - FxSpot - Stock - ContractFutures ManagementType: Client MarginCalculationMethod: Default MarginLendingEnabled: None PortfolioBasedMarginEnabled: false Sharing: - TradingFloor SupportsAccountValueProtectionLimit: false UseCashPositionsAsMarginCollateral: false '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [] - OpenApiJWTSecurityScheme: [] x-required-permissions: personal: Read community: Read /port/v1/accounts/me: get: tags: - Accounts summary: Get accounts description: Returns all accounts under a particular client to which the logged in user belongs. operationId: AccountsV1GetAccounts parameters: - name: $inlinecount in: query description: Specifies that the response to the request should include a count of the number of entries in the collection schema: enum: - AllPages - None type: string x-enum-descriptions: None: The result will not contain an inline count AllPages: The result will contain a total count of items in the queried collection example: AllPages - name: $skip in: query description: The number of entries to skip from the beginning of the collection schema: minimum: 0 type: integer format: int32 example: 1 - name: $top in: query description: The number of entries to return from the beginning of the collection schema: minimum: 0 type: integer format: int32 default: 1000 example: 1 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AccountResponseListResult' example: __next: /openapi/port/....../?$top=1&$skip=1 Data: - AccountGroupKey: LZTc7DdejXODf-WSl2aCyQ== AccountId: 192134INET AccountKey: LZTc7DdejXODf-WSl2aCyQ== AccountType: Normal Active: true CanUseCashPositionsAsMarginCollateral: false CfdBorrowingCostsActive: false ClientId: '654321' ClientKey: 7m4I|vtYLUnEGg77o9uQhw== CreationDate: '2017-01-01T13:00:00Z' Currency: EUR CurrencyDecimals: 2 DirectMarketAccess: false FractionalOrderEnabled: false IndividualMargining: false IsCurrencyConversionAtSettlementTime: false IsMarginTradingAllowed: true IsShareable: true IsTrialAccount: false LegalAssetTypes: - FxSpot - Stock - ContractFutures ManagementType: Client MarginCalculationMethod: Default MarginLendingEnabled: None PortfolioBasedMarginEnabled: false Sharing: - TradingFloor SupportsAccountValueProtectionLimit: false UseCashPositionsAsMarginCollateral: false '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [] - OpenApiJWTSecurityScheme: [] x-required-permissions: personal: Read community: Read /port/v1/accounts/{AccountKey}: get: tags: - Accounts summary: Get account description: Returns the details about a single account operationId: AccountsV1GetAccount parameters: - name: AccountKey in: path description: Unique key for the account. required: true schema: minLength: 1 type: string x-type-name: AccountKey example: LZTc7DdejXODf-WSl2aCyQ== responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AccountResponse' example: AccountGroupKey: LZTc7DdejXODf-WSl2aCyQ== AccountId: 192134INET AccountKey: LZTc7DdejXODf-WSl2aCyQ== AccountType: Normal Active: true CanUseCashPositionsAsMarginCollateral: false CfdBorrowingCostsActive: false ClientId: '654321' ClientKey: 7m4I|vtYLUnEGg77o9uQhw== CreationDate: '2017-01-01T13:00:00Z' Currency: EUR CurrencyDecimals: 2 DirectMarketAccess: false FractionalOrderEnabled: false IndividualMargining: false IsCurrencyConversionAtSettlementTime: false IsMarginTradingAllowed: true IsShareable: true IsTrialAccount: false LegalAssetTypes: - FxSpot - Stock - ContractFutures ManagementType: Client MarginCalculationMethod: Default MarginLendingEnabled: None PortfolioBasedMarginEnabled: false Sharing: - TradingFloor SupportsAccountValueProtectionLimit: false UseCashPositionsAsMarginCollateral: false '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InvalidInput type: string example: None x-enum-descriptions: InvalidInput: An error was encountered when processing given input parameters. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [] - OpenApiJWTSecurityScheme: [] x-required-permissions: personal: Read community: Read patch: tags: - Accounts summary: Update account description: Updates account details, particularly the user account shield value, the benchmark instrument or the account display name. operationId: AccountsV1UpdateAccount parameters: - name: AccountKey in: path description: Unique key of the account to share. required: true schema: minLength: 1 type: string x-type-name: AccountKey example: LZTc7DdejXODf-WSl2aCyQ== requestBody: content: application/json: schema: $ref: '#/components/schemas/AccountUpdateRequest' example: DisplayName: Trading Account responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - DisableUseCashPositionsAsMarginCollateralNotAllowed - InvalidInput - NoValidInput - WouldExceedMargin type: string example: None x-enum-descriptions: NoValidInput: No valid input values passed. InvalidInput: An error was encountered when processing given input parameters. WouldExceedMargin: Disabling UseCashPositionsAsMarginCollateral would cause the account margin limits to be exceeded and is not allowed. To change this setting, please increase account collateral or reduce margin exposure first. DisableUseCashPositionsAsMarginCollateralNotAllowed: Disabling UseCashPositionsAsMarginCollateral not allowed. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [] - OpenApiJWTSecurityScheme: [] x-required-permissions: personal: Write components: schemas: AccountSubType: title: Describes the sub type of the account. enum: - EquitySaving - None - NorwayASK - PEA - PEA_PME - SwedenISK type: string example: None x-enum-descriptions: None: Default , used for None. EquitySaving: Equity Saving Account. PEA: PEA. PEA_PME: PEA-PME. NorwayASK: Norway ASK ( Tax saving Account). SwedenISK: Sweden ISK ( Tax Saving Account). ManagementType: title: Account Management Type enum: - Advisory - Client - Discretionary - ExternallyManaged - ModelAdvisory - ModelManaged - SelfPeriodicInvestment - TradeAdvisory type: string example: TradeAdvisory x-enum-descriptions: Client: The account is managed by the client. (Default). TradeAdvisory: Advisors can call clients with trade suggestions across products, but trades are accepted by the client. ModelAdvisory: The account is managed by a model, but client has to accept changes to the model. ModelManaged: The account is managed by a model. Client cannot trade on the account. ExternallyManaged: The account is managed externally (not in a saxo bank system). Client cannot trade on the account, but authorized dealers can. SelfPeriodicInvestment: Client can schedule periodic investments on one or multiple Instruments Discretionary: The account is managed by partner. Client (beneficial owner of the account) cannot trade on this account but authorized dealers can. Client will not receive any trade notifications. Advisory: The account is managed by partner. Client (beneficial owner of the account) cannot trade on this account but authorized dealers can. However, client will get trade notifications. AccountResponseArray: type: array items: $ref: '#/components/schemas/AccountResponse' example: - AccountGroupKey: LZTc7DdejXODf-WSl2aCyQ== AccountId: 192134INET AccountKey: LZTc7DdejXODf-WSl2aCyQ== AccountType: Normal Active: true CanUseCashPositionsAsMarginCollateral: false CfdBorrowingCostsActive: false ClientId: '654321' ClientKey: 7m4I|vtYLUnEGg77o9uQhw== CreationDate: '2017-01-01T13:00:00Z' Currency: EUR CurrencyDecimals: 2 DirectMarketAccess: false FractionalOrderEnabled: false IndividualMargining: false IsCurrencyConversionAtSettlementTime: false IsMarginTradingAllowed: true IsShareable: true IsTrialAccount: false LegalAssetTypes: - FxSpot - Stock - ContractFutures ManagementType: Client MarginCalculationMethod: Default MarginLendingEnabled: None PortfolioBasedMarginEnabled: false Sharing: - TradingFloor SupportsAccountValueProtectionLimit: false UseCashPositionsAsMarginCollateral: false AccountBenchmarkInstrument: title: Sets the instrument to be used as comparison then evaluating account performance. required: - BenchmarkInstrumentUic type: object properties: BenchmarkInstrumentAssetType: title: The instrument asset type of the benchmark instrument. allOf: - $ref: '#/components/schemas/AssetType' BenchmarkInstrumentUic: title: The instrument identifier of the benchmark instrument. type: integer format: int32 example: 99 additionalProperties: false example: BenchmarkInstrumentAssetType: FxKnockOutOption BenchmarkInstrumentUic: 99 AccountsSubscriptionResponse: title: Public response contract returned after setting up a subscription on accounts for a client. type: object properties: ContextId: title: The streaming context id that this response is associated with. type: string example: ContextId-1 x-display-order: 1 ReferenceId: title: The reference id that (along with streaming context id and session id) identifies the subscription (within the context of a specific service/subscription type) type: string example: ReferenceId-1 x-display-order: 2 Format: title: The media type (RFC 2046), of the serialized data updates that are streamed to the client. type: string example: application/json InactivityTimeout: title: The time (in seconds) that the client should accept the subscription to be inactive before considering it invalid. type: integer format: int32 example: 0 RefreshRate: title: Actual refresh rate assigned to the subscription according to the customers SLA. type: integer format: int32 example: 0 Snapshot: title: Snapshot of the current data on hand, when subscription was created. allOf: - $ref: '#/components/schemas/AccountResponseListResult' State: title: The value "Active". type: string description: This property is kept for backwards compatibility. example: Active Tag: title: Client specified tag assigned to the subscription, if specified in the request. type: string example: ClientTag additionalProperties: false example: ContextId: '20221030064905073' Format: application/json InactivityTimeout: 1500 ReferenceId: A70755 RefreshRate: 500 Snapshot: Data: - AccountGroupKey: LZTc7DdejXODf-WSl2aCyQ== AccountId: 192134INET AccountKey: LZTc7DdejXODf-WSl2aCyQ== AccountType: Normal Active: true CanUseCashPositionsAsMarginCollateral: false CfdBorrowingCostsActive: false ClientId: '654321' ClientKey: 7m4I|vtYLUnEGg77o9uQhw== CreationDate: '2017-01-01T13:00:00Z' Currency: EUR CurrencyDecimals: 2 DirectMarketAccess: false FractionalOrderEnabled: false IndividualMargining: false IsCurrencyConversionAtSettlementTime: false IsMarginTradingAllowed: true IsShareable: true IsTrialAccount: false LegalAssetTypes: - FxSpot - Stock - ContractFutures ManagementType: Client MarginCalculationMethod: Default MarginLendingEnabled: None PortfolioBasedMarginEnabled: false Sharing: - TradingFloor SupportsAccountValueProtectionLimit: false UseCashPositionsAsMarginCollateral: false State: Active Tag: MyAccountRelatedSubscriptions AccountResetRequest: title: A parameter wrapper for Account Reset operations. queries required: - NewBalance type: object properties: NewBalance: title: The new balance. 0 is minimum and 10.000.000 is maximum. type: number example: 10 additionalProperties: false example: NewBalance: 50000000 AccountResponse: title: Data contract for an account. required: - AccountId type: object properties: AccountGroupKey: title: Unique ID of the account group used for selection minLength: 1 type: string x-type-name: AccountGroupKey AccountGroupName: title: Name of the account group, displayed to the user type: string example: stringValue AccountId: title: Unique ID of the account, displayed to the user type: string example: stringValue AccountKey: title: Unique ID of the account. minLength: 1 type: string x-type-name: AccountKey AccountSubType: title: Sub type of the account. allOf: - $ref: '#/components/schemas/AccountSubType' AccountType: title: Type of the account. allOf: - $ref: '#/components/schemas/AccountType' AccountValueProtectionLimit: title: "If set, this value shields the account value from going below the given limit by automatically triggering closing of positions should the limit be exceeded.\n A limit of zero means there is no limit." type: number example: 10 Active: title: Indicates whether the account is active or not. type: boolean example: true AutoTradingInvestmentId: title: If the account follows a trade leader on AutoTrading/SaxoSelect, this is the leader identifier. type: integer format: int32 example: 99 BenchmarkInstrument: title: Contains the instrument to be used as comparison then evaluating account performance. allOf: - $ref: '#/components/schemas/AccountBenchmarkInstrument' CanUseCashPositionsAsMarginCollateral: title: If true, the user may enable/disable the use of cash positions as margin trading collateral on the given account. type: boolean example: true CfdBorrowingCostsActive: title: Indicates if the account is configured for CFD borrowing costs. type: boolean example: true ClientId: title: Unique ID of the client owning the account type: string example: stringValue ClientKey: title: Unique ID of the client - for navigation purposes minLength: 1 type: string x-type-name: ClientKey CreationDate: title: The UTC date and time the account was created. type: string format: date-time x-type-name: UtcDateTime Currency: title: Account currency. type: string example: stringValue CurrencyDecimals: title: Number of decimals used in currency. type: integer format: int32 example: 99 DirectMarketAccess: title: Indicates direct market access for the account. type: boolean example: true DirectMarketExchangesIds: title: Lists exchanges for which the account is direct market access enabled. type: array items: type: string example: stringValue example: - stringValue DisplayName: title: User customizable account name. type: string example: stringValue FractionalOrderEnabled: title: FractionalOrder is enabled or not for the account. type: boolean example: true IndividualMargining: title: Indicates that the margin exposure is calculated for this account only, without cross margining to other accounts within the same account group. type: boolean example: true IsCurrencyConversionAtSettlementTime: title: If true, currency conversions between trade and account currency take place at time of trade settlement. Typically end of business day. type: boolean example: true IsMarginTradingAllowed: title: Indicates whether trading on margin is allowed for the account. type: boolean example: true IsShareable: title: "Indicates whether or not the account can be shared.\n An account can only be shared if it is the only account of its client and it is not a trial account." type: boolean example: true IsTrialAccount: title: IsTrialAccount - Is this a trial account. type: boolean example: true LegalAssetTypes: title: AssetTypes that can be traded on this account. type: array items: $ref: '#/components/schemas/AssetType' example: - FxVanillaOption ManagementType: title: Account's Management Type. allOf: - $ref: '#/components/schemas/ManagementType' MarginCalculationMethod: title: Calculation method for assessing margin utilization. allOf: - $ref: '#/components/schemas/PortfolioMarginMethod' MarginLendingEnabled: title: Margin Lending Enabled. allOf: - $ref: '#/components/schemas/MarginLendingEnabled' PortfolioBasedMarginEnabled: title: Portfolio Based Margin (PBM) is a method for mapping the risk of an investment portfolio. True if enabled else false. type: boolean example: true Sharing: title: Returns a list of application identifiers that the account has been shared with. type: array items: type: string example: stringValue example: - stringValue SupportsAccountValueProtectionLimit: title: If true, an AccountValueProtectionLimit may be set on this account. If it is false, the AccountValueProtectionLimit can be set on client or account group. type: boolean example: true UseCashPositionsAsMarginCollateral: title: Enable/disable the use of cash positions for margin trading collateral. type: boolean example: true additionalProperties: false example: AccountGroupKey: LZTc7DdejXODf-WSl2aCyQ== AccountId: 192134INET AccountKey: LZTc7DdejXODf-WSl2aCyQ== AccountType: Normal Active: true CanUseCashPositionsAsMarginCollateral: false CfdBorrowingCostsActive: false ClientId: '654321' ClientKey: 7m4I|vtYLUnEGg77o9uQhw== CreationDate: '2017-01-01T13:00:00.0000000+00:00' Currency: EUR CurrencyDecimals: 2 DirectMarketAccess: false FractionalOrderEnabled: false IndividualMargining: false IsCurrencyConversionAtSettlementTime: false IsMarginTradingAllowed: true IsShareable: true IsTrialAccount: false LegalAssetTypes: - FxSpot - Stock - ContractFutures ManagementType: Client MarginCalculationMethod: Default MarginLendingEnabled: None PortfolioBasedMarginEnabled: false Sharing: - TradingFloor SupportsAccountValueProtectionLimit: false UseCashPositionsAsMarginCollateral: false AccountsRequest: title: "Represents a request for one or more accounts.\n At least one of the following must be specified." type: object properties: AccountGroupKey: title: The key of the account group to which the accounts belong. minLength: 1 type: string x-type-name: AccountGroupKey AccountKey: title: The key of the account to monitor. minLength: 1 type: string x-type-name: AccountKey ClientKey: title: 'Unique key identifying the client that owns the accounts. Default: Logged-in user''s client.' minLength: 1 type: string x-type-name: ClientKey additionalProperties: false example: AccountGroupKey: LZTc7DdejXODf-WSl2aCyQ== AccountKey: LZTc7DdejXODf-WSl2aCyQ== ClientKey: 7m4I|vtYLUnEGg77o9uQhw== AssetType: title: The possible AssetTypes for which you can get a quote or place an order or a trade. enum: - Bond - Cash - CertificateBonus - CertificateCappedBonus - CertificateCappedCapitalProtected - CertificateCappedOutperformance - CertificateConstantLeverage - CertificateDiscount - CertificateExpress - CertificateTracker - CertificateUncappedCapitalProtection - CertificateUncappedOutperformance - CfdIndexOption - CfdOnCompanyWarrant - CfdOnEtc - CfdOnEtf - CfdOnEtn - CfdOnFund - CfdOnFutures - CfdOnIndex - CfdOnRights - CfdOnStock - CompanyWarrant - ContractFutures - Etc - Etf - Etn - Fund - FuturesOption - FuturesStrategy - FxBinaryOption - FxForwards - FxKnockInOption - FxKnockOutOption - FxNoTouchOption - FxOneTouchOption - FxSpot - FxVanillaOption - GuaranteeNote - IpoOnStock - ManagedFund - MiniFuture - MutualFund - PortfolioNote - Rights - SrdOnEtf - SrdOnStock - Stock - StockIndex - StockIndexOption - StockOption - Warrant - WarrantDoubleKnockOut - WarrantKnockOut - WarrantOpenEndKnockOut - WarrantSpread type: string example: FxForwards x-enum-descriptions: FxSpot: Forex Spot. FxForwards: Forex Forward. FxVanillaOption: Forex Vanilla Option. FxKnockInOption: Forex Knock In Option. FxKnockOutOption: Forex Knock Out Option. FxBinaryOption: Forex Binary Option. FxOneTouchOption: Forex One Touch Option. FxNoTouchOption: Forex No Touch Option. ContractFutures: Contract Futures. FuturesStrategy: Futures Strategy. Stock: Stock. StockOption: Stock Option. Bond: Bond. FuturesOption: Futures Option. StockIndexOption: Stock Index Option. ManagedFund: 'Obsolete: Managed Fund.' Cash: Cash. Not tradeable! CfdOnStock: Cfd on Stock. CfdOnIndex: Cfd on Stock Index. CfdOnFutures: Cfd on Futures. StockIndex: Stock Index. MutualFund: Mutual Fund. CfdIndexOption: Cfd Index Option. CfdOnEtf: Cfd on Etf CfdOnEtc: Cfd on Etc CfdOnEtn: Cfd on Etn CfdOnFund: Cfd on Fund CfdOnRights: Cfd on Rights CfdOnCompanyWarrant: Cfd on unlisted warrant issued by a corporation. Etf: Exchange traded fund. Etc: Etc Etn: Etn Fund: Fund Rights: Rights Warrant: Warrant MiniFuture: MiniFuture. WarrantSpread: Warrant with built-in spread. WarrantKnockOut: Warrant with a knock-out barrier. WarrantOpenEndKnockOut: Knock-out Warrant with no expiry. WarrantDoubleKnockOut: Warrant with two knock-out barriers. CertificateUncappedCapitalProtection: Guarantees a percentage increase of the underlying asset's value above the issue price at expiry/maturity. Max loss is the amount invested multiplied by the CapitalProtection percentage. CertificateCappedCapitalProtected: Guarantees a capped percentage increase of the underlying asset's value above the issue price at expiry/maturity. Max loss is the amount invested multiplied by the CapitalProtection percentage. CertificateDiscount: Yields a capped return if the underlying asset's value is above the specified cap level at expiry. If the underlying's value is below the strike at expiry, the investor received the underlying or equivalent value. Offers direct exposure in underlying at a lower price (discount) with a capped potential profit and limited loss. CertificateCappedOutperformance: Capped Outperformance Certificate. CertificateCappedBonus: Certificate Capped Bonus. CertificateExpress: Certificate Express kick out. CertificateTracker: A certificate that mirrors the price movement of the underlying instrument. Often used to trade movements in indicies. Movements can be a fixed ratio of the underlying and can be inverted for bearish/short speculation. Risk is equivalent to owning the underlying. CertificateUncappedOutperformance: Provides leveraged returns when the underlying price exceeds the threshold strike price. The amount leverage is defined by the Participation %. When the underlying is below the strike price, the certificate mirrors the underlying price 1:1. CertificateBonus: Mirrors the price movement of the underlying only if and when the underlying price exceeds the defined barrier. If the certificate expires below the barrier, it offers partial protection/return of investment. CertificateConstantLeverage: Certificate Constant Leverage. SrdOnStock: SRD. (Service de Règlement Différé) on Stock. SrdOnEtf: SRD. (Service de Règlement Différé) on Etf. IpoOnStock: IPO on Stock CompanyWarrant: Unlisted warrant issued by a corporation, often physically settled. PortfolioNote: Danish pooled investment scheme (“Pulje”). Not online tradeable. GuaranteeNote: Danish investment scheme (“Grantbevis”). Not online tradeable. PortfolioMarginMethod: title: Specifies the margin calculaion method for the given entity. enum: - Default - JanusMarginReplication - SpanForFutures - SpanForFuturesAndOptions type: string example: SpanForFutures x-enum-descriptions: Default: Uses Saxo exposure based margin. SpanForFutures: Uses rules-based SPAN methods to calculate margin on futures alone. SpanForFuturesAndOptions: Uses rules-based SPAN methods to calculate margin on futures and options. JanusMarginReplication: Uses rules-based the Janus methodology to calculate margin. AccountResponseListResult: type: object properties: Data: type: array items: $ref: '#/components/schemas/AccountResponse' description: The collection of entities for this feed. MaxRows: type: number description: The maximum number of rows that can be returned (if applicable). __count: type: number description: The total count of items in the feed. __next: type: string description: The link for the next page of items in the feed. additionalProperties: false example: __next: /openapi/port/....../?$top=1&$skip=1 Data: - AccountGroupKey: LZTc7DdejXODf-WSl2aCyQ== AccountId: 192134INET AccountKey: LZTc7DdejXODf-WSl2aCyQ== AccountType: Normal Active: true CanUseCashPositionsAsMarginCollateral: false CfdBorrowingCostsActive: false ClientId: '654321' ClientKey: 7m4I|vtYLUnEGg77o9uQhw== CreationDate: '2017-01-01T13:00:00Z' Currency: EUR CurrencyDecimals: 2 DirectMarketAccess: false FractionalOrderEnabled: false IndividualMargining: false IsCurrencyConversionAtSettlementTime: false IsMarginTradingAllowed: true IsShareable: true IsTrialAccount: false LegalAssetTypes: - FxSpot - Stock - ContractFutures ManagementType: Client MarginCalculationMethod: Default MarginLendingEnabled: None PortfolioBasedMarginEnabled: false Sharing: - TradingFloor SupportsAccountValueProtectionLimit: false UseCashPositionsAsMarginCollateral: false MarginLendingEnabled: title: Margin Lending Enabled. enum: - false - None - true type: string example: true x-enum-descriptions: None: Default. Margin Lending is not applicable. true: Margin Lending is enabled. false: Margin Lending is disabled. Models.AccountDetails: title: Account Details type: object properties: AccountId: title: Account Id type: string example: stringValue AccountKey: title: Account Key type: string example: stringValue additionalProperties: false example: AccountId: '2147279960' AccountKey: BxS0VWLta8lJ3SBpjGBQjw== AccountUpdateRequest: title: A parameter wrapper for Account update operations. type: object properties: AccountValueProtectionLimit: title: "If set, this value shields the account value from going below the given limit by automatically triggering closing of positions should the limit be exceeded.\n A limit of zero means there is no limit." type: number example: 10 BenchmarkInstrument: title: Sets the instrument to be used as comparison then evaluating account performance. allOf: - $ref: '#/components/schemas/AccountBenchmarkInstrument' DisplayName: title: The nickname the client would like to give the account. type: string example: stringValue UseCashPositionsAsMarginCollateral: title: Enable/disable the use of cash positions for margin trading collateral. type: boolean example: true additionalProperties: false example: DisplayName: Trading Account ModelStateDictionary: type: object additionalProperties: type: array items: type: string AccountsSubscriptionRequest: title: Public request contract for setting up a subscription on accounts for a client. required: - ContextId - ReferenceId type: object properties: ContextId: title: "The streaming context id that this request is associated with.\n This parameter must only contain letters (a-z) and numbers (0-9) as well as - (dash) and _ (underscore). It is case insensitive. Max length is 50 characters." pattern: ^[a-zA-Z0-9_-]{1,50}$ type: string example: ContextId-1 x-display-order: 1 ReferenceId: title: "Mandatory client specified reference id for the subscription.\n This parameter must only contain alphanumberic characters as well as - (dash) and _ (underscore). Cannot start with _. It is case insensitive. Max length is 50 characters." pattern: ^[a-zA-Z0-9-][a-zA-Z0-9_-]{0,49}$ type: string example: ReferenceId-1 x-display-order: 2 Arguments: title: Arguments for the subscription request. allOf: - $ref: '#/components/schemas/AccountsRequest' Format: title: "Optional Media type (RFC 2046) of the serialized data updates that are streamed to the client.\n Currently only application/json and application/x-protobuf is supported.\n If an unrecognized format is specified, the subscription end point will return HTTP status code 400 - Bad format." type: string example: application/json RefreshRate: title: "Optional custom refresh rate, measured in milliseconds, between each data update.\n Note that it is not possible to get a refresh rate lower than the rate specified in the\n customer service level agreement (SLA)." maximum: 2147483647 minimum: 0 type: integer format: int32 example: 0 ReplaceReferenceId: title: Reference id of the subscription that should be replaced. pattern: ^[a-zA-Z0-9-][a-zA-Z0-9_-]{0,49}$ type: string example: ReplaceReferenceId-1 Tag: title: Optional client specified tag used for grouping subscriptions. type: string example: ClientTag additionalProperties: false example: Arguments: AccountGroupKey: LZTc7DdejXODf-WSl2aCyQ== AccountKey: LZTc7DdejXODf-WSl2aCyQ== ClientKey: 7m4I|vtYLUnEGg77o9uQhw== ContextId: '20221030064905067' Format: application/json ReferenceId: A21312 RefreshRate: 500 Tag: MyAccountRelatedSubscriptions Models.CreateAccount: title: Create Account required: - ClientKey - ChoiceOfAccount type: object properties: ChoiceOfAccount: title: Choice Of Account (from Options) type: string example: stringValue ClientKey: title: Client Key of the user for which new account is to be created minLength: 1 type: string x-type-name: ClientKey additionalProperties: false example: ChoiceOfAccount: '65' ClientKey: BxS0VWLta8lJ3SBpjGBQjw== AccountType: title: Describes the type of account. enum: - AutoTradingFollower - AutoTradingLeader - BlockTrading - Collateral - Commission - Funding - Interest - MarginLending - Normal - Omnibus - Other - Pension - Settlement - SettlementTrading - Tax - TaxFavoredAccount type: string example: BlockTrading x-enum-descriptions: Normal: Default. Used for normal client accounts. BlockTrading: Account used for allocating large block orders. SettlementTrading: For FX Settlement trading clients, this account type is used for the main trading account. Collateral: Account used to hold collateral assets. Not used for trading. Funding: Account used to transfer funds between client accounts. Not used for trading. Commission: Booking account for comissions only. Not used for trading. Interest: Booking account for interest only. Not used for trading. Omnibus: Partner account used to execute and clear client trades. Settlement: Used in connection with SettlementTrading accounts. SettlementTrading accounts is used on the actual trading account. Settlement accounts are used on the sub accounts. Not used for trading. Tax: Retention account for accumulating or withholding taxes. Not used for trading. AutoTradingLeader: Account Type for AutoTrading leader accounts. AutoTradingFollower: Account Type for AutoTrading follower accounts. TaxFavoredAccount: Tax favored account. MarginLending: Margin Lending. Pension: Pension account. Other: Account type not mapped. responses: ServiceUnavailable: description: Service Unavailable. Unauthorized: description: Indicates that the request was rejected because the 'Authorization' header was missing in the request or contained an invalid security token. TooManyRequests: description: The request was rejected due to rate limit being exceeded. BadRequest: description: One or more of the provided parameters are invalid. content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InvalidRequest type: string example: None x-enum-descriptions: InvalidRequest: Default error code returned when it cannot be determined which part of the request is malformed. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' securitySchemes: OpenApiJWTSecurityScheme: type: http scheme: bearer bearerFormat: JWT OpenApiOAuthSecurityScheme: type: oauth2 flows: authorizationCode: authorizationUrl: https://sim.logonvalidation.net/authorize tokenUrl: https://sim.logonvalidation.net/token scopes: {}