openapi: 3.0.1 info: title: Services.Trading description: 'The Trading service group provides end points for setting up price and quote subscriptions, polling prices and placing orders and trades (positions).' version: 3.3.757+d552fc98fe x-framework-version: 43.0.9+b005aba300 x-machine: SIMOAWEB8-DK2 servers: - url: https://gateway.saxobank.com/sim/openapi paths: '/trade/v1/prices/multileg/subscriptions/{ContextId}/{ReferenceId}': delete: tags: - Prices summary: Remove a multi-leg price subscription description: Removes an multi-leg price subscription for the current session. operationId: PricesV1DeleteMultiLegPricesSubscription parameters: - name: ContextId in: path description: Unique streaming context ID part of the streaming session. required: true style: simple schema: type: string example: '20160204125301453' - name: ReferenceId in: path description: Unique reference ID of the subscription. required: true style: simple schema: type: string example: TP340 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 '/trade/v1/prices/multileg/subscriptions/{ContextId}': delete: tags: - Prices summary: Remove a multi-leg price subscriptions description: "Removes a multi-leg price subscriptions for the current session. \n If the optional tag argument is supplied then only subscriptions with given tag will be removed." operationId: PricesV1DeleteMultiLegPricesSubscriptions parameters: - name: ContextId in: path description: The context id part of the streaming session (used to identify the subscription within a streaming session). required: true style: simple schema: type: string example: '20160204125301453' - name: Tag in: query description: Optional.Tag that subscriptions are marked with. style: form explode: false schema: type: string example: '2345223' 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 /trade/v1/prices/multileg/subscriptions: post: tags: - Prices summary: Create a price subscription on a multi-leg strategy description: Sets up an active price subscription on a multi-leg strategy and returns an initial snapshot of the most recent price. operationId: PricesV1AddMultiLegPricesSubscriptionAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/MultiLegPriceSubscriptionRequest' example: Arguments: AccountKey: 01b64edf-da03-4145-bf33-ae21527d4c86 FieldGroups: - MarginImpactBuySell Legs: - Amount: 10 AssetType: CertificateCappedCapitalProtected BuySell: Sell OrderContext: { } ToOpenClose: ToClose Uic: 99 ContextId: '-' Format: stringValue ReferenceId: '-' RefreshRate: 117 ReplaceReferenceId: '-' Tag: stringValue responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/MultiLegPriceSubscriptionResponse' example: ContextId: stringValue Format: stringValue InactivityTimeout: 99 ReferenceId: stringValue RefreshRate: 99 Snapshot: BuySell: Sell Commissions: CostBuy: 0 CostIpoCashSubscription: 0 CostIpoSubscription: 0 CostSell: 0 Greeks: Delta: 1 Gamma: 0 MidVol: 0 Phi: 0 Rho: 0 Theta: -0.0375 Vega: 0 InstrumentPriceDetails: AverageVolume: 12345000 Barrier: 1 ExpiryDate: '2017-06-01' IsMarketOpen: true LowerBarrier: -2 MidForwardPrice: 1.71992423552514 ShortTradeDisabled: false SpotAsk: 1.71782 SpotBid: 1.71692 SpotDate: '2017-06-03' SpreadStrikePriceLower: 11 SpreadStrikePriceUpper: 12 StrikePrice: 1.7175 UpperBarrier: 4 ValueDate: '2017-06-05' LastUpdated: '9999-12-31T23:59:59.999999Z' Legs: - Amount: 10 AssetType: CertificateCappedOutperformance BuySell: Buy Greeks: Delta: 1 Gamma: 0 MidVol: 0 Phi: 0 Rho: 0 Theta: -0.0375 Vega: 0 InstrumentPriceDetails: AverageVolume: 12345000 Barrier: 1 ExpiryDate: '2017-06-01' IsMarketOpen: true LowerBarrier: -2 MidForwardPrice: 1.71992423552514 ShortTradeDisabled: false SpotAsk: 1.71782 SpotBid: 1.71692 SpotDate: '2017-06-03' SpreadStrikePriceLower: 11 SpreadStrikePriceUpper: 12 StrikePrice: 1.7175 UpperBarrier: 4 ValueDate: '2017-06-05' LegId: stringValue Quote: Amount: 100000 Ask: 1.0899 Bid: 1.0897 DelayedByMinutes: 15 ErrorCode: None Mid: 1.0898 PriceTypeAsk: Indicative PriceTypeBid: Indicative ToOpenClose: ToOpen Uic: 99 MarginImpactBuySell: Currency: USD InitialMarginAvailableBuy: 10447 InitialMarginAvailableCurrent: 10470 InitialMarginBuy: 12 MaintenanceMarginBuy: 11 MarketState: Open PriceSource: stringValue Quote: Amount: 100000 Ask: 1.0899 Bid: 1.0897 DelayedByMinutes: 15 ErrorCode: None Mid: 1.0898 PriceTypeAsk: Indicative PriceTypeBid: Indicative StrategyType: Condor State: Active Tag: stringValue '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InstrumentNotAllowed - InvalidModelState - InvalidRequest - UnsupportedSubscriptionFormat type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. 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. InstrumentNotAllowed: 'The account is not allowed to trade in or receive prices for the specified [AssetType]' Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '404': description: Not Found content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - IllegalInstrumentId type: string example: None x-enum-descriptions: IllegalInstrumentId: Unknown instrument name 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 x-streaming-type: $ref: '#/components/schemas/MultiLegPriceResponseDomainEvent' /trade/v1/prices/multileg: post: tags: - Prices summary: Get a price snapshot for a multi-leg strategy description: Gets a single price snapshot for a multi-leg strategy using the specified parameters. operationId: PricesV1GetMultiLegPriceAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/MultiLegPriceRequest' example: AccountKey: 01b64edf-da03-4145-bf33-ae21527d4c86 FieldGroups: - Quote Legs: - Amount: 10 AssetType: Warrant BuySell: Sell OrderContext: { } ToOpenClose: Undefined Uic: 99 responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/MultiLegPriceResponse' example: BuySell: Sell Commissions: CostBuy: 0 CostIpoCashSubscription: 0 CostIpoSubscription: 0 CostSell: 0 Greeks: Delta: 1 Gamma: 0 MidVol: 0 Phi: 0 Rho: 0 Theta: -0.0375 Vega: 0 InstrumentPriceDetails: AverageVolume: 12345000 Barrier: 1 ExpiryDate: '2017-06-01' IsMarketOpen: true LowerBarrier: -2 MidForwardPrice: 1.71992423552514 ShortTradeDisabled: false SpotAsk: 1.71782 SpotBid: 1.71692 SpotDate: '2017-06-03' SpreadStrikePriceLower: 11 SpreadStrikePriceUpper: 12 StrikePrice: 1.7175 UpperBarrier: 4 ValueDate: '2017-06-05' LastUpdated: '9999-12-31T23:59:59.999999Z' Legs: - Amount: 10 AssetType: WarrantKnockOut BuySell: Buy Greeks: Delta: 1 Gamma: 0 MidVol: 0 Phi: 0 Rho: 0 Theta: -0.0375 Vega: 0 InstrumentPriceDetails: AverageVolume: 12345000 Barrier: 1 ExpiryDate: '2017-06-01' IsMarketOpen: true LowerBarrier: -2 MidForwardPrice: 1.71992423552514 ShortTradeDisabled: false SpotAsk: 1.71782 SpotBid: 1.71692 SpotDate: '2017-06-03' SpreadStrikePriceLower: 11 SpreadStrikePriceUpper: 12 StrikePrice: 1.7175 UpperBarrier: 4 ValueDate: '2017-06-05' LegId: stringValue Quote: Amount: 100000 Ask: 1.0899 Bid: 1.0897 DelayedByMinutes: 15 ErrorCode: None Mid: 1.0898 PriceTypeAsk: Indicative PriceTypeBid: Indicative ToOpenClose: ToOpen Uic: 99 MarginImpactBuySell: Currency: USD InitialMarginAvailableBuy: 10447 InitialMarginAvailableCurrent: 10470 InitialMarginBuy: 12 MaintenanceMarginBuy: 11 MarketState: TradingAtLast PriceSource: stringValue Quote: Amount: 100000 Ask: 1.0899 Bid: 1.0897 DelayedByMinutes: 15 ErrorCode: None Mid: 1.0898 PriceTypeAsk: Indicative PriceTypeBid: Indicative StrategyType: BackRatio '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InstrumentNotAllowed - InstrumentTypeNotSupportedException - InvalidPriceRequest - InvalidUic - Unknown type: string example: None x-enum-descriptions: Unknown: One or more of the provided parameters are invalid. InstrumentNotAllowed: 'The account is not allowed to trade in or receive prices for the specified [AssetType]' InstrumentTypeNotSupportedException: Unsupported instrument type. InvalidUic: UIC is either invalid or not specified at all. InvalidPriceRequest: Invalid price request. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '404': description: Not Found content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - IllegalInstrumentId type: string example: None x-enum-descriptions: IllegalInstrumentId: Unknown instrument name 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 '/trade/v1/prices/subscriptions/{ContextId}': delete: tags: - Prices summary: Remove multiple instrument price subscriptions description: "Removes multiple instrument price subscriptions for the current session. \n If the optional tag argument is supplied then only subscriptions with given tag will be removed." operationId: PricesV1DeleteSubscriptions parameters: - name: ContextId in: path description: The context id part of the streaming session (used to identify the subscription within a streaming session). required: true style: simple schema: type: string example: '20160204125301453' - name: Tag in: query description: Optional.Tag that subscriptions are marked with. style: form explode: false schema: type: string example: '2345223' 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 '/trade/v1/prices/subscriptions/{ContextId}/{ReferenceId}/MarginImpact': put: tags: - Prices summary: Request margin impact on one price update description: "Request margin impact to come on one of the next following price updates.\n\n\nThis will make a margin impact calculation, and send the result in the next possible price update, however only one impact calculation will be done per call." operationId: PricesV1RequestMarginImpactOnSubscription parameters: - name: ContextId in: path description: Context for the streaming connection. required: true style: simple schema: type: string example: '20160204125301453' - name: ReferenceId in: path description: Unique id of the subscription. required: true style: simple schema: type: string example: TP340 responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - RequestMarginImpactOnNextPriceFailed type: string example: None x-enum-descriptions: RequestMarginImpactOnNextPriceFailed: Price subscription cannot add margin impact. 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 x-streaming-type: $ref: '#/components/schemas/PriceResponseDomainEvent' '/trade/v1/prices/subscriptions/{ContextId}/{ReferenceId}': delete: tags: - Prices summary: Remove an instrument price subscription description: Removes an instrument price subscription for the current session. operationId: PricesV1DeleteSubscription parameters: - name: ContextId in: path description: Unique streaming context ID part of the streaming session. required: true style: simple schema: type: string example: '20160204125301453' - name: ReferenceId in: path description: Unique reference ID of the subscription. required: true style: simple schema: type: string example: TP340 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 /trade/v1/prices/subscriptions: post: tags: - Prices summary: Create a price subscription on an instrument description: Sets up an active price subscription on an instrument and returns an initial snapshot of the most recent price. operationId: PricesV1AddSubscriptionAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/PriceSubscriptionRequest' example: Arguments: AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 100000 AssetType: FxVanillaOption ExpiryDate: '2017-06-01T00:00:00Z' FieldGroups: - DisplayAndFormat - HistoricalChanges - InstrumentPriceDetails - Quote PutCall: Call Uic: 22 ContextId: '20221030063404744' Format: application/json ReferenceId: IP72733 RefreshRate: 1000 responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/PriceSubscriptionResponse' example: ContextId: '20221030063404744' Format: application/json InactivityTimeout: 30 ReferenceId: IP72733 RefreshRate: 1000 Snapshot: AssetType: FxSpot DisplayAndFormat: Currency: AUD Decimals: 4 Description: British Pound/Australian Dollar Format: AllowDecimalPips StrikeDecimals: 4 StrikeFormat: Normal Symbol: GBPAUD HistoricalChanges: PercentChange1Month: 5.57 PercentChange2Months: 5.83 PercentChange3Months: 3.73 PercentChange6Months: 6.49 PercentChangeDaily: 0.2 PercentChangeWeekly: 0.88 InstrumentPriceDetails: AverageVolume: 12345000 Barrier: 1 ExpiryDate: '2017-06-01' IsMarketOpen: true LowerBarrier: -2 MidForwardPrice: 1.71992423552514 ShortTradeDisabled: false SpotAsk: 1.71782 SpotBid: 1.71692 SpotDate: '2017-06-03' SpreadStrikePriceLower: 11 SpreadStrikePriceUpper: 12 StrikePrice: 1.7175 UpperBarrier: 4 ValueDate: '2017-06-05' LastUpdated: '2017-05-01T00:00:00Z' Quote: Amount: 100000 Ask: 0.02257 Bid: 0.01962 DelayedByMinutes: 15 ErrorCode: None Mid: 0.0210958157864443 PriceTypeAsk: Indicative PriceTypeBid: Indicative RFQState: None Uic: 22 State: Active Tag: PAGE1 '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InstrumentNotAllowed - InvalidModelState - InvalidRequest - UnsupportedSubscriptionFormat type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. 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. InstrumentNotAllowed: 'The account is not allowed to trade in or receive prices for the specified [AssetType]' Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '404': description: Not Found content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - IllegalInstrumentId type: string example: None x-enum-descriptions: IllegalInstrumentId: Unknown instrument name 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 x-streaming-type: $ref: '#/components/schemas/PriceResponseDomainEvent' /trade/v1/prices/subscriptions/active: post: tags: - Prices summary: OBSOLETE Create an active price subscription on an instrument description: Sets up an active price subscription on an instrument and returns an initial snapshot of the most recent price. operationId: PricesV1AddActiveSubscriptionAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/PriceSubscriptionRequest' example: Arguments: AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 100000 AssetType: FxVanillaOption ExpiryDate: '2017-06-01T00:00:00Z' FieldGroups: - DisplayAndFormat - HistoricalChanges - InstrumentPriceDetails - Quote PutCall: Call Uic: 22 ContextId: '20221030063404744' Format: application/json ReferenceId: IP72733 RefreshRate: 1000 responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/PriceSubscriptionResponse' example: ContextId: '20221030063404744' Format: application/json InactivityTimeout: 30 ReferenceId: IP72733 RefreshRate: 1000 Snapshot: AssetType: FxSpot DisplayAndFormat: Currency: AUD Decimals: 4 Description: British Pound/Australian Dollar Format: AllowDecimalPips StrikeDecimals: 4 StrikeFormat: Normal Symbol: GBPAUD HistoricalChanges: PercentChange1Month: 5.57 PercentChange2Months: 5.83 PercentChange3Months: 3.73 PercentChange6Months: 6.49 PercentChangeDaily: 0.2 PercentChangeWeekly: 0.88 InstrumentPriceDetails: AverageVolume: 12345000 Barrier: 1 ExpiryDate: '2017-06-01' IsMarketOpen: true LowerBarrier: -2 MidForwardPrice: 1.71992423552514 ShortTradeDisabled: false SpotAsk: 1.71782 SpotBid: 1.71692 SpotDate: '2017-06-03' SpreadStrikePriceLower: 11 SpreadStrikePriceUpper: 12 StrikePrice: 1.7175 UpperBarrier: 4 ValueDate: '2017-06-05' LastUpdated: '2017-05-01T00:00:00Z' Quote: Amount: 100000 Ask: 0.02257 Bid: 0.01962 DelayedByMinutes: 15 ErrorCode: None Mid: 0.0210958157864443 PriceTypeAsk: Indicative PriceTypeBid: Indicative RFQState: None Uic: 22 State: Active Tag: PAGE1 '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InstrumentNotAllowed - InvalidModelState - InvalidRequest - UnsupportedSubscriptionFormat type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. 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. InstrumentNotAllowed: 'The account is not allowed to trade in or receive prices for the specified [AssetType]' Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '404': description: Not Found content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - IllegalInstrumentId type: string example: None x-enum-descriptions: IllegalInstrumentId: Unknown instrument name 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' deprecated: true security: - OpenApiOAuthSecurityScheme: [ ] - OpenApiJWTSecurityScheme: [ ] x-required-permissions: personal: Subscribe x-streaming-type: $ref: '#/components/schemas/PriceResponseDomainEvent' '/trade/v1/allocationkeys/distributions/{AllocationKeyId}': get: tags: - Allocation Keys summary: Get distributed amount for a given allocation key description: Retrieve distributed amount for the given allocation key. operationId: AllocationKeysDistributeAmountAccordingToAllocationKey parameters: - name: AllocationKeyId in: path description: Allocation key id required: true style: simple schema: type: string example: '227' - name: AssetType in: query description: 'Asset type. Optional, must be used in conjunction with' style: form explode: false schema: $ref: '#/components/schemas/AssetType' - name: Totalamount in: query description: Total amount to distribute between accounts associated with the allocationKey required: true style: form explode: false schema: type: number example: 22 - name: Uic in: query description: 'Unique instrument identification. Optional, must be used in conjunction with' style: form explode: false schema: type: integer format: int32 responses: '200': description: Indicates the information was retrieved successfully. content: application/json: schema: $ref: '#/components/schemas/DistributedAmountResponse' example: Remainder: 0.1 SubClientsInfo: - AccountId: 324b0298-8ec2-4c13-9518-ee4f01244113 Amount: 10.3 MultiLegAmount: 0 - AccountId: 324b0298-8ec2-4c13-9518-ee4f01244114 Amount: 20.3 MultiLegAmount: 0 - AccountId: 324b0298-8ec2-4c13-9518-ee4f01244115 Amount: 70.3 MultiLegAmount: 0 '404': description: Not Found content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - AllocationKeyNotFound type: string example: None x-enum-descriptions: AllocationKeyNotFound: Requested allocation key is not found. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - DomainValidationError type: string example: None x-enum-descriptions: DomainValidationError: Domain Validation Failed! 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 '/trade/v1/allocationkeys/{AllocationKeyId}': get: tags: - Allocation Keys summary: Get detailed information about an allocation key description: Get detailed information about an allocation key. operationId: AllocationKeysGetAllocationKey parameters: - name: AllocationKeyId in: path description: allocation key ID required: true style: simple schema: type: string example: '227' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AllocationKeyDetails' example: AllocationKeyId: '227' AllocationKeyName: MyAllocation_Key AllocationUnitType: Percentage AssetType: CfdOnStock BuySell: Buy CreationTime: '0001-01-01T00:00:00Z' ExternalReference: Order123 MarginHandling: Reduce OwnerAccountKey: LZTc7DdejXODf-WSl2aCyQ== Participants: 0 ParticipatingAccountsInfo: - AcceptRemainderAmount: true AccountKey: LZTc7DdejXODf-WSl2aCyQ== ClientKey: Priority: 1 UnitValue: 10 - AcceptRemainderAmount: false AccountKey: LZTc7DdejXODf-WSl2aCyQ== ClientKey: Priority: 1 UnitValue: 90 PredefinedQuantity: 0 Status: Active TotalUnitValues: 0 Uic: 4361 '404': description: Not Found content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - AllocationKeyNotFound type: string example: None x-enum-descriptions: AllocationKeyNotFound: Requested allocation key is not found. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '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 delete: tags: - Allocation Keys summary: Delete allocation key description: Deletes an allocation key. operationId: AllocationKeysDeleteAllocationKey parameters: - name: AllocationKeyId in: path description: allocation key ID required: true style: simple schema: type: string example: '227' responses: '204': description: Allocation key has been deleted '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 /trade/v1/allocationkeys: get: tags: - Allocation Keys summary: Get a list of existing allocation keys description: Get a list of existing allocation keys. By default only Active allocation keys for current client are returned. operationId: AllocationKeysGetAllocationKeys parameters: - name: $skip in: query description: The number of entries to skip from the beginning of the collection style: form explode: false 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 style: form explode: false schema: minimum: 0 type: integer format: int32 default: 1000 example: 1 - name: AccountKey in: query description: Optional account key to filter out allocation keys. style: form explode: false schema: minLength: 1 type: string x-type-name: AccountKey example: ValidAccountKey - name: ClientKey in: query description: Client key for which allocation keys are to be returned. style: form explode: false schema: minLength: 1 type: string x-type-name: ClientKey example: ValidClientKey - name: IncludeSubClients in: query description: To indicate whether to include allocation keys for sub clients. Default is true. style: form explode: false schema: type: boolean example: true - name: Statuses in: query description: Comma separated list of statuses for keys to include. Default is "Active". style: form explode: false schema: $ref: '#/components/schemas/AllocationKeyStatus' example: 'Active,OneTime' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AllocationKeySummaryListResult' example: Data: - AllocationKeyId: '227' AllocationKeyName: MyAllocation_Key AssetType: CfdOnStock BuySell: Buy CreationTime: '0001-01-01T00:00:00Z' ExternalReference: Order123 OwnerAccountKey: LZTc7DdejXODf-WSl2aCyQ== Participants: 0 PredefinedQuantity: 0 Status: Active TotalUnitValues: 100 Uic: 4361 - AllocationKeyId: 227_2 AllocationKeyName: MyAllocation_Key_2 CreationTime: '0001-01-01T00:00:00Z' OwnerAccountKey: LZTc7DdejXODf-WSl2aCyQ== Participants: 0 PredefinedQuantity: 0 Status: OneTime TotalUnitValues: 100 '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 post: tags: - Allocation Keys summary: Create an allocation key description: Create an allocation key. operationId: AllocationKeysAddAllocationKey requestBody: content: application/json: schema: $ref: '#/components/schemas/AllocationKeyCreateRequest' example: AllocationKeyName: MyAllocation_Key AllocationUnitType: Percentage MarginHandling: Reduce OneTime: true OwnerAccountKey: LZTc7DdejXODf-WSl2aCyQ== ParticipatingAccountsInfo: - AcceptRemainderAmount: true AccountKey: LZTc7DdejXODf-WSl2aCyQ== Priority: 1 UnitValue: 10 - AcceptRemainderAmount: false AccountKey: LZTc7DdejXODf-WSl2aCyQ== Priority: 1 UnitValue: 90 responses: '201': description: Allocation key added. content: application/json: schema: $ref: '#/components/schemas/AllocationKeyCreatedResponse' example: AllocationKeyId: '227' '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - DomainValidationError - InvalidModelState - InvalidRequest type: string example: None x-enum-descriptions: InvalidRequest: The request is invalid! InvalidModelState: One or more properties of the request are invalid! DomainValidationError: Domain Validation Failed! 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 '/trade/v1/optionschain/subscriptions/{ContextId}/{ReferenceId}/ResetATM': put: tags: - Options Chain summary: Reset an options chain subscription "At The Money" description: "Resets subscription for the current session identified by contextId and referenceId, to show strikes \"at the money\" for \n all the previously configured expiries. This method will not change the number of strikes, or which expires are subscribed to." operationId: OptionsChainsV1ResetSubscriptionAtTheMoney parameters: - name: ContextId in: path description: The context id part of the streaming session (used to identify the subscription within a streaming session). required: true style: simple schema: type: string example: '29931122' - name: ReferenceId in: path description: Unique id of the subscription required: true style: simple schema: type: string example: 0f8fad5b-d9cb-469f-a165-70867728950e responses: '204': description: No Content '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 '/trade/v1/optionschain/subscriptions/{ContextId}/{ReferenceId}': delete: tags: - Options Chain summary: Remove an options chain subscription description: Removes subscription for the current session identified by contextId and referenceId. operationId: OptionsChainsV1DeleteSubscription parameters: - name: ContextId in: path description: The context id part of the streaming session (used to identify the subscription within a streaming session). required: true style: simple schema: type: string example: '29931122' - name: ReferenceId in: path description: Unique id of the subscription required: true style: simple schema: type: string example: 0f8fad5b-d9cb-469f-a165-70867728950e 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 patch: tags: - Options Chain summary: 'Modify an existing options chain subscription. This replaces the obsolete version subscriptions/active/{contextId}/{referenceId}' description: "Modifies an existing subscription. This is used for scrolling the options board, by providing either another set of expiries, \n or specifying another set of strikes to subscribe to. \n For changing to another instrument, it is recommended to create a new subscription and discard the old." operationId: OptionsChainsV1ModifySubscription parameters: - name: ContextId in: path required: true style: simple schema: type: string - name: ReferenceId in: path required: true style: simple schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ModifyOptionsChainSubscriptionRequest' example: Expiries: - Index: 99 StrikeStartIndex: 99 MaxStrikesPerExpiry: 99 responses: '204': description: No Content '404': description: '' '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InvalidRequest type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. 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 '/trade/v1/optionschain/subscriptions/active/{ContextId}/{ReferenceId}': patch: tags: - Options Chain summary: 'OBSOLETE Modify an existing options chain subscription. This endpoint is obsolete. Use subscriptions/{contextId}/{referenceId}.' description: "Modifies an existing subscription. This is used for scrolling the options board, by providing either another set of expiries, \n or specifying another set of strikes to subscribe to. \n For changing to another instrument, it is recommended to create a new subscription and discard the old." operationId: OptionsChainsV1ModifyActiveSubscription parameters: - name: ContextId in: path required: true style: simple schema: type: string - name: ReferenceId in: path required: true style: simple schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ModifyOptionsChainSubscriptionRequest' example: Expiries: - Index: 99 StrikeStartIndex: 99 MaxStrikesPerExpiry: 99 responses: '204': description: No Content '404': description: '' '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InvalidRequest type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' deprecated: true security: - OpenApiOAuthSecurityScheme: [ ] - OpenApiJWTSecurityScheme: [ ] x-required-permissions: personal: Subscribe /trade/v1/optionschain/subscriptions: post: tags: - Options Chain summary: Create an active options chain subscription description: Sets up a subscription and returns an initial snapshot of the options chain specified by the parameters in the request. operationId: OptionsChainsV1AddSubscriptionAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/OptionsChainSubscriptionRequest' example: Arguments: AccountKey: LZTc7DdejXODf-WSl2aCyQ== AssetType: StockIndexOption Expiries: - Index: 1 StrikeStartIndex: 0 Identifier: 18 MaxStrikesPerExpiry: 3 ContextId: '20221030063404760' ReferenceId: C0142897 RefreshRate: 1000 responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/OptionsChainSubscriptionResponse' example: ContextId: '20221030063404760' InactivityTimeout: 60 ReferenceId: C0142897 RefreshRate: 1000 Snapshot: AssetType: StockIndexOption Expiries: - DisplayDate: '0001-01-01' DisplayDaysToExpiry: 30 Expiry: '2017-05-31T11:10:00Z' Index: 0 LastTradeDate: '0201-05-31T21:00:00Z' MidStrikePrice: 0 StrikeCount: 50 Strikes: - Index: 0 Strike: 97.25 - Index: 1 Strike: 97.375 - Index: 2 Strike: 97.5 - Index: 3 Strike: 97.625 - Index: 4 Strike: 97.75 - Index: 5 Strike: 97.8125 - Index: 6 Strike: 97.875 - Index: 7 Strike: 97.9375 - Index: 8 Strike: 98 - Index: 9 Strike: 98.0625 - Index: 10 Strike: 98.125 - Index: 11 Strike: 98.1875 - Index: 12 Strike: 98.25 - Index: 13 Strike: 98.3125 - Index: 14 Strike: 98.375 - Index: 15 Strike: 98.4375 - Index: 16 Strike: 98.5 - Index: 17 Strike: 98.5625 - Index: 18 Strike: 98.625 - Index: 19 Strike: 98.6875 - Index: 20 Strike: 98.75 - Index: 21 Strike: 98.8125 - Index: 22 Strike: 98.875 - Index: 23 Strike: 98.9375 - Call: High: 0 LastClose: 0.095 LastTraded: 0 Low: 0 NetChange: -0.095 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485090 Volume: 0 Index: 24 Put: High: 0 LastClose: 0 LastTraded: 0 Low: 0 NetChange: 0 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485130 Volume: 0 Strike: 99 - Call: High: 0 LastClose: 0.035 LastTraded: 0 Low: 0 NetChange: -0.035 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485091 Volume: 0 Index: 25 Put: High: 0 LastClose: 0.0025 LastTraded: 0 Low: 0 NetChange: -0.0025 Open: 0 OpenInterest: 250 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485131 Volume: 0 Strike: 99.0625 - Call: High: 0 LastClose: 0.0025 LastTraded: 0 Low: 0 NetChange: -0.0025 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485092 Volume: 0 Index: 26 Put: High: 0 LastClose: 0.0325 LastTraded: 0 Low: 0 NetChange: -0.0325 Open: 0 OpenInterest: 250 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485132 Volume: 0 Strike: 99.125 - Index: 27 Strike: 99.1875 - Index: 28 Strike: 99.25 - Index: 29 Strike: 99.3125 - Index: 30 Strike: 99.375 - Index: 31 Strike: 99.4375 - Index: 32 Strike: 99.5 - Index: 33 Strike: 99.5625 - Index: 34 Strike: 99.625 - Index: 35 Strike: 99.6875 - Index: 36 Strike: 99.75 - Index: 37 Strike: 99.8125 - Index: 38 Strike: 99.875 - Index: 39 Strike: 99.9375 - Index: 40 Strike: 100 - Index: 41 Strike: 100.0625 - Index: 42 Strike: 100.125 - Index: 43 Strike: 100.1875 - Index: 44 Strike: 100.25 - Index: 45 Strike: 100.375 - Index: 46 Strike: 100.5 - Index: 47 Strike: 100.625 - Index: 48 Strike: 100.75 - Index: 49 Strike: 100.875 StrikeWindowStartIndex: 24 UnderlyingUic: 2456777 ExpiryCount: 0 LastUpdated: '0001-01-01T00:00:00Z' State: Active '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InvalidModelState - InvalidRequest - UnsupportedSubscriptionFormat type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. 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. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '404': description: Not Found content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - IllegalInstrumentId type: string example: None x-enum-descriptions: IllegalInstrumentId: Unknown instrument name 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 x-streaming-type: $ref: '#/components/schemas/OptionsChainResponseDomainEvent' /trade/v1/optionschain/subscriptions/active: post: tags: - Options Chain summary: OBSOLETE Create an active options chain subscription description: Sets up a subscription and returns an initial snapshot of the options chain specified by the parameters in the request. operationId: OptionsChainsV1AddActiveSubscriptionAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/OptionsChainSubscriptionRequest' example: Arguments: AccountKey: LZTc7DdejXODf-WSl2aCyQ== AssetType: StockIndexOption Expiries: - Index: 1 StrikeStartIndex: 0 Identifier: 18 MaxStrikesPerExpiry: 3 ContextId: '20221030063404760' ReferenceId: C0142897 RefreshRate: 1000 responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/OptionsChainSubscriptionResponse' example: ContextId: '20221030063404760' InactivityTimeout: 60 ReferenceId: C0142897 RefreshRate: 1000 Snapshot: AssetType: StockIndexOption Expiries: - DisplayDate: '0001-01-01' DisplayDaysToExpiry: 30 Expiry: '2017-05-31T11:10:00Z' Index: 0 LastTradeDate: '0201-05-31T21:00:00Z' MidStrikePrice: 0 StrikeCount: 50 Strikes: - Index: 0 Strike: 97.25 - Index: 1 Strike: 97.375 - Index: 2 Strike: 97.5 - Index: 3 Strike: 97.625 - Index: 4 Strike: 97.75 - Index: 5 Strike: 97.8125 - Index: 6 Strike: 97.875 - Index: 7 Strike: 97.9375 - Index: 8 Strike: 98 - Index: 9 Strike: 98.0625 - Index: 10 Strike: 98.125 - Index: 11 Strike: 98.1875 - Index: 12 Strike: 98.25 - Index: 13 Strike: 98.3125 - Index: 14 Strike: 98.375 - Index: 15 Strike: 98.4375 - Index: 16 Strike: 98.5 - Index: 17 Strike: 98.5625 - Index: 18 Strike: 98.625 - Index: 19 Strike: 98.6875 - Index: 20 Strike: 98.75 - Index: 21 Strike: 98.8125 - Index: 22 Strike: 98.875 - Index: 23 Strike: 98.9375 - Call: High: 0 LastClose: 0.095 LastTraded: 0 Low: 0 NetChange: -0.095 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485090 Volume: 0 Index: 24 Put: High: 0 LastClose: 0 LastTraded: 0 Low: 0 NetChange: 0 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485130 Volume: 0 Strike: 99 - Call: High: 0 LastClose: 0.035 LastTraded: 0 Low: 0 NetChange: -0.035 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485091 Volume: 0 Index: 25 Put: High: 0 LastClose: 0.0025 LastTraded: 0 Low: 0 NetChange: -0.0025 Open: 0 OpenInterest: 250 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485131 Volume: 0 Strike: 99.0625 - Call: High: 0 LastClose: 0.0025 LastTraded: 0 Low: 0 NetChange: -0.0025 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485092 Volume: 0 Index: 26 Put: High: 0 LastClose: 0.0325 LastTraded: 0 Low: 0 NetChange: -0.0325 Open: 0 OpenInterest: 250 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485132 Volume: 0 Strike: 99.125 - Index: 27 Strike: 99.1875 - Index: 28 Strike: 99.25 - Index: 29 Strike: 99.3125 - Index: 30 Strike: 99.375 - Index: 31 Strike: 99.4375 - Index: 32 Strike: 99.5 - Index: 33 Strike: 99.5625 - Index: 34 Strike: 99.625 - Index: 35 Strike: 99.6875 - Index: 36 Strike: 99.75 - Index: 37 Strike: 99.8125 - Index: 38 Strike: 99.875 - Index: 39 Strike: 99.9375 - Index: 40 Strike: 100 - Index: 41 Strike: 100.0625 - Index: 42 Strike: 100.125 - Index: 43 Strike: 100.1875 - Index: 44 Strike: 100.25 - Index: 45 Strike: 100.375 - Index: 46 Strike: 100.5 - Index: 47 Strike: 100.625 - Index: 48 Strike: 100.75 - Index: 49 Strike: 100.875 StrikeWindowStartIndex: 24 UnderlyingUic: 2456777 ExpiryCount: 0 LastUpdated: '0001-01-01T00:00:00Z' State: Active '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InvalidModelState - InvalidRequest - UnsupportedSubscriptionFormat type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. 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. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '404': description: Not Found content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - IllegalInstrumentId type: string example: None x-enum-descriptions: IllegalInstrumentId: Unknown instrument name 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' deprecated: true security: - OpenApiOAuthSecurityScheme: [ ] - OpenApiJWTSecurityScheme: [ ] x-required-permissions: personal: Subscribe x-streaming-type: $ref: '#/components/schemas/OptionsChainResponseDomainEvent' /trade/v1/positions/exercise: put: tags: - Positions summary: Exercise an amount description: 'Forces exercise of an amount across all positions for the specified UIC. This is relevant for Futures Options, Stock Options, Stock Index Options.' operationId: PositionsV1ExerciseAmountAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/ExercisePositionRequest' example: AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 100 AssetType: StockOption Uic: 5455848 responses: '204': description: No Content content: application/json: schema: $ref: '#/components/schemas/PositionSyncResponse' example: PositionId: '1019942426' '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - AmountNotInLotSize - IllegalAmount - IllegalInstrumentId - InstrumentTypeNotSupportedException - InvalidRequest - InvalidUic - MarketClosed - NotTradableAtPresent - OptionExerciseAfterCutoff type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. IllegalInstrumentId: Unknown instrument name IllegalAmount: Illegal amount. AmountNotInLotSize: Order size is not valid for the exchange. InvalidUic: UIC is either invalid or not specified at all. InstrumentTypeNotSupportedException: Unsupported instrument type. MarketClosed: Market is closed. NotTradableAtPresent: Not tradable at present. OptionExerciseAfterCutoff: Exercise not allowed after exercise cut-off time or on last trading day or later. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '409': description: '' '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [ ] - OpenApiJWTSecurityScheme: [ ] x-required-permissions: personal: Write '/trade/v1/positions/{PositionId}/exercise': put: tags: - Positions summary: Exercise a position description: 'Forces exercise of a position. This is relevant for Futures Options, Stock Options, Stock Index Options.' operationId: PositionsV1ExercisePositionAsync parameters: - name: PositionId in: path description: The position identifier. required: true style: simple schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ExercisePositionRequest' example: AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 100 AssetType: StockOption Uic: 5455848 responses: '204': description: No Content content: application/json: schema: $ref: '#/components/schemas/PositionSyncResponse' example: PositionId: '1019942426' '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - AccountIsTradeRestricted - AmountNotInLotSize - ClientExposureLimitation - FXOptionSpotSettlementModeNotAllowed - IllegalAmount - IllegalInstrumentId - InstrumentHasExpired - InstrumentSuspended - InstrumentTypeNotSupportedException - InsufficentCash - InvalidRequest - InvalidUic - MarginBorderline - MarketClosed - NotTradableAtPresent - OptionExerciseAfterCutoff - PendingTradeRequests - WouldExceedEquityConcentrationLimit - WouldExceedMargin - WouldExceedMarginCeiling - WouldExceedTradingLine type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. IllegalInstrumentId: Unknown instrument name IllegalAmount: Illegal amount. AmountNotInLotSize: Order size is not valid for the exchange. InvalidUic: UIC is either invalid or not specified at all. InstrumentTypeNotSupportedException: Unsupported instrument type. NotTradableAtPresent: Not tradable at present. OptionExerciseAfterCutoff: Exercise not allowed after exercise cut-off time or on last trading day or later. ClientExposureLimitation: Trade would exceed client exposure limitation. MarginBorderline: Trade would result in borderline margin MarketClosed: Market is closed. InsufficentCash: Insufficient cash for trade. PendingTradeRequests: Limit of pending trade requests is exceeded InstrumentHasExpired: Instrument has expired AccountIsTradeRestricted: Account is trade restricted. InstrumentSuspended: Trading in instrument is suspended WouldExceedMargin: Trade would exceed margin limits. WouldExceedMarginCeiling: Would exceed margin ceiling. WouldExceedEquityConcentrationLimit: Would exceed equity concentration limit. WouldExceedTradingLine: Trade would exceed trading line limits. FXOptionSpotSettlementModeNotAllowed: Spot settlement mode is not allowed Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '409': description: '' '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [ ] - OpenApiJWTSecurityScheme: [ ] x-required-permissions: personal: Write '/trade/v1/positions/{PositionId}': patch: tags: - Positions summary: Update a position description: Updates properties of an existing position. operationId: PositionsV1UpdatePosition parameters: - name: PositionId in: path description: The position identifier. required: true style: simple schema: type: string example: '1019942425' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatePositionRequest' example: AccountKey: LZTc7DdejXODf-WSl2aCyQ== ExerciseMethod: Spot responses: '204': description: No Content content: application/json: schema: $ref: '#/components/schemas/PositionSyncResponse' example: PositionId: '1019942426' '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - AccountIsTradeRestricted - InvalidRequest - MarginBorderline - PendingTradeRequests - TooLateToSwitchCashSettled - WouldExceedEquityConcentrationLimit - WouldExceedMargin - WouldExceedMarginCeiling - WouldExceedTradingLine type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. AccountIsTradeRestricted: Account is trade restricted. WouldExceedMargin: Trade would exceed margin limits. WouldExceedMarginCeiling: Would exceed margin ceiling. WouldExceedEquityConcentrationLimit: Would exceed equity concentration limit. WouldExceedTradingLine: Trade would exceed trading line limits. MarginBorderline: Trade would result in borderline margin PendingTradeRequests: Limit of pending trade requests is exceeded TooLateToSwitchCashSettled: Too Late To Switch CashSettled 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 /trade/v1/positions: post: tags: - Positions summary: Create a new position by accepting a quote description: "Creates a new position by accepting a quote.\n\n\nThe quote must be the most recent one and it must be tradable (Quote.PriceType=PriceType.Tradable)." operationId: PositionsV1CreatePosition requestBody: content: application/json: schema: $ref: '#/components/schemas/PlacePositionRequest' example: AppHint: 12 BuySell: Buy PriceReferenceId: P72733 QuoteId: '1232145' UserPrice: 234.1 responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/PositionSyncResponse' example: PositionId: '1019942426' '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - AccountIsTradeRestricted - AmountLowerThanAllocationKeyUnits - BarrierTooCloseToSpot - BrokerOption - ClientCancelsExecute - ClientExposureLimitation - CloseAllPositionsAlreadyBeingClosed - CouldNotCompleteRequest - DirectAccessNotAllowed - IllegalRequest - InstrumentHasExpired - InstrumentNotAllowed - InstrumentSuspended - InsufficentCash - InvalidAllocationKeyUsed - InvalidRequest - MarginBorderline - MarketClosed - NoValidQuote - NotTradableAtPresent - OpeningShortFXOptionPositionsNotAllowed - PendingTradeRequests - PositionBuildupNotValidForInstrument - PriceNotFound - QuoteHasTimedOut - RequoteRequired - ShortTradeDisabled - TooSmallTrade - TradeNotCompleted - WouldExceedEquityConcentrationLimit - WouldExceedMargin - WouldExceedMarginCeiling - WouldExceedTradingLine type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. InvalidAllocationKeyUsed: Order or trade placed with an allocationkey thats invalid marked as inactive or deleted. PriceNotFound: Price from client trade request was not found in price history. NoValidQuote: No valid quote to buy or sell on. MarketClosed: Market is closed. InsufficentCash: Insufficient cash for trade. QuoteHasTimedOut: Quote has timed out. RequoteRequired: 'Price has changed to much, requote required.' BrokerOption: Request rejected by broker. ShortTradeDisabled: Trading Short for selected instrument disabled. NotTradableAtPresent: Not tradable at present. ClientExposureLimitation: Trade would exceed client exposure limitation. MarginBorderline: Trade would result in borderline margin TooSmallTrade: Trade contract size is to small InstrumentSuspended: Trading in instrument is suspended DirectAccessNotAllowed: Instrument invalid for Direct Access trading PendingTradeRequests: Limit of pending trade requests is exceeded InstrumentHasExpired: Instrument has expired AmountLowerThanAllocationKeyUnits: Order or trade placed or changed to amount lower than sum of units in allocation key. CloseAllPositionsAlreadyBeingClosed: The specified closeAll key covers positions already closed by a closeAll key. PositionBuildupNotValidForInstrument: A trade or order was placed with position buildup on an instrument not supporting this. AccountIsTradeRestricted: Account is trade restricted. BarrierTooCloseToSpot: Barrier is too close to spot. OpeningShortFXOptionPositionsNotAllowed: Opening short FX option positions is not allowed. WouldExceedMargin: Trade would exceed margin limits. WouldExceedMarginCeiling: Would exceed margin ceiling. WouldExceedEquityConcentrationLimit: Would exceed equity concentration limit. WouldExceedTradingLine: Trade would exceed trading line limits. InstrumentNotAllowed: 'The account is not allowed to trade in or receive prices for the specified [AssetType]' ClientCancelsExecute: Client cancels execute IllegalRequest: Request type not supported CouldNotCompleteRequest: Could not complete request. TradeNotCompleted: Trade request could not be completed at this time 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 /trade/v2/orders/multileg/defaults: get: tags: - Orders summary: Get default values for a option multi-leg order strategies. description: Returns a list of suggested orders/legs for the given option root and strategy. operationId: OrdersV2GetMultiLegOrderStrategyDefaults parameters: - name: AccountKey in: query description: "Unique key identifying the account used in retrieving the price.\n Only required when calling context represents an authenticated user." required: true style: form explode: false schema: title: "Unique key identifying the account used in retrieving the price.\n Only required when calling context represents an authenticated user." minLength: 1 type: string x-type-name: AccountKey example: 01b64edf-da03-4145-bf33-ae21527d4c86 - name: OptionRootId in: query description: Id of the contract option root. required: true style: form explode: false schema: title: Id of the contract option root. type: integer format: int32 example: 99 - name: OptionsStrategyType in: query description: The to get. required: true style: form explode: false schema: title: The to get. allOf: - $ref: '#/components/schemas/OptionsStrategyType' example: Synthetic responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MultiLegOrderStrategyDefault' example: Legs: - Amount: 10 AssetType: Etf BuySell: Sell OptionData: ExpiryDate: '2023-03-22T16:40:01.7806301' PutCall: Call StrikePrice: 10 Uic: 99 StrategyType: Custom '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InvalidOptionRootId type: string example: None x-enum-descriptions: InvalidOptionRootId: Invalid option root id specified. 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 '/trade/v2/orders/multileg/{MultiLegOrderId}': delete: tags: - Orders summary: Cancel a multi-leg strategy order. description: Cancels all order legs in a combined multi-leg strategy order. operationId: OrdersV2CancelMultiLegStrategyOrder parameters: - name: AccountKey in: query description: Unique key identifying the account. required: true style: form explode: false schema: minLength: 1 type: string x-type-name: AccountKey example: LZTc7DdejXODf-WSl2aCyQ== - name: MultiLegOrderId in: path description: Unique identifier for the multi-leg order. Same for all legs. required: true style: simple schema: type: string example: '67762872' responses: '204': description: Not used. content: application/json: schema: $ref: '#/components/schemas/CancelOrderResponse' example: Orders: - ErrorInfo: ErrorCode: Unknown Message: Order request rejected '200': description: Check response for MultiLegOrderId and ErrorInfo fields to determine success or failure to cancel order '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - ActiveFollowerCannotCancelOrderManually - AlreadyPendingCancelReplace - BrokerOption - ClientCannotCancelStopOutOrder - ClientCannotChangeAllocatedOrder - CouldNotCompleteRequest - ForceOpenNotAllowed - IllegalAccount - InvalidModelState - InvalidRequest - OrderCannotBeCancelledAtThisTime - OrderNotFound - OtherError - TooLateToCancelOrder type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. InvalidModelState: One or more properties of the request are invalid! IllegalAccount: Illegal Account ClientCannotCancelStopOutOrder: Client can not cancel a market stop-out order. ActiveFollowerCannotCancelOrderManually: An active trade follower is not allowed to cancel order manually. AlreadyPendingCancelReplace: Request to Cancel or Replace order already send ClientCannotChangeAllocatedOrder: Cannot change order – part of an allocation. OrderCannotBeCancelledAtThisTime: Order cannot be canceled at this time BrokerOption: Broker Option OrderNotFound: Requested order id not found TooLateToCancelOrder: Too late to cancel order CouldNotCompleteRequest: Could not complete request. OtherError: OtherError. ForceOpenNotAllowed: Force Open is not allowed Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '201': description: Created '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [ ] - OpenApiJWTSecurityScheme: [ ] x-required-permissions: personal: Write /trade/v2/orders/multileg: post: tags: - Orders summary: Place a new multi-leg option strategy order description: "Places a combined order where all legs must be symmetrically filled by the exchange. Used to place custom and common option strategies such as CalendarSpreads, Strangles and Straddles. Only supported on certian options exchanges. Support is indicated by the CanParticipateInMultiLegOrder flag when looking up the option root in RefData.\n\n\nIt is also possible to place an multi-leg order on behalf of another client (for IBs). The account key property of the order determines the client account on which the order is placed. It is the same for all legs." operationId: OrdersV2PlaceMultiLegStrategyOrder requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceMultiLegStrategyOrderRequest' example: AccountKey: 01b64edf-da03-4145-bf33-ae21527d4c86 ExternalReference: stringValue Legs: - Amount: 10 AssetType: CfdOnRights BuySell: Buy ToOpenClose: ToOpen Uic: 99 ManualOrder: true OrderDuration: DurationType: GoodTillDate ExpirationDateContainsTime: true ExpirationDateTime: '2022-11-09T14:00:00' OrderPrice: 10 OrderType: TriggerBreakout TraderId: stringValue responses: '201': description: Not used. content: application/json: schema: $ref: '#/components/schemas/GenericOrderResponse' example: OrderId: '67762872' Orders: - OrderId: '67762872' '200': description: Check response for OrderId and ErrorInfo fields to determine success or failure to place order '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - ActiveFollowerCannotDoManualTrade - AlgoOrderTimeBeforeExchangeOpen - AmountBelowMinimumLotSize - AmountCannotBeLessThanFilledAmount - AmountNotInLotSize - BlocksExistForOwnedContracts - BreakoutUpPriceCannotBeLessThanDownPrice - BrokerOption - CashAmountLessThanMinInitialInvestmentAmount - ClientExposureLimitation - ClientOnReduceForcedExposureReductionViolation - ContactExposureLimitation - CouldNotCompleteRequest - DurationNotSupported - ExpirationDateInPast - ExpirationDateRequired - ForceOpenNotAllowed - ForcedExposureReductionViolation - ForwardDateInPast - ForwardDateRequired - GtdOrderCannotBeLaterThanExpiry - IllegalAccount - IllegalAmount - IllegalAssetType - IllegalDate - IllegalInstrumentId - IllegalRequest - IllegalStrike - InSufficientOrderLegsSpecified - InstrumentDisabledForTrading - InstrumentForcedExposureReductionViolation - InstrumentHasExpired - InstrumentNotAllowed - InsufficientCash - InvalidAllocationKeyUsed - InvalidModelState - InvalidRequest - InvalidUic - LimitTooFarFromStop - MarketClosed - NotOwned - NotPrimarySession - NotTradableAtPresent - OnWrongSideOfMarket - OnlySidedReductionAllowed - OptionExerciseAfterCutoff - OptionExerciseNotAllowedDueExDateOfUpcomingCorporateActionOnInstrument - OrderNotFound - OrderNotPlaced - OrderPriceOutsideLimit - OrderRejectedByBroker - OrderRelatedPositionIsClosed - OrderRelatedPositionMissMatch - OrderSizeGreaterThanMaximumAllowed - OrderTypeNotSupported - OrderValueToSmall - OrderValueTooLarge - OtherError - PriceExceedsAggressiveTolerance - PriceHasMoved - PriceNotInTickSizeIncrements - RelatedOrClosingOrderNotAllowedForIntradayNettingClients - RelatedPositionNotFound - RepeatTradeOnAutoQuote - SellExceedsSettledExposure - SellOrdersAlreadyExistForOwnedContracts - ShortTradeDisabled - ToOpenNotAllowedOnInstrument - TooCloseToMarket - TooCloseToOcoRelatedOrderPrice - TooFarFromEntryOrder - TooFarFromMarket - TradingDisabled - WouldExceedAccountValueProtectionLimit - WouldExceedMargin - WouldExceedMarginCeiling - WouldExceedTradingLine - WrongSideOfRelatedOrder type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. InvalidModelState: One or more properties of the request are invalid! ForwardDateRequired: Forward date is mandatory. ForwardDateInPast: Forward date is in the past. ExpirationDateInPast: Expiration date is in the past. InvalidUic: UIC is either invalid or not specified at all. OrderNotPlaced: Order not placed as other order in request was rejected. OrderNotFound: Requested order id not found OnWrongSideOfMarket: Order price is on wrong side of market TooFarFromMarket: Limit price is too far from market WouldExceedMargin: Trade would exceed margin limits NotTradableAtPresent: Not tradable at present DurationNotSupported: The supplied duration is not supported for the current order. AmountBelowMinimumLotSize: Order size is below the minimum exchange lot size. AmountNotInLotSize: Order size is not a valid exchange lot order size. OrderRelatedPositionMissMatch: Order does not match related position PriceExceedsAggressiveTolerance: Price exceeds aggressive tolerance OrderValueToSmall: Order value must be above the minimum order value for this exchange IllegalAccount: Illegal Account AlgoOrderTimeBeforeExchangeOpen: Algo order parameter has time before exchange open. CashAmountLessThanMinInitialInvestmentAmount: Cash amount should be more than or equal to minimum investment amount. SellExceedsSettledExposure: Selling on T day is limited to end of day position on T-1 day. TradingDisabled: Trading is disabled for the client. ActiveFollowerCannotDoManualTrade: You are not allowed to open or close a position on an active strategy account ClientExposureLimitation: Trade would exceed client exposure limitation ForcedExposureReductionViolation: Forced exposure reduction violation GtdOrderCannotBeLaterThanExpiry: GTD order cannot be later than expiry InstrumentDisabledForTrading: Trading is disabled for the instrument InstrumentHasExpired: Instrument has expired InstrumentNotAllowed: Not allowed to trade in this instrument MarketClosed: Market is closed IllegalRequest: Request type not supported NotOwned: Selling contracts not owned PriceNotInTickSizeIncrements: Order price is not in tick size increments RelatedPositionNotFound: Related position not found OrderRelatedPositionIsClosed: Related position already closed SellOrdersAlreadyExistForOwnedContracts: 'Contracts owned, but sell orders already exist' OrderPriceOutsideLimit: Price too far from market TooFarFromEntryOrder: Order price is too far from the entry order LimitTooFarFromStop: Limit price is too far away from stop price OrderTypeNotSupported: Order type not supported WouldExceedAccountValueProtectionLimit: Trade would exceed the account value protection limit. WouldExceedTradingLine: Trade would exceed trading line limits OrderRejectedByBroker: Order Rejected by Broker. OrderSizeGreaterThanMaximumAllowed: Order Size is greater than the maximum allowed order size. RelatedOrClosingOrderNotAllowedForIntradayNettingClients: Position-related orders are not allowed when real-time netting is enabled. ToOpenNotAllowedOnInstrument: 'Adjusted Option Class: Not allowed to increase exposure.' PriceHasMoved: Price has moved. Please review Price Tolerance to increase the chances of a fill InsufficientCash: Insufficient cash for trade BrokerOption: Broker Option IllegalAssetType: Illegal asset type OnlySidedReductionAllowed: Only sided exposure reduction is allowed. OrderValueTooLarge: Order value is too large ShortTradeDisabled: Trading Short for selected instrument disabled TooCloseToOcoRelatedOrderPrice: Order price is too close to OCO related order price WouldExceedMarginCeiling: Would exceed margin ceiling IllegalAmount: Illegal amount IllegalInstrumentId: Unknown instrument name InvalidAllocationKeyUsed: Order or trade placed with an allocationkey thats marked as inactive or deleted CouldNotCompleteRequest: Could not complete request. OtherError: OtherError. RepeatTradeOnAutoQuote: Repeated trade on auto quote WrongSideOfRelatedOrder: Order price is on wrong side of related order. AmountCannotBeLessThanFilledAmount: Amount cannot be less than filled amount. IllegalDate: Illegal Date IllegalStrike: Illegal strike price OptionExerciseAfterCutoff: Exercise not allowed after exercise cut-off time or on last trading day or later TooCloseToMarket: Guaranteed stop is too close to market ExpirationDateRequired: Expiration date is mandatory for this type of order request. InstrumentForcedExposureReductionViolation: Exposure cannot be increased due to instrument configuration. InSufficientOrderLegsSpecified: Insufficient order legs provided for a multi-leg strategy order. ForceOpenNotAllowed: Force Open is not allowed BlocksExistForOwnedContracts: The block exists for the owned contract. BreakoutUpPriceCannotBeLessThanDownPrice: Breakout up price cannot be less than down price. OptionExerciseNotAllowedDueExDateOfUpcomingCorporateActionOnInstrument: Option exercise not allowed day before expiry date of upcoming corporate action on this instrument. ClientOnReduceForcedExposureReductionViolation: Client is on Reduce group type. Exposure cannot be increased. ContactExposureLimitation: Contact level exposure limit exceeded NotPrimarySession: 'Operation not allowed, due to not being in Primary session mode.' 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 patch: tags: - Orders summary: Change an existing multi-leg option strategy order description: Change an existing multi-leg option strategy order. operationId: OrdersV2ChangeMultiLegStrategyOrder requestBody: content: application/json: schema: $ref: '#/components/schemas/ChangeMultiLegStrategyOrderRequest' example: AccountKey: 01b64edf-da03-4145-bf33-ae21527d4c86 MultiLegAmount: 10 MultiLegOrderId: stringValue OrderDuration: DurationType: GoodTillDate ExpirationDateContainsTime: true ExpirationDateTime: '2022-11-09T14:00:00' OrderPrice: 10 TraderId: stringValue responses: '204': description: Not used. content: application/json: schema: $ref: '#/components/schemas/GenericOrderResponse' example: OrderId: '67762872' Orders: - OrderId: '67762872' '200': description: Check response for OrderId and ErrorInfo fields to determine success or failure to change order '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - ActiveFollowerCannotChangeOrderManually - AlreadyPendingCancelReplace - AmendmentsNotSupportedInBreakSession - AmountBelowMinimumLotSize - AmountCannotBeLessThanFilledAmount - AmountNotInLotSize - BlocksExistForOwnedContracts - BreakoutUpPriceCannotBeLessThanDownPrice - BrokerOption - ClientExposureLimitation - ClientOnReduceForcedExposureReductionViolation - ContactExposureLimitation - CouldNotCompleteRequest - ForceOpenNotAllowed - IllegalAccount - IllegalAmount - IllegalDate - IllegalOrderTypeChange - IllegalStrike - InstrumentDisabledForTrading - InstrumentForcedExposureReductionViolation - InsufficientCash - InvalidAllocationKeyUsed - InvalidModelState - InvalidRequest - LimitOrderHigherStopOnSell - LimitOrderLowerThenStopOnBuy - LimitTooFarFromStop - MarketClosed - NotPrimarySession - NotTradableAtPresent - OnWrongSideOfMarket - OptionExerciseAfterCutoff - OrderCannotBeChangedAtThisTime - OrderNotFound - OrderRelatedPositionMissMatch - OrderSizeGreaterThanMaximumAllowed - OrderValueToSmall - OrderValueTooLarge - OtherError - PriceExceedsAggressiveTolerance - PriceNotInTickSizeIncrements - ShortTradeDisabled - StopOrderLowerLimitOnSell - TooCloseToMarket - TooCloseToOcoRelatedOrderPrice - TooFarFromMarket - TooLateToChangeOrder - WouldExceedMargin - WouldExceedMarginCeiling - WrongSideOfRelatedOrder type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. InvalidModelState: One or more properties of the request are invalid! IllegalAccount: Illegal Account ActiveFollowerCannotChangeOrderManually: An active trade follower is not allowed to change order manually. AmendmentsNotSupportedInBreakSession: Amendments not supported in break session ClientExposureLimitation: Trade would exceed client exposure limitation IllegalAmount: Illegal amount IllegalOrderTypeChange: Illegal order type change InstrumentForcedExposureReductionViolation: Exposure cannot be increased due to instrument configuration. MarketClosed: Market is closed TooLateToChangeOrder: Too late to change order PriceNotInTickSizeIncrements: Order price is not in tick size increments LimitTooFarFromStop: Limit price is too far away from stop price LimitOrderLowerThenStopOnBuy: Not allowed to change price of limit order lower than price of related stop order StopOrderLowerLimitOnSell: Not allowed to change price of stop order lower than price of related limit order OrderCannotBeChangedAtThisTime: Order cannot be changed at this time OrderSizeGreaterThanMaximumAllowed: Order Size is greater than the maximum allowed order size. InsufficientCash: Insufficient cash for trade AlreadyPendingCancelReplace: Request to Cancel or Replace order already send AmountBelowMinimumLotSize: Order size is below the minimum exchange lot size. AmountNotInLotSize: Order size is not a valid exchange lot order size. BrokerOption: Broker Option OnWrongSideOfMarket: Order price is on wrong side of market OrderNotFound: Requested order id not found OrderValueTooLarge: Order value is too large OrderValueToSmall: Order value must be above the minimum order value for this exchange PriceExceedsAggressiveTolerance: Price exceeds aggressive tolerance ShortTradeDisabled: Trading Short for selected instrument disabled TooCloseToOcoRelatedOrderPrice: Order price is too close to OCO related order price TooFarFromMarket: Limit price is too far from market WouldExceedMargin: Trade would exceed margin limits WouldExceedMarginCeiling: Would exceed margin ceiling CouldNotCompleteRequest: Could not complete request. WrongSideOfRelatedOrder: Order price is on wrong side of related order. AmountCannotBeLessThanFilledAmount: Amount cannot be less than filled amount. OtherError: OtherError. IllegalDate: Illegal Date IllegalStrike: Illegal strike price InstrumentDisabledForTrading: Trading is disabled for the instrument LimitOrderHigherStopOnSell: Not allowed to change price of limit order higher than price of related stop order NotTradableAtPresent: Not tradable at present OptionExerciseAfterCutoff: Exercise not allowed after exercise cut-off time or on last trading day or later OrderRelatedPositionMissMatch: Order does not match related position TooCloseToMarket: Guaranteed stop is too close to market InvalidAllocationKeyUsed: Order or trade placed with an allocationkey thats marked as inactive or deleted ForceOpenNotAllowed: Force Open is not allowed BlocksExistForOwnedContracts: The block exists for the owned contract. BreakoutUpPriceCannotBeLessThanDownPrice: Breakout up price cannot be less than down price. ClientOnReduceForcedExposureReductionViolation: Client is on Reduce group type. Exposure cannot be increased. ContactExposureLimitation: Contact level exposure limit exceeded NotPrimarySession: 'Operation not allowed, due to not being in Primary session mode.' Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '201': description: Created '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [ ] - OpenApiJWTSecurityScheme: [ ] x-required-permissions: personal: Write /trade/v2/orders/multileg/precheck: post: tags: - Orders summary: Pre-check a multileg options strategy order. description: Preforms a pre-check on a single options strategy order. operationId: OrdersV2PreCheckMultilegOrder requestBody: content: application/json: schema: $ref: '#/components/schemas/PreCheckMultiLegOrderRequest' example: AccountKey: 01b64edf-da03-4145-bf33-ae21527d4c86 ExternalReference: stringValue FieldGroups: - MarginImpactBuySell Legs: - Amount: 10 AssetType: CfdOnEtf BuySell: Buy ToOpenClose: Undefined Uic: 99 ManualOrder: false OrderDuration: DurationType: GoodTillDate ExpirationDateContainsTime: true ExpirationDateTime: '2022-11-09T14:00:00' OrderPrice: 10 OrderType: TriggerLimit TraderId: stringValue responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/PreCheckOrderResponse' example: Cost: Commission: 1000 ExchangeFee: 0 GuaranteedStopFee: 0 StampDuty: 0 EstimatedCashRequired: 1500000 EstimatedCashRequiredCurrency: EUR EstimatedTotalCost: 1500000 EstimatedTotalCostInAccountCurrency: 1500000 InstrumentToAccountConversionRate: 1 MarginImpactBuySell: Currency: USD InitialMarginAvailableBuy: 10447 InitialMarginAvailableCurrent: 10470 InitialMarginBuy: 12 MaintenanceMarginBuy: 11 PreCheckResult: Ok '200': description: Check response for ErrorInfo fields to determine success or failure to pre-check order '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - ActiveFollowerCannotDoManualTrade - AmountBelowMinimumLotSize - AmountNotInLotSize - BlocksExistForOwnedContracts - BreakoutUpPriceCannotBeLessThanDownPrice - BrokerOption - CashAmountLessThanMinInitialInvestmentAmount - ClientExposureLimitation - ClientOnReduceForcedExposureReductionViolation - ContactExposureLimitation - CouldNotCompleteRequest - CrossCurrencyOrderOnMarginLendingAccountNotAllowed - DurationNotSupported - ExpirationDateRequired - ForceOpenNotAllowed - ForcedExposureReductionViolation - GtdOrderCannotBeLaterThanExpiry - IllegalAccount - IllegalAmount - IllegalAssetType - IllegalDate - IllegalInstrumentId - IllegalRequest - IllegalStrike - InSufficientOrderLegsSpecified - InstrumentDisabledForTrading - InstrumentForcedExposureReductionViolation - InstrumentHasExpired - InstrumentNotAllowed - InsufficientCash - InvalidAllocationKeyUsed - InvalidModelState - InvalidRequest - InvalidUic - InvalidValueDate - LimitTooFarFromStop - MarketClosed - NotOwned - NotPrimarySession - NotTradableAtPresent - OnWrongSideOfMarket - OnlySidedReductionAllowed - OptionExerciseAfterCutoff - OptionExerciseNotAllowedDueExDateOfUpcomingCorporateActionOnInstrument - OrderNotFound - OrderNotPlaced - OrderNotSupportedForAccountType - OrderPriceOutsideLimit - OrderSizeGreaterThanMaximumAllowed - OrderTypeNotSupported - OrderValueToSmall - OrderValueTooLarge - OtherError - PriceExceedsAggressiveTolerance - PriceHasMoved - PriceNotInTickSizeIncrements - RelatedOrClosingOrderNotAllowedForIntradayNettingClients - SellExceedsSettledExposure - SellOrdersAlreadyExistForOwnedContracts - ShortTradeDisabled - ToOpenNotAllowedOnInstrument - TooCloseToMarket - TooFarFromMarket - TradingDisabled - WouldComeTooCloseToAccountValueProtectionLimit - WouldExceedAccountValueProtectionLimit - WouldExceedMargin - WouldExceedMarginCeiling - WouldExceedMaxCreditLine - WouldExceedMaxCreditLineLimit - WouldExceedTradingLine type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. InvalidModelState: One or more properties of the request are invalid! InvalidUic: UIC is either invalid or not specified at all. IllegalAmount: Illegal amount. OrderNotPlaced: Order not placed as other order in request was rejected. OrderNotFound: Requested order id not found OnWrongSideOfMarket: Order price is on wrong side of market TooFarFromMarket: Limit price is too far from market WouldExceedMargin: Trade would exceed margin limits NotTradableAtPresent: Not tradable at present DurationNotSupported: The supplied duration is not supported for the current order. AmountBelowMinimumLotSize: Order size is below the minimum exchange lot size. AmountNotInLotSize: Order size is not a valid exchange lot order size. PriceExceedsAggressiveTolerance: Price exceeds aggressive tolerance OrderValueToSmall: Order value must be above the minimum order value for this exchange IllegalAccount: Illegal Account CashAmountLessThanMinInitialInvestmentAmount: Cash amount should be more than or equal to minimum investment amount. SellExceedsSettledExposure: Selling on T day is limited to end of day position on T-1 day. TradingDisabled: Trading is disabled for the client. ActiveFollowerCannotDoManualTrade: You are not allowed to open or close a position on an active strategy account ClientExposureLimitation: Trade would exceed client exposure limitation ForcedExposureReductionViolation: Forced exposure reduction violation GtdOrderCannotBeLaterThanExpiry: GTD order cannot be later than expiry InstrumentDisabledForTrading: Trading is disabled for the instrument InstrumentHasExpired: Instrument has expired InstrumentNotAllowed: Not allowed to trade in this instrument MarketClosed: Market is closed IllegalRequest: Request type not supported NotOwned: Selling contracts not owned PriceNotInTickSizeIncrements: Order price is not in tick size increments SellOrdersAlreadyExistForOwnedContracts: 'Contracts owned, but sell orders already exist' OrderPriceOutsideLimit: Price too far from market LimitTooFarFromStop: Limit price is too far away from stop price OrderTypeNotSupported: Order type not supported WouldExceedAccountValueProtectionLimit: Trade would exceed the account value protection limit. WouldExceedTradingLine: Trade would exceed trading line limits OrderSizeGreaterThanMaximumAllowed: Order Size is greater than the maximum allowed order size. RelatedOrClosingOrderNotAllowedForIntradayNettingClients: Position-related orders are not allowed when real-time netting is enabled. ToOpenNotAllowedOnInstrument: 'Adjusted Option Class: Not allowed to increase exposure.' PriceHasMoved: Price has moved. Please review Price Tolerance to increase the chances of a fill InsufficientCash: Insufficient cash for trade BrokerOption: Broker Option IllegalAssetType: Illegal asset type OnlySidedReductionAllowed: Only sided exposure reduction is allowed. OrderValueTooLarge: Order value is too large ShortTradeDisabled: Trading Short for selected instrument disabled WouldExceedMarginCeiling: Would exceed margin ceiling IllegalInstrumentId: Unknown instrument name InvalidAllocationKeyUsed: Order or trade placed with an allocationkey thats marked as inactive or deleted CouldNotCompleteRequest: Could not complete request. OtherError: OtherError. IllegalDate: Illegal Date IllegalStrike: Illegal strike price OptionExerciseAfterCutoff: Exercise not allowed after exercise cut-off time or on last trading day or later TooCloseToMarket: Guaranteed stop is too close to market ExpirationDateRequired: Expiration date is mandatory for this type of order request. InstrumentForcedExposureReductionViolation: Exposure cannot be increased due to instrument configuration. OrderNotSupportedForAccountType: Order is not supported for MarginLending Account CrossCurrencyOrderOnMarginLendingAccountNotAllowed: Cross Currency order not supported for MarginLending Account WouldExceedMaxCreditLine: Trade would exceed available max credit (collateral) line utilization. WouldExceedMaxCreditLineLimit: Trade would exceed available max credit (collateral) line limit. InvalidValueDate: Invalid value date InSufficientOrderLegsSpecified: Insufficient order legs provided for a multi-leg strategy order. ForceOpenNotAllowed: Force Open is not allowed BlocksExistForOwnedContracts: The block exists for the owned contract. BreakoutUpPriceCannotBeLessThanDownPrice: Breakout up price cannot be less than down price. OptionExerciseNotAllowedDueExDateOfUpcomingCorporateActionOnInstrument: Option exercise not allowed day before expiry date of upcoming corporate action on this instrument. ClientOnReduceForcedExposureReductionViolation: Client is on Reduce group type. Exposure cannot be increased. ContactExposureLimitation: Contact level exposure limit exceeded NotPrimarySession: 'Operation not allowed, due to not being in Primary session mode.' WouldComeTooCloseToAccountValueProtectionLimit: 'Precheck problem: Would Come Too Close To AccountValue Protection Limit.' 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 /trade/v2/orders/precheck: post: tags: - Orders summary: Pre-check orders description: 'Performs pre-check of a stand-alone order, a 3-way order or an OcO order pair.' operationId: OrdersV2PreCheckOrder requestBody: content: application/json: schema: $ref: '#/components/schemas/PreCheckOrderRequest' example: AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 10000 AssetType: CfdOnStock BuySell: Buy FieldGroups: - MarginImpactBuySell - Costs OrderDuration: DurationType: GoodTillDate ExpirationDateContainsTime: true ExpirationDateTime: '2022-11-09T14:00:00' OrderType: Market Uic: 15521 responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/PreCheckOrderResponse' example: Cost: Commission: 1000 ExchangeFee: 0 GuaranteedStopFee: 0 StampDuty: 0 EstimatedCashRequired: 1500000 EstimatedCashRequiredCurrency: EUR EstimatedTotalCost: 1500000 EstimatedTotalCostInAccountCurrency: 1500000 InstrumentToAccountConversionRate: 1 MarginImpactBuySell: Currency: USD InitialMarginAvailableBuy: 10447 InitialMarginAvailableCurrent: 10470 InitialMarginBuy: 12 MaintenanceMarginBuy: 11 PreCheckResult: Ok '200': description: Check response for ErrorInfo fields to determine success or failure to pre-check order '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - ActiveFollowerCannotDoManualTrade - AlgoOrderTimeBeforeExchangeOpen - AllocationKeyDoesNotMatchAccount - AmountBelowMinimumLotSize - AmountChangeNotAllowedWhenAmountIsInAllocationUnitKey - AmountNotInLotSize - BlocksExistForOwnedContracts - BreakoutUpPriceCannotBeLessThanDownPrice - BrokerOption - CashAmountLessThanMinInitialInvestmentAmount - ClientExposureLimitation - ClientNotEnabledForExtendedTradingHours - ClientOnReduceForcedExposureReductionViolation - ContactExposureLimitation - CouldNotCompleteRequest - CrossCurrencyOrderOnMarginLendingAccountNotAllowed - DealCaptureAllocationKeyNotCorrect - DealCaptureInformationNotCorrect - DurationNotSupported - ExpirationDateRequired - ExtendedHoursTradingCannotBeChanged - ForceOpenNotAllowed - ForcedExposureReductionViolation - ForwardDateInPast - ForwardDateRequired - GtdOrderCannotBeLaterThanExpiry - IllegalAccount - IllegalAmount - IllegalAssetType - IllegalDate - IllegalInstrumentId - IllegalRequest - IllegalStrike - IncorrectValuationTypeAndNettingMethod - InstrumentDisabledForTrading - InstrumentForcedExposureReductionViolation - InstrumentHasExpired - InstrumentNotAllowed - InstrumentNotSupportedForExtendedHours - InvalidAllocationKeyUsed - InvalidModelState - InvalidRequest - InvalidUic - InvalidValueDate - LimitTooFarFromStop - MarketClosed - NotOwned - NotPrimarySession - NotTradableAtPresent - OnWrongSideOfMarket - OnlyLimitOrderAllowedForExtendedHours - OnlySidedReductionAllowed - OptionExerciseAfterCutoff - OptionExerciseNotAllowedDueExDateOfUpcomingCorporateActionOnInstrument - OrderNotFound - OrderNotPlaced - OrderNotSupportedForAccountType - OrderPriceOutsideLimit - OrderRequestAfterLastTradingDate - OrderSizeGreaterThanMaximumAllowed - OrderTypeNotSupported - OrderValueToSmall - OrderValueTooLarge - OtherError - PriceExceedsAggressiveTolerance - PriceHasMoved - PriceNotInTickSizeIncrements - RelatedOrClosingOrderNotAllowedForIntradayNettingClients - RelatedPositionNotFound - SellExceedsSettledExposure - SellOrdersAlreadyExistForOwnedContracts - ShortTradeDisabled - ToOpenNotAllowedOnInstrument - TooCloseToMarket - TooFarFromMarket - TradingDisabled - WouldComeTooCloseToAccountValueProtectionLimit - WouldExceedAccountValueProtectionLimit - WouldExceedMarginCeiling - WouldExceedMaxCreditLine - WouldExceedMaxCreditLineLimit - WouldExceedTradingLine type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. InvalidModelState: One or more properties of the request are invalid! InvalidUic: UIC is either invalid or not specified at all. IllegalAmount: Illegal amount. ForwardDateRequired: Forward date is mandatory. ForwardDateInPast: Forward date is in the past. OrderNotPlaced: Order not placed as other order in request was rejected. OrderNotFound: Requested order id not found OnWrongSideOfMarket: Order price is on wrong side of market TooFarFromMarket: Limit price is too far from market NotTradableAtPresent: Not tradable at present DurationNotSupported: The supplied duration is not supported for the current order. AmountBelowMinimumLotSize: Order size is below the minimum exchange lot size. AmountNotInLotSize: Order size is not a valid exchange lot order size. PriceExceedsAggressiveTolerance: Price exceeds aggressive tolerance OrderValueToSmall: Order value must be above the minimum order value for this exchange IllegalAccount: Illegal Account AlgoOrderTimeBeforeExchangeOpen: Algo order parameter has time before exchange open. CashAmountLessThanMinInitialInvestmentAmount: Cash amount should be more than or equal to minimum investment amount. SellExceedsSettledExposure: Selling on T day is limited to end of day position on T-1 day. TradingDisabled: Trading is disabled for the client. ActiveFollowerCannotDoManualTrade: You are not allowed to open or close a position on an active strategy account ClientExposureLimitation: Trade would exceed client exposure limitation ForcedExposureReductionViolation: Forced exposure reduction violation GtdOrderCannotBeLaterThanExpiry: GTD order cannot be later than expiry InstrumentDisabledForTrading: Trading is disabled for the instrument InstrumentHasExpired: Instrument has expired InstrumentNotAllowed: Not allowed to trade in this instrument MarketClosed: Market is closed IllegalRequest: Request type not supported NotOwned: Selling contracts not owned PriceNotInTickSizeIncrements: Order price is not in tick size increments RelatedPositionNotFound: Related position not found SellOrdersAlreadyExistForOwnedContracts: 'Contracts owned, but sell orders already exist' OrderPriceOutsideLimit: Price too far from market LimitTooFarFromStop: Limit price is too far away from stop price OrderTypeNotSupported: Order type not supported WouldExceedAccountValueProtectionLimit: Trade would exceed the account value protection limit. WouldExceedTradingLine: Trade would exceed trading line limits OrderSizeGreaterThanMaximumAllowed: Order Size is greater than the maximum allowed order size. RelatedOrClosingOrderNotAllowedForIntradayNettingClients: Position-related orders are not allowed when real-time netting is enabled. ToOpenNotAllowedOnInstrument: 'Adjusted Option Class: Not allowed to increase exposure.' PriceHasMoved: Price has moved. Please review Price Tolerance to increase the chances of a fill BrokerOption: Broker Option IllegalAssetType: Illegal asset type OnlySidedReductionAllowed: Only sided exposure reduction is allowed. OrderValueTooLarge: Order value is too large ShortTradeDisabled: Trading Short for selected instrument disabled WouldExceedMarginCeiling: Would exceed margin ceiling IllegalInstrumentId: Unknown instrument name InvalidAllocationKeyUsed: Order or trade placed with an allocationkey thats marked as inactive or deleted CouldNotCompleteRequest: Could not complete request. OtherError: OtherError. IllegalDate: Illegal Date IllegalStrike: Illegal strike price OptionExerciseAfterCutoff: Exercise not allowed after exercise cut-off time or on last trading day or later TooCloseToMarket: Guaranteed stop is too close to market ExpirationDateRequired: Expiration date is mandatory for this type of order request. InstrumentForcedExposureReductionViolation: Exposure cannot be increased due to instrument configuration. OrderNotSupportedForAccountType: Order is not supported for MarginLending Account CrossCurrencyOrderOnMarginLendingAccountNotAllowed: Cross Currency order not supported for MarginLending Account WouldExceedMaxCreditLine: Trade would exceed available max credit (collateral) line utilization. WouldExceedMaxCreditLineLimit: Trade would exceed available max credit (collateral) line limit. InvalidValueDate: Invalid value date ForceOpenNotAllowed: Force Open is not allowed AllocationKeyDoesNotMatchAccount: Account used for trade registration does not match account owner of trade allocation key used OrderRequestAfterLastTradingDate: The instruments's last trading date has passed. BlocksExistForOwnedContracts: The block exists for the owned contract. BreakoutUpPriceCannotBeLessThanDownPrice: Breakout up price cannot be less than down price. DealCaptureInformationNotCorrect: Deal capture information is not correct. DealCaptureAllocationKeyNotCorrect: Deal capture allocation key not correct. OptionExerciseNotAllowedDueExDateOfUpcomingCorporateActionOnInstrument: Option exercise not allowed day before expiry date of upcoming corporate action on this instrument. ClientOnReduceForcedExposureReductionViolation: Client is on Reduce group type. Exposure cannot be increased. ContactExposureLimitation: Contact level exposure limit exceeded AmountChangeNotAllowedWhenAmountIsInAllocationUnitKey: Changing amount not allowed when amount is in allocation unit key. NotPrimarySession: 'Operation not allowed, due to not being in Primary session mode.' OnlyLimitOrderAllowedForExtendedHours: 'In case of extended hours order, the OrderType must be limit.' InstrumentNotSupportedForExtendedHours: If Extended trading hours is not configured for given instrument. ExtendedHoursTradingCannotBeChanged: Value of Extended trading hours cannot be changed. ClientNotEnabledForExtendedTradingHours: Client is not enabled for trading in extended trading hours. WouldComeTooCloseToAccountValueProtectionLimit: 'Precheck problem: Would Come Too Close To AccountValue Protection Limit.' IncorrectValuationTypeAndNettingMethod: ValuationType(yield based/yield based with coupon) and 'average netting method' order cannot placed. 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 '/trade/v2/orders/{OrderIds}': delete: tags: - Orders summary: Cancel one or more orders description: Cancels one or more orders. operationId: OrdersV2CancelOrder parameters: - name: AccountKey in: query description: Unique key identifying the account. required: true style: form explode: false schema: minLength: 1 type: string x-type-name: AccountKey example: LZTc7DdejXODf-WSl2aCyQ== - name: OrderIds in: path description: Comma-delimited string of order ids to cancel. required: true style: simple schema: type: string example: '67762872' responses: '204': description: Not used. content: application/json: schema: $ref: '#/components/schemas/CancelOrderResponse' example: Orders: - ErrorInfo: ErrorCode: Unknown Message: Order request rejected '200': description: Check response for OrderId and ErrorInfo fields to determine success or failure to cancel order '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - ActiveFollowerCannotCancelOrderManually - AlreadyPendingCancelReplace - BrokerOption - ClientCannotCancelStopOutOrder - ClientCannotChangeAllocatedOrder - ClientNotEnabledForExtendedTradingHours - CouldNotCompleteRequest - ExtendedHoursTradingCannotBeChanged - ForceOpenNotAllowed - IllegalAccount - InstrumentNotSupportedForExtendedHours - InvalidModelState - InvalidRequest - OnlyLimitOrderAllowedForExtendedHours - OrderCannotBeCancelledAtThisTime - OrderCommandPending - OrderCommandTimeout - OrderNotFound - OtherError - TooLateToCancelOrder type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. InvalidModelState: One or more properties of the request are invalid! IllegalAccount: Illegal Account ClientCannotCancelStopOutOrder: Client can not cancel a market stop-out order. ActiveFollowerCannotCancelOrderManually: An active trade follower is not allowed to cancel order manually. AlreadyPendingCancelReplace: Request to Cancel or Replace order already send ClientCannotChangeAllocatedOrder: Cannot change order – part of an allocation. OrderCannotBeCancelledAtThisTime: Order cannot be canceled at this time BrokerOption: Broker Option OrderNotFound: Requested order id not found TooLateToCancelOrder: Too late to cancel order CouldNotCompleteRequest: Could not complete request. OtherError: OtherError. ForceOpenNotAllowed: Force Open is not allowed OrderCommandTimeout: Your order request timed out. Please try again. OrderCommandPending: Your order request is pending broker confirmation. Confirmation is still possible. OnlyLimitOrderAllowedForExtendedHours: 'In case of extended hours order, the OrderType must be limit.' InstrumentNotSupportedForExtendedHours: If Extended trading hours is not configured for given instrument. ExtendedHoursTradingCannotBeChanged: Value of Extended trading hours cannot be changed. ClientNotEnabledForExtendedTradingHours: Client is not enabled for trading in extended trading hours. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '201': description: Created '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [ ] - OpenApiJWTSecurityScheme: [ ] x-required-permissions: personal: Write /trade/v2/orders: post: tags: - Orders summary: Place a new order description: "The order can contain optional limit and stop orders, by adding them as child orders.\n\n\nIt is also possible to place an order on behalf of another client (for IBs).\n\n\nThe account key property of the order determines the client account on which the order is placed." operationId: OrdersV2PlaceOrder requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOrderRequest' example: AlgoOrderData: Arguments: DisplayQuantity: '100' StrategyName: Iceberg Orders: - AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 100000 AssetType: FxSpot BuySell: Sell OrderDuration: DurationType: GoodTillCancel OrderPrice: 1.13 OrderType: Limit Uic: 21 - AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 100000 AssetType: FxSpot BuySell: Sell OrderDuration: DurationType: GoodTillCancel OrderPrice: 1.03 OrderType: Stop Uic: 21 responses: '201': description: Not used. content: application/json: schema: $ref: '#/components/schemas/GenericOrderResponse' example: OrderId: '67762872' Orders: - OrderId: '67762872' '200': description: Check response for OrderId and ErrorInfo fields to determine success or failure to place order '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - ActiveFollowerCannotDoManualTrade - AlgoOrderTimeBeforeExchangeOpen - AmountBelowMinimumLotSize - AmountCannotBeLessThanFilledAmount - AmountNotInLotSize - BlocksExistForOwnedContracts - BreakoutUpPriceCannotBeLessThanDownPrice - BrokerOption - CashAmountLessThanMinInitialInvestmentAmount - ClientExposureLimitation - ClientNotEnabledForExtendedTradingHours - ClientOnReduceForcedExposureReductionViolation - ConditionDurationNotSupported - ConditionOnWrongSideOfMarket - ConditionPriceExceedsAggressiveTolerance - ConditionTooFarFromMarket - ContactExposureLimitation - CouldNotCompleteRequest - CrossCurrencyOrderOnMarginLendingAccountNotAllowed - DealCaptureAllocationKeyNotCorrect - DealCaptureInformationNotCorrect - DurationNotSupported - ExpirationDateInPast - ExpirationDateRequired - ExtendedHoursTradingCannotBeChanged - ForceOpenNotAllowed - ForcedExposureReductionViolation - ForwardDateInPast - ForwardDateRequired - GtdOrderCannotBeLaterThanExpiry - IllegalAccount - IllegalAmount - IllegalAssetType - IllegalDate - IllegalInstrumentId - IllegalRequest - IllegalStrike - IncorrectValuationTypeAndNettingMethod - InstrumentDisabledForTrading - InstrumentForcedExposureReductionViolation - InstrumentHasExpired - InstrumentNotAllowed - InstrumentNotSupportedForExtendedHours - InsufficientCash - InvalidAllocationKeyUsed - InvalidModelState - InvalidRequest - InvalidUic - InvalidValueDate - LimitTooFarFromStop - MarketClosed - NotOwned - NotPrimarySession - NotTradableAtPresent - OnWrongSideOfMarket - OnlyLimitOrderAllowedForExtendedHours - OnlySidedReductionAllowed - OptionExerciseAfterCutoff - OptionExerciseNotAllowedDueExDateOfUpcomingCorporateActionOnInstrument - OrderCommandPending - OrderCommandTimeout - OrderIsRestrictedForAccountManagementType - OrderNotFound - OrderNotPlaced - OrderNotSupportedForAccountType - OrderPriceOutsideLimit - OrderRejectedByBroker - OrderRelatedPositionIsClosed - OrderRelatedPositionMissMatch - OrderRequestAfterLastTradingDate - OrderSizeGreaterThanMaximumAllowed - OrderTypeNotSupported - OrderValueToSmall - OrderValueTooLarge - OtherError - PriceExceedsAggressiveTolerance - PriceHasMoved - PriceNotInTickSizeIncrements - RelatedOrClosingOrderNotAllowedForIntradayNettingClients - RelatedPositionNotFound - RepeatTradeOnAutoQuote - SellExceedsSettledExposure - SellOrdersAlreadyExistForOwnedContracts - ShortTradeDisabled - ToOpenNotAllowedOnInstrument - TooCloseToMarket - TooCloseToOcoRelatedOrderPrice - TooFarFromEntryOrder - TooFarFromMarket - TradingDisabled - WouldComeTooCloseToAccountValueProtectionLimit - WouldExceedAccountValueProtectionLimit - WouldExceedMargin - WouldExceedMarginCeiling - WouldExceedMaxCreditLine - WouldExceedMaxCreditLineLimit - WouldExceedTradingLine - WrongSideOfRelatedOrder type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. InvalidModelState: One or more properties of the request are invalid! ForwardDateRequired: Forward date is mandatory. ForwardDateInPast: Forward date is in the past. ExpirationDateInPast: Expiration date is in the past. InvalidUic: UIC is either invalid or not specified at all. OrderNotPlaced: Order not placed as other order in request was rejected. OrderNotFound: Requested order id not found OnWrongSideOfMarket: Order price is on wrong side of market TooFarFromMarket: Limit price is too far from market WouldExceedMargin: Trade would exceed margin limits NotTradableAtPresent: Not tradable at present DurationNotSupported: The supplied duration is not supported for the current order. AmountBelowMinimumLotSize: Order size is below the minimum exchange lot size. AmountNotInLotSize: Order size is not a valid exchange lot order size. OrderRelatedPositionMissMatch: Order does not match related position PriceExceedsAggressiveTolerance: Price exceeds aggressive tolerance OrderValueToSmall: Order value must be above the minimum order value for this exchange IllegalAccount: Illegal Account AlgoOrderTimeBeforeExchangeOpen: Algo order parameter has time before exchange open. CashAmountLessThanMinInitialInvestmentAmount: Cash amount should be more than or equal to minimum investment amount. SellExceedsSettledExposure: Selling on T day is limited to end of day position on T-1 day. TradingDisabled: Trading is disabled for the client. ActiveFollowerCannotDoManualTrade: You are not allowed to open or close a position on an active strategy account ClientExposureLimitation: Trade would exceed client exposure limitation ForcedExposureReductionViolation: Forced exposure reduction violation GtdOrderCannotBeLaterThanExpiry: GTD order cannot be later than expiry InstrumentDisabledForTrading: Trading is disabled for the instrument InstrumentHasExpired: Instrument has expired InstrumentNotAllowed: Not allowed to trade in this instrument MarketClosed: Market is closed IllegalRequest: Request type not supported NotOwned: Selling contracts not owned PriceNotInTickSizeIncrements: Order price is not in tick size increments RelatedPositionNotFound: Related position not found OrderRelatedPositionIsClosed: Related position already closed SellOrdersAlreadyExistForOwnedContracts: 'Contracts owned, but sell orders already exist' OrderPriceOutsideLimit: Price too far from market TooFarFromEntryOrder: Order price is too far from the entry order LimitTooFarFromStop: Limit price is too far away from stop price OrderTypeNotSupported: Order type not supported WouldExceedAccountValueProtectionLimit: Trade would exceed the account value protection limit. WouldExceedTradingLine: Trade would exceed trading line limits OrderRejectedByBroker: Order Rejected by Broker. OrderSizeGreaterThanMaximumAllowed: Order Size is greater than the maximum allowed order size. RelatedOrClosingOrderNotAllowedForIntradayNettingClients: Position-related orders are not allowed when real-time netting is enabled. ToOpenNotAllowedOnInstrument: 'Adjusted Option Class: Not allowed to increase exposure.' PriceHasMoved: Price has moved. Please review Price Tolerance to increase the chances of a fill InsufficientCash: Insufficient cash for trade BrokerOption: Broker Option IllegalAssetType: Illegal asset type OnlySidedReductionAllowed: Only sided exposure reduction is allowed. OrderValueTooLarge: Order value is too large ShortTradeDisabled: Trading Short for selected instrument disabled TooCloseToOcoRelatedOrderPrice: Order price is too close to OCO related order price WouldExceedMarginCeiling: Would exceed margin ceiling IllegalAmount: Illegal amount IllegalInstrumentId: Unknown instrument name InvalidAllocationKeyUsed: Order or trade placed with an allocationkey thats marked as inactive or deleted CouldNotCompleteRequest: Could not complete request. OtherError: OtherError. RepeatTradeOnAutoQuote: Repeated trade on auto quote WrongSideOfRelatedOrder: Order price is on wrong side of related order. AmountCannotBeLessThanFilledAmount: Amount cannot be less than filled amount. IllegalDate: Illegal Date IllegalStrike: Illegal strike price OptionExerciseAfterCutoff: Exercise not allowed after exercise cut-off time or on last trading day or later TooCloseToMarket: Guaranteed stop is too close to market ExpirationDateRequired: Expiration date is mandatory for this type of order request. InstrumentForcedExposureReductionViolation: Exposure cannot be increased due to instrument configuration. OrderNotSupportedForAccountType: Order is not supported for MarginLending Account CrossCurrencyOrderOnMarginLendingAccountNotAllowed: Cross Currency order not supported for MarginLending Account WouldExceedMaxCreditLine: Trade would exceed available max credit (collateral) line utilization. WouldExceedMaxCreditLineLimit: Trade would exceed available max credit (collateral) line limit. InvalidValueDate: Invalid value date ForceOpenNotAllowed: Force Open is not allowed OrderRequestAfterLastTradingDate: The instruments's last trading date has passed. BlocksExistForOwnedContracts: The block exists for the owned contract. BreakoutUpPriceCannotBeLessThanDownPrice: Breakout up price cannot be less than down price. DealCaptureInformationNotCorrect: Deal capture information is not correct. DealCaptureAllocationKeyNotCorrect: Deal capture allocation key not correct. OrderCommandTimeout: Your order request timed out. Please try again. OrderCommandPending: Your order request is pending broker confirmation. Confirmation is still possible. ConditionDurationNotSupported: Condition duration not supported for this asset type ConditionOnWrongSideOfMarket: Condition price is on wrong side of market ConditionPriceExceedsAggressiveTolerance: Condition price exceeds aggressive tolerance ConditionTooFarFromMarket: Condition limit price is too far from market OptionExerciseNotAllowedDueExDateOfUpcomingCorporateActionOnInstrument: Option exercise not allowed day before expiry date of upcoming corporate action on this instrument. OrderIsRestrictedForAccountManagementType: Order is restricted for this account management type ContactExposureLimitation: Contact level exposure limit exceeded ClientOnReduceForcedExposureReductionViolation: Client is on Reduce group type. Exposure cannot be increased. NotPrimarySession: 'Operation not allowed, due to not being in Primary session mode.' OnlyLimitOrderAllowedForExtendedHours: 'In case of extended hours order, the OrderType must be limit.' InstrumentNotSupportedForExtendedHours: If Extended trading hours is not configured for given instrument. ExtendedHoursTradingCannotBeChanged: Value of Extended trading hours cannot be changed. ClientNotEnabledForExtendedTradingHours: Client is not enabled for trading in extended trading hours. WouldComeTooCloseToAccountValueProtectionLimit: 'Precheck problem: Would Come Too Close To AccountValue Protection Limit.' IncorrectValuationTypeAndNettingMethod: ValuationType(yield based/yield based with coupon) and 'average netting method' order cannot placed. 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 delete: tags: - Orders summary: Cancels all orders for requested instrument and account description: Cancels all orders for requested instrument and account. operationId: OrdersV2CancelAllOrder parameters: - name: AccountKey in: query required: true style: form explode: false schema: minLength: 1 type: string x-type-name: AccountKey - name: AssetType in: query required: true style: form explode: false schema: $ref: '#/components/schemas/AssetType' - name: Uic in: query required: true style: form explode: false schema: type: integer format: int32 responses: '204': description: Not used. content: application/json: schema: $ref: '#/components/schemas/CancelAllOrderResponse' example: ErrorInfo: ErrorCode: stringValue Message: stringValue '200': description: Check response for errorInfo fields to determine success or failure to cancel all order '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - ActiveFollowerCannotCancelOrderManually - AlreadyPendingCancelReplace - BrokerOption - ClientCannotChangeAllocatedOrder - CouldNotCompleteRequest - ForceOpenNotAllowed - IllegalAccount - InvalidRequest - OrderCannotBeCancelledAtThisTime - OrderNotFound - OtherError - TooLateToCancelOrder type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. IllegalAccount: Illegal Account ActiveFollowerCannotCancelOrderManually: An active trade follower is not allowed to cancel order manually. AlreadyPendingCancelReplace: Request to Cancel or Replace order already send ClientCannotChangeAllocatedOrder: Cannot change order – part of an allocation. OrderCannotBeCancelledAtThisTime: Order cannot be canceled at this time BrokerOption: Broker Option OrderNotFound: Requested order id not found TooLateToCancelOrder: Too late to cancel order CouldNotCompleteRequest: Could not complete request. OtherError: OtherError. ForceOpenNotAllowed: Force Open is 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 patch: tags: - Orders summary: Change one or more existing orders description: Changes one or more existing orders.> operationId: OrdersV2ChangeOrder requestBody: content: application/json: schema: $ref: '#/components/schemas/ChangeOrderRequest' example: AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 100000 AssetType: FxSpot OrderType: Limit responses: '204': description: Not used. content: application/json: schema: $ref: '#/components/schemas/GenericOrderResponse' example: OrderId: '67762872' Orders: - OrderId: '67762872' '200': description: Check response for OrderId and ErrorInfo fields to determine success or failure to change order '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - ActiveFollowerCannotChangeOrderManually - AlreadyPendingCancelReplace - AmendmentsNotSupportedInBreakSession - AmountBelowMinimumLotSize - AmountCannotBeLessThanFilledAmount - AmountChangeNotAllowedWhenAmountIsInAllocationUnitKey - AmountNotInLotSize - BlocksExistForOwnedContracts - BreakoutUpPriceCannotBeLessThanDownPrice - BrokerOption - ClientExposureLimitation - ClientNotEnabledForExtendedTradingHours - ClientOnReduceForcedExposureReductionViolation - ConditionDurationNotSupported - ConditionOnWrongSideOfMarket - ConditionPriceExceedsAggressiveTolerance - ConditionTooFarFromMarket - ContactExposureLimitation - CouldNotCompleteRequest - CrossCurrencyOrderOnMarginLendingAccountNotAllowed - ExtendedHoursTradingCannotBeChanged - ForceOpenNotAllowed - IllegalAccount - IllegalAmount - IllegalDate - IllegalOrderTypeChange - IllegalStrike - IncorrectValuationTypeAndNettingMethod - InstrumentDisabledForTrading - InstrumentForcedExposureReductionViolation - InstrumentNotSupportedForExtendedHours - InsufficientCash - InvalidAllocationKeyUsed - InvalidModelState - InvalidRequest - InvalidValueDate - LimitOrderHigherStopOnSell - LimitOrderLowerThenStopOnBuy - LimitTooFarFromStop - MarketClosed - NotPrimarySession - NotTradableAtPresent - OnWrongSideOfMarket - OnlyLimitOrderAllowedForExtendedHours - OptionExerciseAfterCutoff - OptionExerciseNotAllowedDueExDateOfUpcomingCorporateActionOnInstrument - OrderCannotBeChangedAtThisTime - OrderCommandPending - OrderCommandTimeout - OrderNotFound - OrderNotSupportedForAccountType - OrderRelatedPositionMissMatch - OrderSizeGreaterThanMaximumAllowed - OrderValueToSmall - OrderValueTooLarge - OtherError - PriceExceedsAggressiveTolerance - PriceNotInTickSizeIncrements - ShortTradeDisabled - StopOrderLowerLimitOnSell - TooCloseToMarket - TooCloseToOcoRelatedOrderPrice - TooFarFromMarket - TooLateToChangeOrder - WouldExceedMargin - WouldExceedMarginCeiling - WouldExceedMaxCreditLine - WouldExceedMaxCreditLineLimit - WrongSideOfRelatedOrder type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. InvalidModelState: One or more properties of the request are invalid! IllegalAccount: Illegal Account ActiveFollowerCannotChangeOrderManually: An active trade follower is not allowed to change order manually. AmendmentsNotSupportedInBreakSession: Amendments not supported in break session ClientExposureLimitation: Trade would exceed client exposure limitation IllegalAmount: Illegal amount IllegalOrderTypeChange: Illegal order type change BreakoutUpPriceCannotBeLessThanDownPrice: Breakout up price cannot be less than down price. OrderCommandTimeout: Your order request timed out. Please try again. OrderCommandPending: Your order request is pending broker confirmation. Confirmation is still possible. InstrumentForcedExposureReductionViolation: Exposure cannot be increased due to instrument configuration. MarketClosed: Market is closed TooLateToChangeOrder: Too late to change order PriceNotInTickSizeIncrements: Order price is not in tick size increments LimitTooFarFromStop: Limit price is too far away from stop price LimitOrderLowerThenStopOnBuy: Not allowed to change price of limit order lower than price of related stop order StopOrderLowerLimitOnSell: Not allowed to change price of stop order lower than price of related limit order OrderCannotBeChangedAtThisTime: Order cannot be changed at this time OrderSizeGreaterThanMaximumAllowed: Order Size is greater than the maximum allowed order size. InsufficientCash: Insufficient cash for trade AlreadyPendingCancelReplace: Request to Cancel or Replace order already send AmountBelowMinimumLotSize: Order size is below the minimum exchange lot size. AmountNotInLotSize: Order size is not a valid exchange lot order size. BrokerOption: Broker Option OnWrongSideOfMarket: Order price is on wrong side of market OrderNotFound: Requested order id not found OrderValueTooLarge: Order value is too large OrderValueToSmall: Order value must be above the minimum order value for this exchange WouldExceedMarginCeiling: Would exceed margin ceiling CouldNotCompleteRequest: Could not complete request. WrongSideOfRelatedOrder: Order price is on wrong side of related order. AmountCannotBeLessThanFilledAmount: Amount cannot be less than filled amount. OtherError: OtherError. IllegalDate: Illegal Date IllegalStrike: Illegal strike price InstrumentDisabledForTrading: Trading is disabled for the instrument LimitOrderHigherStopOnSell: Not allowed to change price of limit order higher than price of related stop order NotTradableAtPresent: Not tradable at present OptionExerciseAfterCutoff: Exercise not allowed after exercise cut-off time or on last trading day or later PriceExceedsAggressiveTolerance: Price exceeds aggressive tolerance ShortTradeDisabled: Trading Short for selected instrument disabled TooCloseToOcoRelatedOrderPrice: Order price is too close to OCO related order price TooFarFromMarket: Limit price is too far from market WouldExceedMargin: Trade would exceed margin limits OrderRelatedPositionMissMatch: Order does not match related position TooCloseToMarket: Guaranteed stop is too close to market InvalidAllocationKeyUsed: Order or trade placed with an allocationkey thats marked as inactive or deleted OrderNotSupportedForAccountType: Order is not supported for MarginLending Account CrossCurrencyOrderOnMarginLendingAccountNotAllowed: Cross Currency order not supported for MarginLending Account WouldExceedMaxCreditLine: Trade would exceed available max credit (collateral) line utilization. WouldExceedMaxCreditLineLimit: Trade would exceed available max credit (collateral) line limit. InvalidValueDate: Invalid value date ForceOpenNotAllowed: Force Open is not allowed BlocksExistForOwnedContracts: The block exists for the owned contract. ConditionDurationNotSupported: Condition duration not supported for this asset type ConditionOnWrongSideOfMarket: Condition price is on wrong side of market ConditionPriceExceedsAggressiveTolerance: Condition price exceeds aggressive tolerance ConditionTooFarFromMarket: Condition limit price is too far from market OptionExerciseNotAllowedDueExDateOfUpcomingCorporateActionOnInstrument: Option exercise not allowed day before expiry date of upcoming corporate action on this instrument. ClientOnReduceForcedExposureReductionViolation: Client is on Reduce group type. Exposure cannot be increased. ContactExposureLimitation: Contact level exposure limit exceeded AmountChangeNotAllowedWhenAmountIsInAllocationUnitKey: Changing amount not allowed when amount is in allocation unit key. NotPrimarySession: 'Operation not allowed, due to not being in Primary session mode.' OnlyLimitOrderAllowedForExtendedHours: 'In case of extended hours order, the OrderType must be limit.' InstrumentNotSupportedForExtendedHours: If Extended trading hours is not configured for given instrument. ExtendedHoursTradingCannotBeChanged: Value of Extended trading hours cannot be changed. ClientNotEnabledForExtendedTradingHours: Client is not enabled for trading in extended trading hours. IncorrectValuationTypeAndNettingMethod: ValuationType(yield based/yield based with coupon) and 'average netting method' order cannot placed. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '201': description: Created '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [ ] - OpenApiJWTSecurityScheme: [ ] x-required-permissions: personal: Write '/trade/v1/messages/subscriptions/{ContextId}': delete: tags: - Messages summary: Remove multiple trade message subscriptions description: Removes multiple trade message subscriptions for the current session. operationId: TradeMessagesV1DeleteSubscriptions parameters: - name: ContextId in: path description: Unique streaming context ID part of the streaming session. required: true style: simple schema: type: string example: '20160204125301453' - name: Tag in: query description: The tag which the subscriptions are grouped under. style: form explode: false 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 '/trade/v1/messages/subscriptions/{ContextId}/{ReferenceId}': delete: tags: - Messages summary: Remove a trade message subscription description: Removes a trade message subscription for the current session. operationId: TradeMessagesV1DeleteSubscription parameters: - name: ContextId in: path description: Unique streaming context ID part of the streaming session. required: true style: simple schema: type: string example: '20160204125301453' - name: ReferenceId in: path description: Unique reference ID of the subscription to remove. required: true style: simple schema: type: string example: M452 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 /trade/v1/messages/subscriptions/active: post: tags: - Messages summary: OBSOLETE Create an active subscription on trade messages description: 'Sets up a subscription, and returns an initial snapshot containing a list of trade messages.' operationId: TradeMessagesV1AddActiveSubscriptionAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/TradeMessageSubscriptionRequest' example: ContextId: '20221030063404760' Format: application/json ReferenceId: TM42897 RefreshRate: 5 Tag: PAGE1 responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/TradeMessageSubscriptionResponse' example: ContextId: '20221030063404760' Format: application/json InactivityTimeout: 120 ReferenceId: TM42897 RefreshRate: 800 Snapshot: Data: - DateTime: '2014-12-12T09:17:12Z' DisplayType: Default IsDiscardable: false MessageBody: Price alert was triggered on EURUSD MessageHeader: Price Alert MessageId: '345322' MessageType: PriceAlert State: Active Tag: PAGE1 '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InvalidModelState - InvalidRequest - UnsupportedSubscriptionFormat type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. 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. 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' deprecated: true security: - OpenApiOAuthSecurityScheme: [ ] - OpenApiJWTSecurityScheme: [ ] x-required-permissions: personal: Subscribe x-streaming-type: $ref: '#/components/schemas/TradeMessageResponseDomainEvent' /trade/v1/messages/subscriptions: post: tags: - Messages summary: Create a subscription on trade messages description: 'Sets up a subscription, and returns an initial snapshot containing a list of trade messages.' operationId: TradeMessagesV1AddSubscriptionAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/TradeMessageSubscriptionRequest' example: ContextId: '20221030063404760' Format: application/json ReferenceId: TM42897 RefreshRate: 5 Tag: PAGE1 responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/TradeMessageSubscriptionResponse' example: ContextId: '20221030063404760' Format: application/json InactivityTimeout: 120 ReferenceId: TM42897 RefreshRate: 800 Snapshot: Data: - DateTime: '2014-12-12T09:17:12Z' DisplayType: Default IsDiscardable: false MessageBody: Price alert was triggered on EURUSD MessageHeader: Price Alert MessageId: '345322' MessageType: PriceAlert State: Active Tag: PAGE1 '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InvalidModelState - InvalidRequest - UnsupportedSubscriptionFormat type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. 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. 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 x-streaming-type: $ref: '#/components/schemas/TradeMessageResponseDomainEvent' /trade/v1/messages/seen: put: tags: - Messages summary: Mark trade message as 'seen' description: Logically this is done by moving the message to the 'seen' collection. operationId: TradeMessagesV1MarkMessagesAsSeen parameters: - name: MessageIds in: query description: Unique ids of the message. required: true style: form explode: false schema: type: array items: type: string example: stringValue example: '345322' responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InvalidMessageId type: string example: None x-enum-descriptions: InvalidMessageId: The provided message id is either invalid or 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: personal: Write '/trade/v1/messages/seen/{MessageId}': put: tags: - Messages summary: Mark trade message as 'seen' description: Logically this is done by moving the message to the 'seen' collection. operationId: TradeMessagesV1MarkMessageAsSeen parameters: - name: MessageId in: path description: Unique id of the message. required: true style: simple schema: type: string example: '345322' responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InvalidMessageId type: string example: None x-enum-descriptions: InvalidMessageId: The provided message id is either invalid or 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: personal: Write /trade/v1/messages: get: tags: - Messages summary: Get trade messages for the current user description: Only messages that haven't been marked as 'seen' are returned. operationId: TradeMessagesV1GetMessagesAsync responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TradeMessageResponseListResult' example: Data: - DateTime: '2014-12-12T09:17:12Z' DisplayType: Default MessageBody: Price alert was triggered on EURUSD MessageHeader: Price Alert MessageId: '345322' MessageType: PriceAlert '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 '/trade/v1/infoprices/subscriptions/{ContextId}/{ReferenceId}': delete: tags: - Info Prices summary: Remove info price subscription on an instrument description: Removes an info price subscription on a single instrument. operationId: InfoPricesV1DeleteSubscription parameters: - name: ContextId in: path description: The context id part of the streaming session (used to identify the subscription within a streaming session). required: true style: simple schema: type: string example: '20160204125301453' - name: ReferenceId in: path description: Unique reference ID of the subscription to remove. required: true style: simple schema: type: string example: IP24 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 '/trade/v1/infoprices/subscriptions/{ContextId}': delete: tags: - Info Prices summary: Remove info price subscriptions on instruments description: Removes info price subscriptions on one or more instruments for the current session. operationId: InfoPricesV1DeleteSubscriptions parameters: - name: ContextId in: path description: Unique streaming context ID part of the streaming session. required: true style: simple schema: type: string example: '20160204125301453' - name: Tag in: query description: Tag that subscriptions are marked with style: form explode: false schema: type: string example: IP 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 /trade/v1/infoprices/subscriptions: post: tags: - Info Prices summary: Create an active info price subscription on an list of instruments description: Sets up a subscription and returns an initial snapshot of an info price list specified by the parameters in the request. operationId: InfoPricesV1AddSubscriptionAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/InfoPriceListSubscriptionRequest' example: Arguments: AccountKey: LZTc7DdejXODf-WSl2aCyQ== AssetType: FxSpot FieldGroups: - DisplayAndFormat - HistoricalChanges - InstrumentPriceDetails - PriceInfo - PriceInfoDetails - Quote Uics: '22,23' ContextId: '20221030063404713' ReferenceId: IP89383 RefreshRate: 1000 responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/InfoPriceListSubscriptionResponse' example: ContextId: '20221030063404713' Format: application/json InactivityTimeout: 60 ReferenceId: IP89383 RefreshRate: 1000 Snapshot: Data: - AssetType: FxSpot DisplayAndFormat: Currency: AUD Decimals: 4 Description: British Pound/Australian Dollar Format: AllowDecimalPips OrderDecimals: 4 Symbol: GBPAUD HistoricalChanges: PercentChange1Month: 1.21 PercentChange2Months: 2.95 PercentChange3Months: 1.85 PercentChange6Months: -1.83 PercentChangeDaily: 0.22 PercentChangeWeekly: 1.67 InstrumentPriceDetails: IsMarketOpen: true ShortTradeDisabled: false ValueDate: '2017-05-19' LastUpdated: '0001-01-01T00:00:00Z' PriceInfo: High: 1.09117 Low: 1.08853 NetChange: 0.00048 PercentChange: 0.04 PriceInfoDetails: AskSize: 1000000 BidSize: 1000000 LastClose: 1.08932 LastTraded: 0 LastTradedSize: 0 Open: 0 Volume: 0 Quote: Amount: 100000 Ask: 1.74948 Bid: 1.74858 DelayedByMinutes: 15 ErrorCode: None Mid: 1.74903 PriceTypeAsk: Indicative PriceTypeBid: Indicative Uic: 22 - AssetType: FxSpot DisplayAndFormat: Currency: CAD Decimals: 4 Description: British Pound/Canadian Dollar Format: AllowDecimalPips OrderDecimals: 4 Symbol: GBPCAD InstrumentPriceDetails: IsMarketOpen: true ShortTradeDisabled: false ValueDate: '2017-05-19' LastUpdated: '0001-01-01T00:00:00Z' Quote: Amount: 100000 Ask: 1.76278 Bid: 1.76198 DelayedByMinutes: 15 ErrorCode: None Mid: 1.76238 PriceTypeAsk: Indicative PriceTypeBid: Indicative Uic: 23 State: Active '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InstrumentNotAllowed - InstrumentTypeNotSupportedException - InvalidModelState - InvalidRequest - InvalidUic - UicsInListNotUnique - Unknown - UnsupportedSubscriptionFormat type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. 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. Unknown: One or more of the provided parameters are invalid. InstrumentNotAllowed: 'The account is not allowed to trade in or receive prices for the specified [AssetType]' InstrumentTypeNotSupportedException: Unsupported instrument type. InvalidUic: UIC is either invalid or not specified at all. UicsInListNotUnique: The UICs in the list must be unique. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '404': description: Not Found content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - IllegalInstrumentId type: string example: None x-enum-descriptions: IllegalInstrumentId: Unknown instrument name 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: restricted: Subscribe x-streaming-type: $ref: '#/components/schemas/InfoPriceResponseArrayDomainEvent' /trade/v1/infoprices/subscriptions/active: post: tags: - Info Prices summary: OBSOLETE Create an active info price subscription on an list of instruments description: 'Sets up a subscription and returns an initial info price snapshot for a list of instruments, specified by the parameters in the request.' operationId: InfoPricesV1AddActiveSubscriptionAsync requestBody: content: application/json: schema: $ref: '#/components/schemas/InfoPriceListSubscriptionRequest' example: Arguments: AccountKey: LZTc7DdejXODf-WSl2aCyQ== AssetType: FxSpot FieldGroups: - DisplayAndFormat - HistoricalChanges - InstrumentPriceDetails - PriceInfo - PriceInfoDetails - Quote Uics: '22,23' ContextId: '20221030063404713' ReferenceId: IP89383 RefreshRate: 1000 responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/InfoPriceListSubscriptionResponse' example: ContextId: '20221030063404713' Format: application/json InactivityTimeout: 60 ReferenceId: IP89383 RefreshRate: 1000 Snapshot: Data: - AssetType: FxSpot DisplayAndFormat: Currency: AUD Decimals: 4 Description: British Pound/Australian Dollar Format: AllowDecimalPips OrderDecimals: 4 Symbol: GBPAUD HistoricalChanges: PercentChange1Month: 1.21 PercentChange2Months: 2.95 PercentChange3Months: 1.85 PercentChange6Months: -1.83 PercentChangeDaily: 0.22 PercentChangeWeekly: 1.67 InstrumentPriceDetails: IsMarketOpen: true ShortTradeDisabled: false ValueDate: '2017-05-19' LastUpdated: '0001-01-01T00:00:00Z' PriceInfo: High: 1.09117 Low: 1.08853 NetChange: 0.00048 PercentChange: 0.04 PriceInfoDetails: AskSize: 1000000 BidSize: 1000000 LastClose: 1.08932 LastTraded: 0 LastTradedSize: 0 Open: 0 Volume: 0 Quote: Amount: 100000 Ask: 1.74948 Bid: 1.74858 DelayedByMinutes: 15 ErrorCode: None Mid: 1.74903 PriceTypeAsk: Indicative PriceTypeBid: Indicative Uic: 22 - AssetType: FxSpot DisplayAndFormat: Currency: CAD Decimals: 4 Description: British Pound/Canadian Dollar Format: AllowDecimalPips OrderDecimals: 4 Symbol: GBPCAD InstrumentPriceDetails: IsMarketOpen: true ShortTradeDisabled: false ValueDate: '2017-05-19' LastUpdated: '0001-01-01T00:00:00Z' Quote: Amount: 100000 Ask: 1.76278 Bid: 1.76198 DelayedByMinutes: 15 ErrorCode: None Mid: 1.76238 PriceTypeAsk: Indicative PriceTypeBid: Indicative Uic: 23 State: Active '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InstrumentNotAllowed - InstrumentTypeNotSupportedException - InvalidModelState - InvalidRequest - InvalidUic - UicsInListNotUnique - Unknown - UnsupportedSubscriptionFormat type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. 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. Unknown: One or more of the provided parameters are invalid. InstrumentNotAllowed: 'The account is not allowed to trade in or receive prices for the specified [AssetType]' InstrumentTypeNotSupportedException: Unsupported instrument type. InvalidUic: UIC is either invalid or not specified at all. UicsInListNotUnique: The UICs in the list must be unique. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '404': description: Not Found content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - IllegalInstrumentId type: string example: None x-enum-descriptions: IllegalInstrumentId: Unknown instrument name 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' deprecated: true security: - OpenApiOAuthSecurityScheme: [ ] - OpenApiJWTSecurityScheme: [ ] x-required-permissions: restricted: Subscribe x-streaming-type: $ref: '#/components/schemas/InfoPriceResponseArrayDomainEvent' /trade/v1/infoprices/list: get: tags: - Info Prices summary: Get info prices for a list of instruments description: Get a list of info prices for a list of instruments using the specified parameters. operationId: InfoPricesV1GetInfoPriceListAsync parameters: - name: AccountKey in: query description: "Unique key identifying the account used in retrieving the infoprice.\n Only required when calling context represents an authenticated user.\n If not supplied a default account is assumed." style: form explode: false schema: title: "Unique key identifying the account used in retrieving the infoprice.\n Only required when calling context represents an authenticated user.\n If not supplied a default account is assumed." minLength: 1 type: string x-type-name: AccountKey example: 01b64edf-da03-4145-bf33-ae21527d4c86 - name: Amount in: query description: 'Order size, defaults to minimal order size for given instrument.' style: form explode: false schema: title: 'Order size, defaults to minimal order size for given instrument.' type: number example: 10 - name: AmountType in: query style: form explode: false schema: allOf: - $ref: '#/components/schemas/OrderAmountType' example: CashAmount - name: AssetType in: query description: The instrument's asset type required: true style: form explode: false schema: title: The instrument's asset type allOf: - $ref: '#/components/schemas/AssetType' example: FxKnockOutOption - name: ExpiryDate in: query description: Optional expiry date - only relevant for options style: form explode: false schema: title: Optional expiry date - only relevant for options type: string format: date-time x-type-name: UtcDateTime example: '9999-12-31T23:59:59.9999990+00:00' - name: FieldGroups in: query description: Specification of field groups to return in results. Default is "Quote" style: form explode: false schema: title: Specification of field groups to return in results. Default is "Quote" type: array items: $ref: '#/components/schemas/InfoPriceGroupSpec' example: - Commissions - name: ForwardDate in: query description: Forward date style: form explode: false schema: title: Forward date type: string format: date-time x-type-name: UtcDateTime example: '9999-12-31T23:59:59.9999990+00:00' - name: ForwardDateFarLeg in: query description: Forward date for far leg style: form explode: false schema: title: Forward date for far leg type: string format: date-time x-type-name: UtcDateTime example: '9999-12-31T23:59:59.9999990+00:00' - name: ForwardDateNearLeg in: query description: Forward date for near leg style: form explode: false schema: title: Forward date for near leg type: string format: date-time x-type-name: UtcDateTime example: '9999-12-31T23:59:59.9999990+00:00' - name: LowerBarrier in: query description: Lower barrier style: form explode: false schema: title: Lower barrier type: number example: 10 - name: OrderAskPrice in: query description: 'Order ask price. When specified, a corresponding cost of buying will be calculated for that price; otherwise the current market ask price will be used.' style: form explode: false schema: title: 'Order ask price. When specified, a corresponding cost of buying will be calculated for that price; otherwise the current market ask price will be used.' type: number example: 10 - name: OrderBidPrice in: query description: 'Order bid price. When specified, a corresponding cost of selling will be calculated for that price; otherwise the current market bid price will be used.' style: form explode: false schema: title: 'Order bid price. When specified, a corresponding cost of selling will be calculated for that price; otherwise the current market bid price will be used.' type: number example: 10 - name: PutCall in: query description: Put/call style: form explode: false schema: title: Put/call allOf: - $ref: '#/components/schemas/PutCall' example: None - name: QuoteCurrency in: query style: form explode: false schema: type: boolean example: true - name: StrikePrice in: query description: Strike price style: form explode: false schema: title: Strike price type: number example: 10 - name: ToOpenClose in: query style: form explode: false schema: allOf: - $ref: '#/components/schemas/ToOpenClose' example: ToOpen - name: Uics in: query description: A comma separated list of Uics. required: true style: form explode: false schema: title: A comma separated list of Uics. type: string example: stringValue - name: UpperBarrier in: query description: Upper barrier style: form explode: false schema: title: Upper barrier type: number example: 10 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/InfoPriceResponseListResult' example: Data: - AssetType: FxSpot DisplayAndFormat: Currency: AUD Decimals: 4 Description: British Pound/Australian Dollar Format: AllowDecimalPips OrderDecimals: 4 Symbol: GBPAUD HistoricalChanges: PercentChange1Month: 1.21 PercentChange2Months: 2.95 PercentChange3Months: 1.85 PercentChange6Months: -1.83 PercentChangeDaily: 0.22 PercentChangeWeekly: 1.67 InstrumentPriceDetails: IsMarketOpen: true ShortTradeDisabled: false ValueDate: '2017-05-19' LastUpdated: '0001-01-01T00:00:00Z' PriceInfo: High: 1.09117 Low: 1.08853 NetChange: 0.00048 PercentChange: 0.04 PriceInfoDetails: AskSize: 1000000 BidSize: 1000000 LastClose: 1.08932 LastTraded: 0 LastTradedSize: 0 Open: 0 Volume: 0 Quote: Amount: 100000 Ask: 1.74948 Bid: 1.74858 DelayedByMinutes: 15 ErrorCode: None Mid: 1.74903 PriceTypeAsk: Indicative PriceTypeBid: Indicative Uic: 22 - AssetType: FxSpot DisplayAndFormat: Currency: CAD Decimals: 4 Description: British Pound/Canadian Dollar Format: AllowDecimalPips OrderDecimals: 4 Symbol: GBPCAD InstrumentPriceDetails: IsMarketOpen: true ShortTradeDisabled: false ValueDate: '2017-05-19' LastUpdated: '0001-01-01T00:00:00Z' Quote: Amount: 100000 Ask: 1.76278 Bid: 1.76198 DelayedByMinutes: 15 ErrorCode: None Mid: 1.76238 PriceTypeAsk: Indicative PriceTypeBid: Indicative Uic: 23 '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InstrumentNotAllowed - InstrumentTypeNotSupportedException - InvalidRequest - InvalidUic - UicsInListNotUnique - Unknown type: string example: None x-enum-descriptions: InvalidRequest: Invalid request. Unknown: One or more of the provided parameters are invalid. InstrumentNotAllowed: 'The account is not allowed to trade in or receive prices for the specified [AssetType]' InstrumentTypeNotSupportedException: Unsupported instrument type. InvalidUic: UIC is either invalid or not specified at all. UicsInListNotUnique: The UICs in the list must be unique. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '404': description: Not Found content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - IllegalInstrumentId - InvalidPriceRequest type: string example: None x-enum-descriptions: IllegalInstrumentId: Unknown instrument name InvalidPriceRequest: Invalid price request. 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: restricted: Read /trade/v1/infoprices: get: tags: - Info Prices summary: Get an info price for a specific instrument description: Gets an info price for an instrument using the specified parameters. operationId: InfoPricesV1GetInfoPriceAsync parameters: - name: AccountKey in: query description: "Unique key identifying the account used in retrieving the price.\n Only required when calling context represents an authenticated user." style: form explode: false schema: title: "Unique key identifying the account used in retrieving the price.\n Only required when calling context represents an authenticated user." minLength: 1 type: string x-type-name: AccountKey example: 01b64edf-da03-4145-bf33-ae21527d4c86 - name: Amount in: query description: 'Order size, defaults to minimal order size for given instrument.' style: form explode: false schema: title: 'Order size, defaults to minimal order size for given instrument.' type: number example: 10 - name: AmountType in: query style: form explode: false schema: allOf: - $ref: '#/components/schemas/OrderAmountType' example: CashAmount - name: AssetType in: query description: The instrument's asset type required: true style: form explode: false schema: title: The instrument's asset type allOf: - $ref: '#/components/schemas/AssetType' example: FxKnockOutOption - name: ExpiryDate in: query description: Optional expiry date - only relevant for options style: form explode: false schema: title: Optional expiry date - only relevant for options type: string format: date-time x-type-name: UtcDateTime example: '9999-12-31T23:59:59.9999990+00:00' - name: FieldGroups in: query description: Specification of fields to return in results style: form explode: false schema: title: Specification of fields to return in results type: array items: $ref: '#/components/schemas/InfoPriceGroupSpec' example: - Commissions - name: ForwardDate in: query description: Forward date style: form explode: false schema: title: Forward date type: string format: date-time x-type-name: UtcDateTime example: '9999-12-31T23:59:59.9999990+00:00' - name: ForwardDateFarLeg in: query description: Forward date for far leg style: form explode: false schema: title: Forward date for far leg type: string format: date-time x-type-name: UtcDateTime example: '9999-12-31T23:59:59.9999990+00:00' - name: ForwardDateNearLeg in: query description: Forward date for near leg style: form explode: false schema: title: Forward date for near leg type: string format: date-time x-type-name: UtcDateTime example: '9999-12-31T23:59:59.9999990+00:00' - name: LowerBarrier in: query description: Lower barrier style: form explode: false schema: title: Lower barrier type: number example: 10 - name: OrderAskPrice in: query description: Price when buying. Used when subscribing on a price to get a corresponsing cost of buying. style: form explode: false schema: title: Price when buying. Used when subscribing on a price to get a corresponsing cost of buying. type: number example: 10 - name: OrderBidPrice in: query description: Price when selling. Used when subscribing on a price to get a corresponsing cost of buying. style: form explode: false schema: title: Price when selling. Used when subscribing on a price to get a corresponsing cost of buying. type: number example: 10 - name: PutCall in: query description: Put/call of an Option. style: form explode: false schema: title: Put/call of an Option. allOf: - $ref: '#/components/schemas/PutCall' example: None - name: QuoteCurrency in: query style: form explode: false schema: type: boolean example: true - name: StrikePrice in: query description: Strike price style: form explode: false schema: title: Strike price type: number example: 10 - name: ToOpenClose in: query style: form explode: false schema: allOf: - $ref: '#/components/schemas/ToOpenClose' example: ToOpen - name: Uic in: query description: Unique id of the instrument required: true style: form explode: false schema: title: Unique id of the instrument type: integer format: int32 example: 99 - name: UpperBarrier in: query description: Upper barrier style: form explode: false schema: title: Upper barrier type: number example: 10 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/InfoPriceResponse' example: AssetType: FxSpot DisplayAndFormat: Currency: AUD Decimals: 4 Description: British Pound/Australian Dollar Format: AllowDecimalPips OrderDecimals: 4 Symbol: GBPAUD HistoricalChanges: PercentChange1Month: 1.21 PercentChange2Months: 2.95 PercentChange3Months: 1.85 PercentChange6Months: -1.83 PercentChangeDaily: 0.22 PercentChangeWeekly: 1.67 InstrumentPriceDetails: IsMarketOpen: true ShortTradeDisabled: false ValueDate: '2017-05-19' LastUpdated: '0001-01-01T00:00:00Z' PriceInfo: High: 1.09117 Low: 1.08853 NetChange: 0.00048 PercentChange: 0.04 PriceInfoDetails: AskSize: 1000000 BidSize: 1000000 LastClose: 1.08932 LastTraded: 0 LastTradedSize: 0 Open: 0 Volume: 0 Quote: Amount: 100000 Ask: 1.74948 Bid: 1.74858 DelayedByMinutes: 15 ErrorCode: None Mid: 1.74903 PriceTypeAsk: Indicative PriceTypeBid: Indicative Uic: 22 '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InstrumentNotAllowed - InstrumentTypeNotSupportedException - InvalidPriceRequest - InvalidUic - Unknown type: string example: None x-enum-descriptions: Unknown: One or more of the provided parameters are invalid. InstrumentNotAllowed: 'The account is not allowed to trade in or receive prices for the specified [AssetType]' InstrumentTypeNotSupportedException: Unsupported instrument type. InvalidUic: UIC is either invalid or not specified at all. InvalidPriceRequest: Invalid price request. Message: type: string ModelState: $ref: '#/components/schemas/ModelStateDictionary' '404': description: Not Found content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - IllegalInstrumentId type: string example: None x-enum-descriptions: IllegalInstrumentId: Unknown instrument name 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: restricted: Read components: schemas: AlgorithmicOrderData: title: Data for specifying a strategy and its parameters for AlgoOrders required: - StrategyName - Arguments type: object properties: Arguments: title: A set of Key/Value pairs specifying the Algo parameters type: array items: $ref: '#/components/schemas/StringStringKeyValuePair' example: stringValue: stringValue StrategyName: title: The Strategy Identifier type: string example: stringValue additionalProperties: false example: Arguments: DisplayQuantity: '100' StrategyName: Iceberg AllocationKeyAccountInfo: title: An allocation participant. required: - Priority - UnitValue - AcceptRemainderAmount type: object properties: AcceptRemainderAmount: title: 'Specifies if an account can accept the remaining units, if applicable.' type: boolean example: true AccountId: title: 'AccountId of account, which is part of allocation. When creating allocation key, then either AccountKey or AccountId is required.' type: string example: stringValue AccountKey: title: 'AccountKey of account, which is part of allocation. When creating allocation key, then either AccountKey or AccountId is required.' minLength: 1 type: string x-type-name: AccountKey Priority: title: "If several accounts are defined with AcceptRemainderAmount=true, the priority determines the priority by which\n remainders are distributed between these accounts\n Also when allocating partial fills, it is allocated in the prioritized order" type: integer format: int32 example: 99 UnitValue: title: "The actual amount or percentage of the total trade to be distributed to this account, see AllocationUnitType for\n further explanation." minimum: 0 type: number example: 2.55 additionalProperties: false example: AcceptRemainderAmount: true AccountId: stringValue AccountKey: 01b64edf-da03-4145-bf33-ae21527d4c86 Priority: 99 UnitValue: 116 AllocationKeyAccountInfoView: title: An allocation participant. type: object properties: AcceptRemainderAmount: title: 'Specifies if an account can accept the remaining units, if applicable.' type: boolean example: true AccountId: title: 'AccountId of account, which is part of allocation.' type: string example: stringValue AccountKey: title: 'AccountKey of account, which is part of allocation.' minLength: 1 type: string x-type-name: AccountKey ClientId: title: 'ClientId of client, owning the account.' type: string example: stringValue ClientKey: title: 'ClientKey of client, owning the account.' minLength: 1 type: string x-type-name: ClientKey Priority: title: "If several accounts are defined with AcceptRemainderAmount=true, the priority determines the priority by which\n remainders are distributed between these accounts\n Also when allocating partial fills, it is allocated in the prioritized order" type: integer format: int32 example: 99 UnitValue: title: "The actual amount or percentage of the total trade to be distributed to this account, see AllocationUnitType for\n further explanation." type: number example: 2.55 additionalProperties: false example: AcceptRemainderAmount: true AccountId: stringValue AccountKey: 01b64edf-da03-4145-bf33-ae21527d4c86 ClientId: stringValue ClientKey: 493b43a5-fe85-4d1f-9071-dd4a9d4e42a4 Priority: 99 UnitValue: 2.55 AllocationKeyCreateRequest: title: Request creating an allocation key. required: - AllocationKeyName - OneTime - OwnerAccountKey - AllocationUnitType - MarginHandling - ParticipatingAccountsInfo type: object properties: AllocationKeyName: title: Name of the allocation key. type: string example: stringValue AllocationUnitType: title: Specifies how to interpret the value of UnitValue in the AllocationKeyAccountInfo. allOf: - $ref: '#/components/schemas/AllocationUnitType' MarginHandling: title: Represents the behavior if because of margin reason entire order can not be processed. allOf: - $ref: '#/components/schemas/MarginHandlingType' OneTime: title: Whether the key is for one time use. type: boolean example: true OwnerAccountKey: title: Account key for the account to this allocation key belongs to. minLength: 1 type: string x-type-name: AccountKey ParticipatingAccountsInfo: title: Allocation participants. type: array items: $ref: '#/components/schemas/AllocationKeyAccountInfo' example: - AcceptRemainderAmount: true AccountKey: LZTc7DdejXODf-WSl2aCyQ== Priority: 1 UnitValue: 10 - AcceptRemainderAmount: false AccountKey: LZTc7DdejXODf-WSl2aCyQ== Priority: 1 UnitValue: 90 additionalProperties: false example: AllocationKeyName: MyAllocation_Key AllocationUnitType: Percentage MarginHandling: Reduce OneTime: true OwnerAccountKey: LZTc7DdejXODf-WSl2aCyQ== ParticipatingAccountsInfo: - AcceptRemainderAmount: true AccountKey: LZTc7DdejXODf-WSl2aCyQ== Priority: 1 UnitValue: 10 - AcceptRemainderAmount: false AccountKey: LZTc7DdejXODf-WSl2aCyQ== Priority: 1 UnitValue: 90 AllocationKeyCreatedResponse: title: Allocation key created response. type: object properties: AllocationKeyId: title: Newly created allocation key ID. type: string example: stringValue additionalProperties: false example: AllocationKeyId: '227' AllocationKeyDetails: title: Allocation key details. type: object properties: AllocationKeyId: title: Allocation key ID. type: string example: stringValue AllocationKeyName: title: Allocation key name. type: string example: stringValue AllocationUnitType: title: Specifies how to interpret the value of UnitValue in the AllocationKeyAccountInfo. allOf: - $ref: '#/components/schemas/AllocationUnitType' AssetType: title: The Instruments AssetType. allOf: - $ref: '#/components/schemas/AssetType' BuySell: title: The direction of the order buy or sell. allOf: - $ref: '#/components/schemas/Domain.BuySell' CreationTime: title: Datetime of allocation group creation type: string format: date-time x-type-name: UtcDateTime ErrorAccount: title: 'If any participant faces issue to book the allocated amount , then respective allocated amount will be booked against Error account instead of participant''s account.' type: string example: stringValue ExternalReference: title: 'Optional reference from the client app. Maximum length: 50 characters' type: string example: stringValue MarginHandling: title: Represents the behavior if because of margin reason entire order can not be processed. allOf: - $ref: '#/components/schemas/MarginHandlingType' OwnerAccountKey: title: Allocation key owner account key. minLength: 1 type: string x-type-name: AccountKey Participants: title: Number of Participant(s) type: integer format: int32 example: 99 ParticipatingAccountsInfo: title: Allocation participants. type: array items: $ref: '#/components/schemas/AllocationKeyAccountInfoView' example: - AcceptRemainderAmount: true AccountId: stringValue AccountKey: 01b64edf-da03-4145-bf33-ae21527d4c86 ClientId: stringValue ClientKey: 493b43a5-fe85-4d1f-9071-dd4a9d4e42a4 Priority: 99 UnitValue: 2.55 PredefinedQuantity: title: '(Obsolete. Deprecation date: "2022-10-01". Use TotalUnitValues instead) The sum of each of the accounts'' predefined quantity.' type: integer format: int32 example: 99 deprecated: true x-deprecated-date: '2022-10-01' Status: title: Allocation key status. allOf: - $ref: '#/components/schemas/AllocationKeyStatus' TotalUnitValues: title: Sum of all participating accounts' UnitValues. type: number example: 10 Uic: title: Unique id of the instrument to place the allocation key for. type: integer format: int32 example: 99 additionalProperties: false example: AllocationKeyId: '227' AllocationKeyName: MyAllocation_Key AllocationUnitType: Percentage AssetType: CfdOnStock BuySell: Buy CreationTime: '0001-01-01T00:00:00.0000000+00:00' ExternalReference: Order123 MarginHandling: Reduce OwnerAccountKey: LZTc7DdejXODf-WSl2aCyQ== Participants: 0 ParticipatingAccountsInfo: - AcceptRemainderAmount: true AccountKey: LZTc7DdejXODf-WSl2aCyQ== ClientKey: Priority: 1 UnitValue: 10 - AcceptRemainderAmount: false AccountKey: LZTc7DdejXODf-WSl2aCyQ== ClientKey: Priority: 1 UnitValue: 90 PredefinedQuantity: 0 Status: Active TotalUnitValues: 0 Uic: 4361 AllocationKeyStatus: title: Allocation keys status. enum: - Active - DeactivateAfterOrderPlacement - Inactive - OneTime type: string example: OneTime x-enum-descriptions: Inactive: Indicates that key is inactive/deleted and should not be used for any further allocation. Active: The key is active and can be used for allocations. OneTime: Indicates that the key has been created to one-time allocation. DeactivateAfterOrderPlacement: Indicates that the key will be deactivated after order placement. x-type-warning: FlaggableEnum AllocationKeySummary: title: Allocation key summary info. type: object properties: AllocationKeyId: title: Allocation key ID. type: string example: stringValue AllocationKeyName: title: Allocation key name. type: string example: stringValue AssetType: title: The Instruments AssetType. allOf: - $ref: '#/components/schemas/AssetType' BuySell: title: The direction of the order buy or sell. allOf: - $ref: '#/components/schemas/Domain.BuySell' CreationTime: title: Datetime of allocation group creation type: string format: date-time x-type-name: UtcDateTime ExternalReference: title: 'Optional reference from the client app. Maximum length: 50 characters' type: string example: stringValue OwnerAccountKey: title: Allocation key owner account key. minLength: 1 type: string x-type-name: AccountKey Participants: title: Number of Participant(s) type: integer format: int32 example: 99 PredefinedQuantity: title: '(Obsolete. Deprecation date: "2022-10-01". Use TotalUnitValues instead) The sum of each of the accounts'' predefined quantity.' type: integer format: int32 example: 99 deprecated: true x-deprecated-date: '2022-10-01' Status: title: Allocation key status. allOf: - $ref: '#/components/schemas/AllocationKeyStatus' TotalUnitValues: title: Sum of all participating accounts' UnitValues. type: number example: 10 Uic: title: Unique id of the instrument to place the allocation key for. type: integer format: int32 example: 99 additionalProperties: false example: AllocationKeyId: stringValue AllocationKeyName: stringValue AssetType: Rights BuySell: Sell CreationTime: '9999-12-31T23:59:59.9999990+00:00' ExternalReference: stringValue OwnerAccountKey: 01b64edf-da03-4145-bf33-ae21527d4c86 Participants: 99 PredefinedQuantity: 99 Status: DeactivateAfterOrderPlacement TotalUnitValues: 10 Uic: 99 AllocationKeySummaryListResult: type: object properties: Data: type: array items: $ref: '#/components/schemas/AllocationKeySummary' 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: Data: - AllocationKeyId: '227' AllocationKeyName: MyAllocation_Key AssetType: CfdOnStock BuySell: Buy CreationTime: '0001-01-01T00:00:00Z' ExternalReference: Order123 OwnerAccountKey: LZTc7DdejXODf-WSl2aCyQ== Participants: 0 PredefinedQuantity: 0 Status: Active TotalUnitValues: 100 Uic: 4361 - AllocationKeyId: 227_2 AllocationKeyName: MyAllocation_Key_2 CreationTime: '0001-01-01T00:00:00Z' OwnerAccountKey: LZTc7DdejXODf-WSl2aCyQ== Participants: 0 PredefinedQuantity: 0 Status: OneTime TotalUnitValues: 100 AllocationUnitType: title: Specifies how to interpret the value of UnitValue in the AllocationKeyAccountInfo. enum: - Percentage - Unit type: string example: Unit x-enum-descriptions: Unit: "Distribution is done using units allocation. \n In this case the total sum of UnitValues in the ParticipatingAccounts array must add up to the amount specified in the order, or at least one of the accounts in the ParticipatingAccounts must have the AcceptRemainderAmount field set to true." Percentage: "Distribution is done on a percentage basis. \n In this case the total sum of UnitValues in the ParticipatingAccounts array must add up to 100." ApprovalActionResponse: title: Order approval action response. type: object properties: ApprovalState: title: Approval state of an order. allOf: - $ref: '#/components/schemas/ApprovalState' ErrorInfo: title: Contains error info when request failed. allOf: - $ref: '#/components/schemas/StringErrorResponse' OrderId: title: OrderId. type: string example: stringValue RelatedOrders: title: Response for related or OCO orders. type: array items: $ref: '#/components/schemas/ApprovalActionResponse' example: - ApprovalState: ExternalReference: stringValue State: ApprovalRequested ErrorInfo: ErrorCode: stringValue Message: stringValue OrderId: stringValue additionalProperties: false example: ApprovalState: ExternalReference: stringValue State: None ErrorInfo: ErrorCode: stringValue Message: stringValue OrderId: stringValue RelatedOrders: [ ] ApprovalState: title: Approval state. type: object properties: ExternalReference: title: External reference. type: string example: stringValue State: title: Order approval state. allOf: - $ref: '#/components/schemas/OrderApprovalState' additionalProperties: false example: ExternalReference: stringValue State: Initial 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: FxKnockOutOption 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. BuySell: title: "BuySell indicator \n Note: Values are *NOT* identical to the values of the _BuySellTypes defined in ClmTradeEnums.idl\n If we should align this then we should coordinate with web trader which have taken a dependency on the \n actual values of this enum." enum: - Buy - Sell type: string example: Buy x-enum-descriptions: Buy: Buy Sell: Sell CancelAllOrderResponse: title: Response to cancel all orders type: object properties: ErrorInfo: title: Contains error info when cancel of order failed. allOf: - $ref: '#/components/schemas/StringErrorResponse' additionalProperties: false example: ErrorInfo: ErrorCode: stringValue Message: stringValue CancelOrderResponse: title: Response to cancel of orders. type: object properties: Orders: title: Info about each order that was requested to be cancelled. type: array items: $ref: '#/components/schemas/Order' example: - ErrorInfo: ErrorCode: Unknown Message: Order request rejected additionalProperties: false example: Orders: - ErrorInfo: ErrorCode: Unknown Message: Order request rejected ChangeMultiLegStrategyOrderRequest: title: A request to change a multi-leg strategy order. required: - AccountKey - MultiLegOrderId type: object properties: AccountKey: title: Unique key identifying the account. minLength: 1 type: string x-type-name: AccountKey MultiLegAmount: title: "New number of strategies to trade. Will adjust all order leg amounts maintaining thier original ratio. \n Changing the original leg ratio would change the basis for OrderPrice, so that cannot be changed." type: number example: 10 MultiLegOrderId: title: Id of multi-leg combination/strategy order to change. type: string example: stringValue OrderDuration: title: The Order Duration. allOf: - $ref: '#/components/schemas/OrderDuration' OrderPrice: title: Order price. The sum price of a single strategy of order legs in a given ratio. type: number example: 10 TraderId: title: 'Trader Id, Used only if the application is configured for supporting it with length of 2-16 chars.' type: string example: stringValue additionalProperties: false example: AccountKey: 01b64edf-da03-4145-bf33-ae21527d4c86 MultiLegAmount: 10 MultiLegOrderId: stringValue OrderDuration: DurationType: GoodTillDate ExpirationDateContainsTime: true ExpirationDateTime: '2022-11-09T14:00:00' OrderPrice: 10 TraderId: stringValue ChangeOrderRequest: title: A request to change one or more orders. type: object properties: AccountKey: title: Unique key identifying the account. minLength: 1 type: string x-type-name: AccountKey AlgoOrderData: title: 'Specification of StrategyName and parameters for AlgoOrders. Note: AlgoOrders are only supported on the live system.' allOf: - $ref: '#/components/schemas/AlgorithmicOrderData' Amount: title: Order size. type: number example: 10 AssetType: title: "The Instruments AssetType. \n This field is only used for validation of other fields of the change request, and will not \n be checked against the original order, nor used to change the instrument type." allOf: - $ref: '#/components/schemas/AssetType' IsForceOpen: title: 'If true, the order''s resulting position will only be netted with positions in the opposite direction when explicitly closed.' type: boolean example: true OrderDuration: title: The Order Duration. allOf: - $ref: '#/components/schemas/OrderDuration' OrderId: title: Id of order to change. type: string example: stringValue OrderPrice: title: Order Price. Optional for market orders. type: number example: 10 OrderType: title: The Order Type. allOf: - $ref: '#/components/schemas/PlaceableOrderType' Orders: title: Related or OCO orders to change. type: array items: $ref: '#/components/schemas/Orders.RelatedOrOcoOrder' example: - AccountKey: 01b64edf-da03-4145-bf33-ae21527d4c86 Amount: 10 AssetType: CfdIndexOption IsForceOpen: false OrderDuration: DurationType: GoodTillDate ExpirationDateContainsTime: true ExpirationDateTime: '2022-11-09T14:00:00' OrderId: stringValue OrderPrice: 10 OrderType: GuaranteedStop StopLimitPrice: 10 TrailingStopDistanceToMarket: 10 TrailingStopStep: 10 StopLimitPrice: title: Stop limit price for Stop Limit order. type: number example: 10 TraderId: title: 'Trader Id, Used only if the application is configured for supporting it with length of 2-16 chars.' type: string example: stringValue TrailingStopDistanceToMarket: title: Distance to market for a trailing stop order. type: number example: 10 TrailingStopStep: title: Step size for trailing stop order. type: number example: 10 additionalProperties: false example: AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 100000 AssetType: FxSpot OrderType: Limit Commissions: title: Commissions for buying and selling the instrument. type: object properties: CostBuy: title: The cost to pay if instrument is bought. type: number example: 10 CostIpoCashSubscription: title: The cost to pay for Ipo Subscription in case of Cash option type: number example: 10 CostIpoSubscription: title: The cost to pay for Ipo Subscription in case of Finance option type: number example: 10 CostSell: title: The cost to pay if instrument is sold. type: number example: 10 additionalProperties: false example: CostBuy: 0 CostIpoCashSubscription: 0 CostIpoSubscription: 0 CostSell: 0 ContractOptionsGreeks: title: Contract Options chain Greeks data for the ETOs that support them type: object properties: AskVolatility: title: The ask volatility type: number example: 10 BidVolatility: title: The bid volatility type: number example: 10 Delta: title: The delta type: number example: 10 Gamma: title: The gamma type: number example: 10 MidVolatility: title: The mid volatility type: number example: 10 Rho: title: The rho type: number example: 10 TheoreticalPrice: title: The theoretical price type: number example: 10 Theta: title: The theta type: number example: 10 Vega: title: The vega type: number example: 10 additionalProperties: false example: AskVolatility: 10 BidVolatility: 10 Delta: 10 Gamma: 10 MidVolatility: 10 Rho: 10 TheoreticalPrice: 10 Theta: 10 Vega: 10 CostData: title: Cost Data type: object properties: Commission: title: Commission. type: number example: 10 ExchangeFee: title: Exchange Fee. type: number example: 10 GuaranteedStopFee: title: Guaranteed Stop Fee. type: number example: 10 StampDuty: title: Stamp Duty. type: number example: 10 additionalProperties: false example: Commission: 1000 ExchangeFee: 0 GuaranteedStopFee: 0 StampDuty: 0 DisplayHintType: title: Display Hint Type. enum: - Continuous - CryptoCurrencies - Etc - Etf - Etn - Forex - Fund - Interests - None - PreciousMetal - Rights - StockIndices - Warrant type: string example: Continuous x-enum-descriptions: None: Indicates not special display hint is required. PreciousMetal: Metals like XAUUSD. Continuous: Used for the parent ContractFutures. Etf: Exchange Traded Funds. Etn: Exchange Traded Notes. Etc: Exchange Traded Certificates/Currencies. Rights: Rights. Warrant: Warrants. Forex: Forex. Intended to be used for Cfds on Futures on Forex. Interests: Interest rates. Intended to be used for Cfds on Futures on bonds. StockIndices: Stock indices. Intended to be used for Cfds on Futures on stock indices. Fund: Fund. CryptoCurrencies: Crypto currencies. DistributedAmountResponse: title: Distributed amount information for given Allocation Key. type: object properties: Remainder: title: Remaining amount not possible to distribute between accounts. type: number example: 10 SubClientsInfo: title: Collection of amount distributions. type: array items: $ref: '#/components/schemas/SubClientInfo' example: - AccountId: stringValue Amount: 10 MultiLegAmount: 10 additionalProperties: false example: Remainder: 0.1 SubClientsInfo: - AccountId: 324b0298-8ec2-4c13-9518-ee4f01244113 Amount: 10.3 MultiLegAmount: 0 - AccountId: 324b0298-8ec2-4c13-9518-ee4f01244114 Amount: 20.3 MultiLegAmount: 0 - AccountId: 324b0298-8ec2-4c13-9518-ee4f01244115 Amount: 70.3 MultiLegAmount: 0 Domain.BuySell: title: 'Describes the direction of an order, action or trade.' enum: - Buy - Sell type: string example: Buy x-enum-descriptions: Buy: Buy. Sell: Sell. ErrorCode: title: Errorcode used in RFQ. enum: - DealerCancelsQuote - DealerCannotQuote - DealerCannotTrade - DealerDisconnected - DealerIsBusy - DealerIsUnavailable - DealerRejectsQuoteRequest - None - QuoteHasTimedOut - TooSmallTrade - WarningAmountLargeOrderSize - WarningAmountTooSmall type: string example: None x-enum-descriptions: None: No error code. DealerCancelsQuote: Dealer cancels quote. DealerCannotQuote: Dealer can not give quote at this time. DealerIsBusy: Dealer is handling other request for client. DealerIsUnavailable: Dealer is not available. DealerCannotTrade: Dealer can not trade at this time. DealerDisconnected: Dealer disconnected. TooSmallTrade: Trade contract size is too small QuoteHasTimedOut: Quote has timed out DealerRejectsQuoteRequest: Dealer rejects quote request. WarningAmountLargeOrderSize: 'Returned when a price request is for a an amount that is larger than will be automatically accepted. For IOC orders, this means that an order on that amount will always be rejected.' WarningAmountTooSmall: Returned when an amount for an FXO is so small that we do not accept request for quotes on it. ExerciseMethod: title: Exercise method for FX Options. enum: - Cash - Spot type: string example: Cash x-enum-descriptions: Cash: Option P/L is converted to cash. Spot: Option is converted to spot position. ExercisePositionRequest: title: Public request contract containing data to exercise an option required: - AccountKey - Amount - Uic - AssetType type: object properties: AccountKey: title: Gets or sets the account identifier. minLength: 1 type: string x-type-name: AccountKey Amount: title: Number of Lots to be exercised type: integer format: int32 example: 99 AppHint: title: 'Optional informational id, which will be added to the order for statistics purposes. Only relevant for Saxo applications' type: integer format: int32 example: 99 AssetType: title: Gets or sets the type of the asset. allOf: - $ref: '#/components/schemas/AssetType' Uic: title: Gets or sets the uic. type: integer format: int32 example: 99 additionalProperties: false example: AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 100 AssetType: StockOption Uic: 5455848 ExpiryData: title: Base class for expiries of any type required: - Index type: object properties: DisplayDate: title: Display Date for the Expiry type: string format: date x-type-name: Date DisplayDaysToExpiry: title: The "days to expiry" value to be displayed type: integer format: int32 example: 99 Expiry: title: The expiry date type: string format: date-time x-type-name: UtcDateTime Index: title: The expiry index type: integer format: int32 example: 99 LastTradeDate: title: The last trade date type: string format: date-time x-type-name: UtcDateTime MidStrikePrice: title: The "Mid Strike price" i.e. the Last Traded price for the underlying future type: number example: 10 RootIdentifier: title: Instrument identifier of the root instrument for the expiry type: integer format: int32 example: 99 StrikeCount: title: Number of strikes in the Strikes property type: integer format: int32 example: 99 StrikeWindowStartIndex: title: Index of the first strike that has values (sides) type: integer format: int32 example: 99 Strikes: title: "The list of strikes\n All strikes for the current expiry are returned (in the initial response), \n but will only contain price-data for the specified expiries & options" type: array items: $ref: '#/components/schemas/StrikeData' example: - Barrier: 10 Call: Ask: 10 AskSize: 10 Bid: 10 BidSize: 10 Close: 10 ContractId: 99 DeltaPct: 10 Greeks: AskVolatility: 10 BidVolatility: 10 Delta: 10 Gamma: 10 MidVolatility: 10 Rho: 10 TheoreticalPrice: 10 Theta: 10 Vega: 10 High: 10 LastClose: 10 LastTraded: 10 Low: 10 Net: 10 NetChange: 10 Open: 10 OpenInterest: 10 PriceTypeAsk: None PriceTypeBid: MarketOrder Uic: 99 Volume: 10 Index: 99 MidVolatilityPct: 10 NoTouch: Ask: 10 Bid: 10 ContractId: 99 DeltaPct: 10 Net: 10 PriceTypeAsk: Tradable PriceTypeBid: Indicative OneTouch: Ask: 10 Bid: 10 ContractId: 99 DeltaPct: 10 Net: 10 PriceTypeAsk: OldIndicative PriceTypeBid: NoAccess Put: Ask: 10 AskSize: 10 Bid: 10 BidSize: 10 Close: 10 ContractId: 99 DeltaPct: 10 Greeks: AskVolatility: 10 BidVolatility: 10 Delta: 10 Gamma: 10 MidVolatility: 10 Rho: 10 TheoreticalPrice: 10 Theta: 10 Vega: 10 High: 10 LastClose: 10 LastTraded: 10 Low: 10 Net: 10 NetChange: 10 Open: 10 OpenInterest: 10 PriceTypeAsk: NoMarket PriceTypeBid: Pending Uic: 99 Volume: 10 Strike: 10 UnderlyingUic: title: "Uic of the underlying instrument.\n This is returned for all expiries - even if strikes are not requested for them." type: integer format: int32 example: 99 additionalProperties: false example: DisplayDate: '0001-01-01' DisplayDaysToExpiry: 30 Expiry: '2017-05-31T11:10:00.0000000+00:00' Index: 0 LastTradeDate: '0201-05-31T21:00:00.0000000+00:00' MidStrikePrice: 0 StrikeCount: 50 Strikes: - Index: 0 Strike: 97.25 - Index: 1 Strike: 97.375 - Index: 2 Strike: 97.5 - Index: 3 Strike: 97.625 - Index: 4 Strike: 97.75 - Index: 5 Strike: 97.8125 - Index: 6 Strike: 97.875 - Index: 7 Strike: 97.9375 - Index: 8 Strike: 98 - Index: 9 Strike: 98.0625 - Index: 10 Strike: 98.125 - Index: 11 Strike: 98.1875 - Index: 12 Strike: 98.25 - Index: 13 Strike: 98.3125 - Index: 14 Strike: 98.375 - Index: 15 Strike: 98.4375 - Index: 16 Strike: 98.5 - Index: 17 Strike: 98.5625 - Index: 18 Strike: 98.625 - Index: 19 Strike: 98.6875 - Index: 20 Strike: 98.75 - Index: 21 Strike: 98.8125 - Index: 22 Strike: 98.875 - Index: 23 Strike: 98.9375 - Call: High: 0 LastClose: 0.095 LastTraded: 0 Low: 0 NetChange: -0.095 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485090 Volume: 0 Index: 24 Put: High: 0 LastClose: 0 LastTraded: 0 Low: 0 NetChange: 0 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485130 Volume: 0 Strike: 99 - Call: High: 0 LastClose: 0.035 LastTraded: 0 Low: 0 NetChange: -0.035 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485091 Volume: 0 Index: 25 Put: High: 0 LastClose: 0.0025 LastTraded: 0 Low: 0 NetChange: -0.0025 Open: 0 OpenInterest: 250 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485131 Volume: 0 Strike: 99.0625 - Call: High: 0 LastClose: 0.0025 LastTraded: 0 Low: 0 NetChange: -0.0025 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485092 Volume: 0 Index: 26 Put: High: 0 LastClose: 0.0325 LastTraded: 0 Low: 0 NetChange: -0.0325 Open: 0 OpenInterest: 250 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485132 Volume: 0 Strike: 99.125 - Index: 27 Strike: 99.1875 - Index: 28 Strike: 99.25 - Index: 29 Strike: 99.3125 - Index: 30 Strike: 99.375 - Index: 31 Strike: 99.4375 - Index: 32 Strike: 99.5 - Index: 33 Strike: 99.5625 - Index: 34 Strike: 99.625 - Index: 35 Strike: 99.6875 - Index: 36 Strike: 99.75 - Index: 37 Strike: 99.8125 - Index: 38 Strike: 99.875 - Index: 39 Strike: 99.9375 - Index: 40 Strike: 100 - Index: 41 Strike: 100.0625 - Index: 42 Strike: 100.125 - Index: 43 Strike: 100.1875 - Index: 44 Strike: 100.25 - Index: 45 Strike: 100.375 - Index: 46 Strike: 100.5 - Index: 47 Strike: 100.625 - Index: 48 Strike: 100.75 - Index: 49 Strike: 100.875 StrikeWindowStartIndex: 24 UnderlyingUic: 2456777 GenericOrderResponse: title: 'Response to a place, change or cancel order request.' type: object properties: ErrorInfo: title: Contains error info when request failed. allOf: - $ref: '#/components/schemas/StringErrorResponse' ExternalReference: title: Optional reference supplied when placing the order. Max. 50 characters. type: string example: stringValue OrderId: title: Id of order. No value provided if request failed. type: string example: stringValue Orders: title: List of resulting orders. type: array items: $ref: '#/components/schemas/RelatedOrOcoOrder' example: - OrderId: '67762872' additionalProperties: false example: OrderId: '67762872' Orders: - OrderId: '67762872' Greeks: title: Greek info type: object properties: Delta: title: Delta - measures of risk from a move of the underlying price. type: number example: 10 Gamma: title: Gamma - rate of change of Delta resulting from movement of the underlying. type: number example: 10 MidVol: title: MidVol - volatility using the option mid price. type: number example: 10 Phi: title: Phi - Option Sensitivity to Dividend. type: number example: 10 Rho: title: Rho - risk measure related to changes in interest rates. type: number example: 10 Theta: title: Theta - measure of the rate of time premium decay and it is always negative. type: number example: 10 Vega: title: Vega - measures of risk from changes in implied volatility. type: number example: 10 additionalProperties: false example: Delta: 1 Gamma: 0 MidVol: 0 Phi: 0 Rho: 0 Theta: -0.0375 Vega: 0 HistoricalChanges: title: 'Historical data about the price changes (in %) for a number of periods, from 1 week to 5 years.' type: object properties: FiftyTwoWeekHigh: title: The 52 week high type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' FiftyTwoWeekLow: title: The 52 week low type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' PercentChange1Month: title: The 1 month percent change type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' PercentChange1Year: title: The 1 year percent change type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' PercentChange2Months: title: The 2 months percent change type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' PercentChange2Years: title: The 2 years percent change type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' PercentChange3Months: title: The 3 months percent change type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' PercentChange3Years: title: The 3 years percent change type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' PercentChange5Years: title: The 5 years percent change type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' PercentChange6Months: title: The 6 months percent change type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' PercentChangeDaily: title: The daily percent change type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' PercentChangeWeekly: title: The weekly percent change type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' additionalProperties: false example: PercentChange1Month: 5.57 PercentChange2Months: 5.83 PercentChange3Months: 3.73 PercentChange6Months: 6.49 PercentChangeDaily: 0.2 PercentChangeWeekly: 0.88 InfoPriceGroupSpec: title: Specification of fieldsets to include in results. enum: - Commissions - DisplayAndFormat - HistoricalChanges - InstrumentPriceDetails - MarketDepth - PriceInfo - PriceInfoDetails - Quote type: string example: MarketDepth x-enum-descriptions: Quote: Quote data fields are returned in results. PriceInfo: Informational price fields are returned in results. PriceInfoDetails: Detailed price fields are returned in results. InstrumentPriceDetails: "Fields related to the asset type are returned in results.\n Fields in this group are only returned when issuing a GET and in the initial snapshot if setting up a subscription." MarketDepth: Market depth fields are returned in results. Commissions: Commission fields are returned in results. HistoricalChanges: Historical price changes are returned in results. DisplayAndFormat: Display and Format x-type-warning: FlaggableEnum InfoPriceListRequest: title: Use this to request a list of InfoPrices required: - Uics - AssetType type: object properties: AccountKey: title: "Unique key identifying the account used in retrieving the infoprice.\n Only required when calling context represents an authenticated user.\n If not supplied a default account is assumed." minLength: 1 type: string x-type-name: AccountKey Amount: title: 'Order size, defaults to minimal order size for given instrument.' type: number AmountType: allOf: - $ref: '#/components/schemas/OrderAmountType' AssetType: title: The instrument's asset type allOf: - $ref: '#/components/schemas/AssetType' ExpiryDate: title: Optional expiry date - only relevant for options type: string format: date-time x-type-name: UtcDateTime FieldGroups: title: Specification of field groups to return in results. Default is "Quote" type: array items: $ref: '#/components/schemas/InfoPriceGroupSpec' ForwardDate: title: Forward date type: string format: date-time x-type-name: UtcDateTime ForwardDateFarLeg: title: Forward date for far leg type: string format: date-time x-type-name: UtcDateTime ForwardDateNearLeg: title: Forward date for near leg type: string format: date-time x-type-name: UtcDateTime LowerBarrier: title: Lower barrier type: number OrderAskPrice: title: 'Order ask price. When specified, a corresponding cost of buying will be calculated for that price; otherwise the current market ask price will be used.' type: number OrderBidPrice: title: 'Order bid price. When specified, a corresponding cost of selling will be calculated for that price; otherwise the current market bid price will be used.' type: number PutCall: title: Put/call allOf: - $ref: '#/components/schemas/PutCall' QuoteCurrency: type: boolean StrikePrice: title: Strike price type: number ToOpenClose: allOf: - $ref: '#/components/schemas/ToOpenClose' Uics: title: A comma separated list of Uics. type: string UpperBarrier: title: Upper barrier type: number additionalProperties: false example: AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 100000 AssetType: FxSpot FieldGroups: - DisplayAndFormat - HistoricalChanges - InstrumentPriceDetails - PriceInfo - PriceInfoDetails - Quote Uics: '22,23' InfoPriceListSubscriptionRequest: title: Public request contract for setting up a price subscription. required: - Arguments - 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/InfoPriceListRequest' 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: AccountKey: LZTc7DdejXODf-WSl2aCyQ== AssetType: FxSpot FieldGroups: - DisplayAndFormat - HistoricalChanges - InstrumentPriceDetails - PriceInfo - PriceInfoDetails - Quote Uics: '22,23' ContextId: '20221030063404713' ReferenceId: IP89383 RefreshRate: 1000 InfoPriceListSubscriptionResponse: title: Public response contract returned after setting up a price subscription. 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/InfoPriceResponseListResult' 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: '20221030063404713' Format: application/json InactivityTimeout: 60 ReferenceId: IP89383 RefreshRate: 1000 Snapshot: Data: - AssetType: FxSpot DisplayAndFormat: Currency: AUD Decimals: 4 Description: British Pound/Australian Dollar Format: AllowDecimalPips OrderDecimals: 4 Symbol: GBPAUD HistoricalChanges: PercentChange1Month: 1.21 PercentChange2Months: 2.95 PercentChange3Months: 1.85 PercentChange6Months: -1.83 PercentChangeDaily: 0.22 PercentChangeWeekly: 1.67 InstrumentPriceDetails: IsMarketOpen: true ShortTradeDisabled: false ValueDate: '2017-05-19' LastUpdated: '0001-01-01T00:00:00Z' PriceInfo: High: 1.09117 Low: 1.08853 NetChange: 0.00048 PercentChange: 0.04 PriceInfoDetails: AskSize: 1000000 BidSize: 1000000 LastClose: 1.08932 LastTraded: 0 LastTradedSize: 0 Open: 0 Volume: 0 Quote: Amount: 100000 Ask: 1.74948 Bid: 1.74858 DelayedByMinutes: 15 ErrorCode: None Mid: 1.74903 PriceTypeAsk: Indicative PriceTypeBid: Indicative Uic: 22 - AssetType: FxSpot DisplayAndFormat: Currency: CAD Decimals: 4 Description: British Pound/Canadian Dollar Format: AllowDecimalPips OrderDecimals: 4 Symbol: GBPCAD InstrumentPriceDetails: IsMarketOpen: true ShortTradeDisabled: false ValueDate: '2017-05-19' LastUpdated: '0001-01-01T00:00:00Z' Quote: Amount: 100000 Ask: 1.76278 Bid: 1.76198 DelayedByMinutes: 15 ErrorCode: None Mid: 1.76238 PriceTypeAsk: Indicative PriceTypeBid: Indicative Uic: 23 State: Active InfoPriceResponse: title: Public contract providing the latest info price information upon a request. required: - Uic type: object properties: AssetType: title: Asset Type of the instrument allOf: - $ref: '#/components/schemas/AssetType' Commissions: title: The commissions allOf: - $ref: '#/components/schemas/Commissions' DisplayAndFormat: title: Information about the instrument of the net position and how to display it. allOf: - $ref: '#/components/schemas/InstrumentDisplayAndFormat' ErrorCode: title: 'Error code, only there if instrument doesn''t exist' allOf: - $ref: '#/components/schemas/TradingErrorCode' ErrorMessage: title: 'Error message, only there if instrument doesn''t exist' type: string example: stringValue HistoricalChanges: title: The historical price changes allOf: - $ref: '#/components/schemas/HistoricalChanges' InstrumentPriceDetails: title: Instrument Specific Price Details. Contents vary by AssetType allOf: - $ref: '#/components/schemas/InstrumentPriceDetails' LastUpdated: title: Time of last price update. type: string format: date-time x-type-name: UtcDateTime MarketDepth: title: The market depth allOf: - $ref: '#/components/schemas/MarketDepth' PriceInfo: title: Brief price information. allOf: - $ref: '#/components/schemas/PriceInfo' PriceInfoDetails: title: Detailed price information allOf: - $ref: '#/components/schemas/PriceInfoDetails' PriceSource: title: The source for the price information type: string example: stringValue Quote: title: The quote data. allOf: - $ref: '#/components/schemas/Quote' Uic: title: Uic of instrument type: integer format: int32 example: 99 additionalProperties: false example: AssetType: FxSpot DisplayAndFormat: Currency: AUD Decimals: 4 Description: British Pound/Australian Dollar Format: AllowDecimalPips OrderDecimals: 4 Symbol: GBPAUD HistoricalChanges: PercentChange1Month: 1.21 PercentChange2Months: 2.95 PercentChange3Months: 1.85 PercentChange6Months: -1.83 PercentChangeDaily: 0.22 PercentChangeWeekly: 1.67 InstrumentPriceDetails: IsMarketOpen: true ShortTradeDisabled: false ValueDate: '2017-05-19' LastUpdated: '0001-01-01T00:00:00.0000000+00:00' PriceInfo: High: 1.09117 Low: 1.08853 NetChange: 0.00048 PercentChange: 0.04 PriceInfoDetails: AskSize: 1000000 BidSize: 1000000 LastClose: 1.08932 LastTraded: 0 LastTradedSize: 0 Open: 0 Volume: 0 Quote: Amount: 100000 Ask: 1.74948 Bid: 1.74858 DelayedByMinutes: 15 ErrorCode: None Mid: 1.74903 PriceTypeAsk: Indicative PriceTypeBid: Indicative Uic: 22 InfoPriceResponseArrayDomainEvent: type: object properties: Data: title: 'The type of data transported by the DomainEvent instance (e.g. price update, position list update etc.).' type: array items: $ref: '#/components/schemas/InfoPriceResponse' example: - AssetType: FxSpot DisplayAndFormat: Currency: AUD Decimals: 4 Description: British Pound/Australian Dollar Format: AllowDecimalPips OrderDecimals: 4 Symbol: GBPAUD HistoricalChanges: PercentChange1Month: 1.21 PercentChange2Months: 2.95 PercentChange3Months: 1.85 PercentChange6Months: -1.83 PercentChangeDaily: 0.22 PercentChangeWeekly: 1.67 InstrumentPriceDetails: IsMarketOpen: true ShortTradeDisabled: false ValueDate: '2017-05-19' LastUpdated: '0001-01-01T00:00:00Z' PriceInfo: High: 1.09117 Low: 1.08853 NetChange: 0.00048 PercentChange: 0.04 PriceInfoDetails: AskSize: 1000000 BidSize: 1000000 LastClose: 1.08932 LastTraded: 0 LastTradedSize: 0 Open: 0 Volume: 0 Quote: Amount: 100000 Ask: 1.74948 Bid: 1.74858 DelayedByMinutes: 15 ErrorCode: None Mid: 1.74903 PriceTypeAsk: Indicative PriceTypeBid: Indicative Uic: 22 PartitionNumber: title: The partition number if this DomainEvent is a partition. type: integer format: int32 example: 99 ReferenceId: title: 'Client specified id, which is sent back to the client with every data update.' type: string example: stringValue Timestamp: title: The UTC date and time of the event. type: string format: date-time x-type-name: UtcDateTime TotalPartitions: title: The total number of partitions if this DomainEvent is a partition. type: integer format: int32 example: 99 additionalProperties: false example: Data: - AssetType: FxSpot DisplayAndFormat: Currency: AUD Decimals: 4 Description: British Pound/Australian Dollar Format: AllowDecimalPips OrderDecimals: 4 Symbol: GBPAUD HistoricalChanges: PercentChange1Month: 1.21 PercentChange2Months: 2.95 PercentChange3Months: 1.85 PercentChange6Months: -1.83 PercentChangeDaily: 0.22 PercentChangeWeekly: 1.67 InstrumentPriceDetails: IsMarketOpen: true ShortTradeDisabled: false ValueDate: '2017-05-19' LastUpdated: '0001-01-01T00:00:00Z' PriceInfo: High: 1.09117 Low: 1.08853 NetChange: 0.00048 PercentChange: 0.04 PriceInfoDetails: AskSize: 1000000 BidSize: 1000000 LastClose: 1.08932 LastTraded: 0 LastTradedSize: 0 Open: 0 Volume: 0 Quote: Amount: 100000 Ask: 1.74948 Bid: 1.74858 DelayedByMinutes: 15 ErrorCode: None Mid: 1.74903 PriceTypeAsk: Indicative PriceTypeBid: Indicative Uic: 22 ReferenceId: IP89383 Timestamp: '2022-10-30T06:43:04.4607500+00:00' InfoPriceResponseListResult: type: object properties: Data: type: array items: $ref: '#/components/schemas/InfoPriceResponse' 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: Data: - AssetType: FxSpot DisplayAndFormat: Currency: AUD Decimals: 4 Description: British Pound/Australian Dollar Format: AllowDecimalPips OrderDecimals: 4 Symbol: GBPAUD HistoricalChanges: PercentChange1Month: 1.21 PercentChange2Months: 2.95 PercentChange3Months: 1.85 PercentChange6Months: -1.83 PercentChangeDaily: 0.22 PercentChangeWeekly: 1.67 InstrumentPriceDetails: IsMarketOpen: true ShortTradeDisabled: false ValueDate: '2017-05-19' LastUpdated: '0001-01-01T00:00:00Z' PriceInfo: High: 1.09117 Low: 1.08853 NetChange: 0.00048 PercentChange: 0.04 PriceInfoDetails: AskSize: 1000000 BidSize: 1000000 LastClose: 1.08932 LastTraded: 0 LastTradedSize: 0 Open: 0 Volume: 0 Quote: Amount: 100000 Ask: 1.74948 Bid: 1.74858 DelayedByMinutes: 15 ErrorCode: None Mid: 1.74903 PriceTypeAsk: Indicative PriceTypeBid: Indicative Uic: 22 - AssetType: FxSpot DisplayAndFormat: Currency: CAD Decimals: 4 Description: British Pound/Canadian Dollar Format: AllowDecimalPips OrderDecimals: 4 Symbol: GBPCAD InstrumentPriceDetails: IsMarketOpen: true ShortTradeDisabled: false ValueDate: '2017-05-19' LastUpdated: '0001-01-01T00:00:00Z' Quote: Amount: 100000 Ask: 1.76278 Bid: 1.76198 DelayedByMinutes: 15 ErrorCode: None Mid: 1.76238 PriceTypeAsk: Indicative PriceTypeBid: Indicative Uic: 23 InstrumentDisplayAndFormat: title: 'Public data contract containing information about the instrument of a position, which is useful for display and formatting.' type: object properties: BarrierDecimals: title: Optional separate display information for option barrier prices type: integer format: int32 example: 99 BarrierFormat: title: Optional separate display information for option barrier prices allOf: - $ref: '#/components/schemas/PriceDisplayFormatType' Currency: title: The ISO currency code of the instrument. type: string example: stringValue Decimals: title: "The resolution in which e.g. a price must be displayed and possibly edited.\n Positive numbers are represents digits, and negative numbers represent fractions using this formula: 1/(2^x)." type: integer description: 'Decimals and DisplayDecimals have the same value. Moving forward, DisplayDecimals will be removed.' format: int32 example: 99 Description: title: 'Description of instrument (DAX Index - Nov 2013), in English.' type: string example: stringValue DisplayHint: title: Hint to the client application about how it should display the instrument. allOf: - $ref: '#/components/schemas/DisplayHintType' Format: title: Format code specifying how price should be formatted. allOf: - $ref: '#/components/schemas/PriceDisplayFormatType' LotSizeText: title: Lot size description of the instrument. Futures only. type: string example: stringValue NumeratorDecimals: title: 'Some fractional prices have decimals in the numerator, e.g. 2.5/32. This is relevant for futures and cfds on futures.' type: integer format: int32 example: 99 OrderDecimals: title: The number of decimals trigger price for orders should be formatted with. type: integer format: int32 example: 99 StrikeDecimals: title: Optional separate display information for option strike prices type: integer format: int32 example: 99 StrikeFormat: title: Optional separate display information for option strike prices allOf: - $ref: '#/components/schemas/PriceDisplayFormatType' Symbol: title: Symbol- A combination of letters used to uniquely identify a traded instrument. e.g. ODAX/X13C8950:xeur. type: string example: stringValue additionalProperties: false example: Currency: USD Decimals: 4 Description: Euro/US Dollar Format: AllowDecimalPips Symbol: EURUSD InstrumentPriceDetails: title: Additional instrument specific price details type: object properties: AccruedInterest: title: 'Accrued Interest. Valid for: Bonds' type: number example: 10 AskYield: title: AskYield are only valid for the bond asset type. type: number example: 10 BidYield: title: BidYield are only valid for the bond asset type. type: number example: 10 CfdBorrowingCost: title: Costs applicable to shorting the CFD. type: number example: 10 CfdHardToFinanceRate: title: A rate relevant for certain long cfd positions type: number example: 10 CfdPriceAdjustment: title: 'Is returned as true when the instrument subscribed for is a CFD and the user is on a special mark-up price configuration. If true, the values in EstPriceBuy and EstPriceSell are relevant (but still only provided given a share price)' type: boolean example: true Dma: title: Trade is routed to trading venue. Trade on quote not allowed. type: boolean example: true EstPriceBuy: title: 'May be returned when the instrument subscribed for is a CFD on a stock and the user is set up to trade on the share price, but pay a markup on top. In that case the EstPriceBuy is the markup paied for an eventual buy order. Not relevant for info prices.' type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' EstPriceSell: title: 'May be returned when the instrument subscribed for is a CFD and the user is set up to trade on the share price, but pay a markup on top. In that case the EstPriceSell is the markup paied for an eventual sell order. Not relevant for info prices.' type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' ExpiryDate: title: 'Expiry date for contract. Valid for: CFD Futures, FxOptions' type: string format: date x-type-name: Date ForwardDateFarLeg: title: The far leg value date. Applicable for FxSwap type: string format: date x-type-name: Date ForwardDateNearLeg: title: The near leg value date. Applicable for FxSwap type: string format: date x-type-name: Date IndexRatio: title: 'IndexRatio, Applicable for inflation linked bond' type: number example: 10 IsMarketOpen: title: Gets or sets a value indicating whether the market on which the instrument is traded is currently open. type: boolean example: true LowerBarrier: title: 'Lower Barrier. Valid for: FX One Touch, No TouchOptions and certian derivatives such as Turbos.' type: number example: 10 MidForwardPrice: title: The mid forward price. type: number example: 10 MidSpotPrice: title: 'The post mid price. Valid for: Fx Options.' type: number example: 10 MidYield: title: MidYield are only valid for the bond asset type. type: number example: 10 NoticeDate: title: Futures only - The date on which the owner may be required to take physical delivery of the instrument commodity. type: string format: date x-type-name: Date OpenInterest: title: The number of currently open contracts (available for contract options and futures) type: number example: 10 PaidCfdInterest: title: A rate representing the interest to be paid when holding a CFD short position overnight. type: number example: 10 PaidSrdInterest: title: A rate representing the interest to be paid when holding a SRD short position overnight. type: number example: 10 ReceivedCfdInterest: title: A rate representing the interest received when with holding a CFD long position overnight. type: number example: 10 ReceivedSrdInterest: title: A rate representing the interest received when with holding a SRD long position overnight. type: number example: 10 ShortTradeDisabled: title: Set to true if short trading is disabled for this instrument. type: boolean example: true SpotAsk: title: 'The spot ask price Valid for: FX Forwards.' type: number example: 10 SpotBid: title: 'The post bid price. Valid for: Fx Forwards.' type: number example: 10 SpotDate: title: The Spot Date. Valid for Fx Forwards. type: string format: date x-type-name: Date SrdLastTradeDate: title: Liquidation/Last Trade Date of the SRD type: string example: stringValue SrdSettlementDate: title: Settlement Date of the SRD type: string example: stringValue StrikePrice: title: Option Strike Price. type: number example: 10 SwapAsk: title: 'Swap rate for ask, Valid for: FxForwards and FxSwap' type: number example: 10 SwapBid: title: 'Swap rate for bid, Valid for: FxForwards and FxSwap' type: number example: 10 UpperBarrier: title: 'Upper Barrier. Valid for: FX One Touch, No TouchOptions and certian derivatives such as Turbos.' type: number example: 10 ValueDate: title: Actual ValueDate (could be different from what was specified in request due to holidays etc.). type: string format: date x-type-name: Date additionalProperties: false example: ExpiryDate: '2017-06-01' IsMarketOpen: true LowerBarrier: -2 MidForwardPrice: 1.71992423552514 ShortTradeDisabled: false SpotAsk: 1.71782 SpotBid: 1.71692 SpotDate: '2017-06-03' StrikePrice: 1.7175 UpperBarrier: 4 ValueDate: '2017-06-05' MarginHandlingType: title: Specifies the behavior of an allocation in case order one or several accounts cannot hold their part of a block trader/order position due to violation of margin requirements. enum: - Reduce - Reject type: string example: Reject x-enum-descriptions: Reject: 'If on margin, reject the entire order rather than doing part allocation.' Reduce: 'If on margin, reduce the order with the amount the account on margin would have received.' MarginImpact: title: The impact on the clients margin if the trade is executed type: object properties: ImpactBuy: title: "Impact on margin if instrument is bought or sold, either Initial/Maintenance margin is filled out, or Margin is filled out,\n depending on if the initial and maintenance are the same." type: number example: 10 ImpactSell: title: Impact on margin if instrument is sold. type: number example: 10 InitialMargin: title: The initial margin to pay if instrument is traded (used only for Contract Futures). type: number example: 10 MaintenanceMargin: title: The maintenance margin to pay if instrument is traded (used only for Contract Futures). type: number example: 10 additionalProperties: false example: ImpactBuy: 23 ImpactSell: 12 InitialMargin: 10 MaintenanceMargin: 5 MarginImpactBuySell: title: The impact on the clients margin if the trade is executed type: object properties: Currency: title: Currency for margin impacts. type: string example: stringValue InitialMarginAvailableBuy: title: The initial margin available if instrument is bought. type: number example: 10 InitialMarginAvailableCurrent: title: The current initial margin available. type: number example: 10 InitialMarginAvailableSell: title: The initial margin available if instrument is sold. type: number example: 10 InitialMarginBuy: title: The initial margin to pay if instrument is bought. type: number example: 10 InitialMarginSell: title: The initial margin to pay if instrument is sold. type: number example: 10 InitialSpendingPower: title: The initial spending power available. type: number example: 10 MaintenanceMarginBuy: title: The maintenance margin to pay if instrument is bought. type: number example: 10 MaintenanceMarginSell: title: The maintenance margin to pay if instrument is sold. type: number example: 10 MaintenanceSpendingPower: title: The maintenance spending power available. type: number example: 10 MarginBuy: title: The margin to pay if instrument is bought. type: number example: 10 MarginSell: title: The margin to pay if instrument is sold. type: number example: 10 SpendingPower: title: The current spending power available. type: number example: 10 deprecated: true additionalProperties: false example: Currency: USD InitialMarginAvailableBuy: 10447 InitialMarginAvailableCurrent: 10470 InitialMarginBuy: 12 MaintenanceMarginBuy: 11 MarketDepth: title: Contains information about the market depth. type: object properties: Ask: title: List of prices of the current offers to sell in the market. type: array items: type: number example: 10 example: - 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' AskOrders: title: List of order counts of the current offers to sell in the market. type: array items: type: number example: 10 example: - 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' AskSize: title: List of amounts of the current offers to sell in the market. type: array items: type: number example: 10 example: - 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' Bid: title: List of prices of the current offers to buy in the market. type: array items: type: number example: 10 example: - 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' BidOrders: title: List of order counts of the current offers to buy in the market. type: array items: type: number example: 10 example: - 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' BidSize: title: List of amounts of the current offers to buy in the market. type: array items: type: number example: 10 example: - 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' NoOfBids: title: Number of current bids on the instrument. type: integer format: int32 example: 99 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' NoOfOffers: title: Number of current offers on the instrument. type: integer format: int32 example: 99 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' UsingOrders: title: Using Orders. type: boolean example: true additionalProperties: false example: Ask: - 1.76671 - 1.76676 - 1.76706 AskOrders: - 0 - 0 - 0 AskSize: - 4000000 - 7000000 - 10000000 Bid: - 1.76591 - 1.76586 - 1.76556 BidOrders: - 0 - 0 - 0 BidSize: - 4000000 - 7000000 - 10000000 NoOfBids: 3 NoOfOffers: 3 UsingOrders: false MarketState: title: Defines the possible states of the Market. enum: - Closed - ClosingAuction - IntraDayAuction - Open - OpeningAuction - PostMarket - PreMarket - TradingAtLast - Unknown type: string example: ClosingAuction x-enum-descriptions: Unknown: Default value. Open: 'Market is open for trades (Automatic Trading, usually).' Closed: Market is closed PreMarket: Market is in Pre Market Auction state PostMarket: Market is in Post Market Auction state IntraDayAuction: "Market is temporary out of normal Trading. In an Auction state This state is\n for Intraday Auction. We have 2 specific states for Opening and Closing Auction" OpeningAuction: "Market is temporary out of normal Trading. This is the Auction that occur before \n the market opens" ClosingAuction: "Market is temporary out of normal Trading. This is the Auction that occur after\n the market closes." TradingAtLast: 'This state is after the Auction has finished, before normal Trading starts.' MessageDisplayType: title: Indicates how a message is to be displayed in UI. Ie how much attention it is to demand. enum: - Default - Popup type: string example: Default x-enum-descriptions: Default: No message render method is set. Popup: Message is to popup suggesting immediate attention ModelStateDictionary: type: object additionalProperties: type: array items: type: string ModifyOptionsChainSubscriptionRequest: title: "The request structure for modifying (or \"scrolling\") the options chain by changing \n the expiries.\n It is also possible to modify the number of strikes per expiry that is to be displayed" type: object properties: Expiries: title: "Expiries are a collection of expiries requested and the window of \n strike-rows for each expiry. \n This allows us to ask explicitly for a certain selection of the total \n set of option chain data. If not provided the service picks the \n 3 first expiries and assume a centered start-index for all expiries.\n Asking for data for an expiry that does not exist or a start index \n higher than the number of strike rows available for that expiry, \n is not exactly an error and I believe it should just lead to no data being returned." type: array items: $ref: '#/components/schemas/RequestExpirySpecification' example: - Index: 99 StrikeStartIndex: 99 MaxStrikesPerExpiry: title: "Signals a request to only get N strike-rows per expiry. Default is 12. \n If no explicit StartIndex is provided, the N rows are assumed to be \n centered on the strike closes to the mid-spot price. I.e. it could be \n for an expiry with 16 strike-rows, a request to show 12 strikes-per-expiry \n means that the start-index for that expiry will be 2, leading the \n strike-rows to be returned to be the [2-13] or [2-14[ range." type: integer format: int32 example: 99 additionalProperties: false example: Expiries: - Index: 99 StrikeStartIndex: 99 MaxStrikesPerExpiry: 99 MultiLegOrderLeg: title: The order default values for a single order leg in a multi-leg order (strategy). type: object properties: Amount: title: Sum volume of positions in instrument. type: number example: 10 AssetType: title: AssetType. allOf: - $ref: '#/components/schemas/AssetType' BuySell: title: Is the option to be bought or sold? allOf: - $ref: '#/components/schemas/BuySell' OptionData: allOf: - $ref: '#/components/schemas/MultiLegOrderOptionData' Uic: title: Instrument identifer for this leg. type: integer format: int32 example: 99 additionalProperties: false example: Amount: 10 AssetType: Etc BuySell: Buy OptionData: ExpiryDate: '2023-04-18T13:30:42.8688433' PutCall: None StrikePrice: 10 Uic: 99 MultiLegOrderLegPriceLegResponse: title: The values for a single order leg in a multi-leg order (options strategy). required: - LegId type: object properties: Amount: title: Sum volume of positions in instrument. type: number example: 10 AssetType: title: AssetType. allOf: - $ref: '#/components/schemas/AssetType' BuySell: title: Is the instrument to be bought or sold? allOf: - $ref: '#/components/schemas/BuySell' Greeks: title: Greeks - only available for options allOf: - $ref: '#/components/schemas/Greeks' InstrumentPriceDetails: title: Instrument Specific Price Details. Contents vary by AssetType allOf: - $ref: '#/components/schemas/InstrumentPriceDetails' LegId: title: Unique identifer for this leg. type: string example: stringValue Quote: title: The quote data. allOf: - $ref: '#/components/schemas/Quote' ToOpenClose: title: Margin impact of leg calculated as to open/increase or close/decrease a position. allOf: - $ref: '#/components/schemas/Public.ToOpenClose' Uic: title: Instrument identifer for this leg. type: integer format: int32 example: 99 additionalProperties: false example: Amount: 10 AssetType: WarrantOpenEndKnockOut BuySell: Sell Greeks: Delta: 1 Gamma: 0 MidVol: 0 Phi: 0 Rho: 0 Theta: -0.0375 Vega: 0 InstrumentPriceDetails: AverageVolume: 12345000 Barrier: 1 ExpiryDate: '2017-06-01' IsMarketOpen: true LowerBarrier: -2 MidForwardPrice: 1.71992423552514 ShortTradeDisabled: false SpotAsk: 1.71782 SpotBid: 1.71692 SpotDate: '2017-06-03' SpreadStrikePriceLower: 11 SpreadStrikePriceUpper: 12 StrikePrice: 1.7175 UpperBarrier: 4 ValueDate: '2017-06-05' LegId: stringValue Quote: Amount: 100000 Ask: 1.0899 Bid: 1.0897 DelayedByMinutes: 15 ErrorCode: None Mid: 1.0898 PriceTypeAsk: Indicative PriceTypeBid: Indicative ToOpenClose: ToClose Uic: 99 MultiLegOrderOptionData: title: Contains option details for a single leg in a multi-leg order. type: object properties: ExpiryDate: title: The suggested option expiry. type: string example: stringValue PutCall: title: Indicates whether the options is a put option or a call option. allOf: - $ref: '#/components/schemas/PutCall' StrikePrice: title: The suggested strike price. type: number example: 10 additionalProperties: false example: ExpiryDate: '2020-12-17T07:43:57.8602003' PutCall: Put StrikePrice: 10 MultiLegOrderStrategyDefault: title: Represents Algo Strategy object type: object properties: Legs: title: List of suggested order legs for this option root and strategy. type: array items: $ref: '#/components/schemas/MultiLegOrderLeg' example: - Amount: 10 AssetType: Etn BuySell: Sell OptionData: ExpiryDate: '2022-11-14T08:37:36.3854586' PutCall: Call StrikePrice: 10 Uic: 99 StrategyType: title: String identification allOf: - $ref: '#/components/schemas/OptionsStrategyType' additionalProperties: false example: Legs: - Amount: 10 AssetType: Etf BuySell: Sell OptionData: ExpiryDate: '2023-03-22T16:40:01.7806301' PutCall: Call StrikePrice: 10 Uic: 99 StrategyType: Custom MultiLegPriceFieldGroups: title: Specification of fieldsets to include in results. enum: - Commissions - DisplayAndFormat - Greeks - InstrumentPriceDetails - MarginImpactBuySell - Quote type: string example: InstrumentPriceDetails x-enum-descriptions: Quote: Quote data fields are returned in results. InstrumentPriceDetails: Fields related to the asset type are returned in results. Commissions: Commission fields are returned in results. Greeks: Greeks are returned in results. MarginImpactBuySell: Margin impact fields are returned in results. DisplayAndFormat: Display and Format (not mapped to a QTE strategy) x-type-warning: FlaggableEnum MultiLegPriceRequest: title: 'Represents a request for a number of instrument to be priced as one, for later placement as single order.' required: - Legs type: object properties: AccountKey: title: "Unique key identifying the account used in retrieving the price.\n Only required when calling context represents an authenticated user." minLength: 1 type: string x-type-name: AccountKey FieldGroups: title: Specification of fields to return in results type: array items: $ref: '#/components/schemas/MultiLegPriceFieldGroups' example: - Commissions Legs: title: List of each desired legs in a multi-leg order/options strategy. type: array items: $ref: '#/components/schemas/MultiLegStrategyLegRequest' example: - Amount: 10 AssetType: MiniFuture BuySell: Sell OrderContext: { } ToOpenClose: ToClose Uic: 99 additionalProperties: false example: AccountKey: 01b64edf-da03-4145-bf33-ae21527d4c86 FieldGroups: - Quote Legs: - Amount: 10 AssetType: Warrant BuySell: Sell OrderContext: { } ToOpenClose: Undefined Uic: 99 MultiLegPriceResponse: title: Public contract providing the price for a multi-leg strategy. type: object properties: BuySell: title: Indicates if the multi-leg strategy to be considered a net Buy or Sell. Please use this value when placing an order. allOf: - $ref: '#/components/schemas/BuySell' Commissions: title: The commissions allOf: - $ref: '#/components/schemas/Commissions' Greeks: title: Greeks - only available for options allOf: - $ref: '#/components/schemas/Greeks' InstrumentPriceDetails: title: Instrument Specific Price Details. Contents vary by AssetType allOf: - $ref: '#/components/schemas/InstrumentPriceDetails' LastUpdated: title: Time of last price update type: string format: date-time x-type-name: UtcDateTime Legs: title: Prices details for each leg of a multi-legs instrument/order. type: array items: $ref: '#/components/schemas/MultiLegOrderLegPriceLegResponse' example: - Amount: 10 AssetType: WarrantDoubleKnockOut BuySell: Buy Greeks: Delta: 1 Gamma: 0 MidVol: 0 Phi: 0 Rho: 0 Theta: -0.0375 Vega: 0 InstrumentPriceDetails: AverageVolume: 12345000 Barrier: 1 ExpiryDate: '2017-06-01' IsMarketOpen: true LowerBarrier: -2 MidForwardPrice: 1.71992423552514 ShortTradeDisabled: false SpotAsk: 1.71782 SpotBid: 1.71692 SpotDate: '2017-06-03' SpreadStrikePriceLower: 11 SpreadStrikePriceUpper: 12 StrikePrice: 1.7175 UpperBarrier: 4 ValueDate: '2017-06-05' LegId: stringValue Quote: Amount: 100000 Ask: 1.0899 Bid: 1.0897 DelayedByMinutes: 15 ErrorCode: None Mid: 1.0898 PriceTypeAsk: Indicative PriceTypeBid: Indicative ToOpenClose: Undefined Uic: 99 MarginImpactBuySell: title: The margin impact with currency and values for both buy and sell. allOf: - $ref: '#/components/schemas/MarginImpactBuySell' MarketState: title: The market state of exchange. allOf: - $ref: '#/components/schemas/MarketState' PriceSource: title: The source for the price information type: string example: stringValue Quote: title: The quote data. allOf: - $ref: '#/components/schemas/Quote' StrategyType: title: 'If non-custom multi-leg strategy, this is the common exchange traded options strategy name.' allOf: - $ref: '#/components/schemas/OptionsStrategyType' additionalProperties: false example: BuySell: Sell Commissions: CostBuy: 0 CostIpoCashSubscription: 0 CostIpoSubscription: 0 CostSell: 0 Greeks: Delta: 1 Gamma: 0 MidVol: 0 Phi: 0 Rho: 0 Theta: -0.0375 Vega: 0 InstrumentPriceDetails: AverageVolume: 12345000 Barrier: 1 ExpiryDate: '2017-06-01' IsMarketOpen: true LowerBarrier: -2 MidForwardPrice: 1.71992423552514 ShortTradeDisabled: false SpotAsk: 1.71782 SpotBid: 1.71692 SpotDate: '2017-06-03' SpreadStrikePriceLower: 11 SpreadStrikePriceUpper: 12 StrikePrice: 1.7175 UpperBarrier: 4 ValueDate: '2017-06-05' LastUpdated: '9999-12-31T23:59:59.9999990+00:00' Legs: - Amount: 10 AssetType: WarrantKnockOut BuySell: Buy Greeks: Delta: 1 Gamma: 0 MidVol: 0 Phi: 0 Rho: 0 Theta: -0.0375 Vega: 0 InstrumentPriceDetails: AverageVolume: 12345000 Barrier: 1 ExpiryDate: '2017-06-01' IsMarketOpen: true LowerBarrier: -2 MidForwardPrice: 1.71992423552514 ShortTradeDisabled: false SpotAsk: 1.71782 SpotBid: 1.71692 SpotDate: '2017-06-03' SpreadStrikePriceLower: 11 SpreadStrikePriceUpper: 12 StrikePrice: 1.7175 UpperBarrier: 4 ValueDate: '2017-06-05' LegId: stringValue Quote: Amount: 100000 Ask: 1.0899 Bid: 1.0897 DelayedByMinutes: 15 ErrorCode: None Mid: 1.0898 PriceTypeAsk: Indicative PriceTypeBid: Indicative ToOpenClose: ToOpen Uic: 99 MarginImpactBuySell: Currency: USD InitialMarginAvailableBuy: 10447 InitialMarginAvailableCurrent: 10470 InitialMarginBuy: 12 MaintenanceMarginBuy: 11 MarketState: TradingAtLast PriceSource: stringValue Quote: Amount: 100000 Ask: 1.0899 Bid: 1.0897 DelayedByMinutes: 15 ErrorCode: None Mid: 1.0898 PriceTypeAsk: Indicative PriceTypeBid: Indicative StrategyType: BackRatio MultiLegPriceResponseDomainEvent: type: object properties: Data: title: 'The type of data transported by the DomainEvent instance (e.g. price update, position list update etc.).' allOf: - $ref: '#/components/schemas/MultiLegPriceResponse' PartitionNumber: title: The partition number if this DomainEvent is a partition. type: integer format: int32 example: 99 ReferenceId: title: 'Client specified id, which is sent back to the client with every data update.' type: string example: stringValue Timestamp: title: The UTC date and time of the event. type: string format: date-time x-type-name: UtcDateTime TotalPartitions: title: The total number of partitions if this DomainEvent is a partition. type: integer format: int32 example: 99 additionalProperties: false example: MultiLegPriceSubscriptionRequest: title: Type used for requesting MultiLegPriceSubscriptions. required: - Arguments - 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/MultiLegPriceRequest' 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: AccountKey: 01b64edf-da03-4145-bf33-ae21527d4c86 FieldGroups: - MarginImpactBuySell Legs: - Amount: 10 AssetType: CertificateCappedCapitalProtected BuySell: Sell OrderContext: { } ToOpenClose: ToClose Uic: 99 ContextId: '-' Format: stringValue ReferenceId: '-' RefreshRate: 117 ReplaceReferenceId: '-' Tag: stringValue MultiLegPriceSubscriptionResponse: title: Reponse object for multi-leg price subscriptions. 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/MultiLegPriceResponse' 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: stringValue Format: stringValue InactivityTimeout: 99 ReferenceId: stringValue RefreshRate: 99 Snapshot: BuySell: Sell Commissions: CostBuy: 0 CostIpoCashSubscription: 0 CostIpoSubscription: 0 CostSell: 0 Greeks: Delta: 1 Gamma: 0 MidVol: 0 Phi: 0 Rho: 0 Theta: -0.0375 Vega: 0 InstrumentPriceDetails: AverageVolume: 12345000 Barrier: 1 ExpiryDate: '2017-06-01' IsMarketOpen: true LowerBarrier: -2 MidForwardPrice: 1.71992423552514 ShortTradeDisabled: false SpotAsk: 1.71782 SpotBid: 1.71692 SpotDate: '2017-06-03' SpreadStrikePriceLower: 11 SpreadStrikePriceUpper: 12 StrikePrice: 1.7175 UpperBarrier: 4 ValueDate: '2017-06-05' LastUpdated: '9999-12-31T23:59:59.999999Z' Legs: - Amount: 10 AssetType: CertificateCappedOutperformance BuySell: Buy Greeks: Delta: 1 Gamma: 0 MidVol: 0 Phi: 0 Rho: 0 Theta: -0.0375 Vega: 0 InstrumentPriceDetails: AverageVolume: 12345000 Barrier: 1 ExpiryDate: '2017-06-01' IsMarketOpen: true LowerBarrier: -2 MidForwardPrice: 1.71992423552514 ShortTradeDisabled: false SpotAsk: 1.71782 SpotBid: 1.71692 SpotDate: '2017-06-03' SpreadStrikePriceLower: 11 SpreadStrikePriceUpper: 12 StrikePrice: 1.7175 UpperBarrier: 4 ValueDate: '2017-06-05' LegId: stringValue Quote: Amount: 100000 Ask: 1.0899 Bid: 1.0897 DelayedByMinutes: 15 ErrorCode: None Mid: 1.0898 PriceTypeAsk: Indicative PriceTypeBid: Indicative ToOpenClose: ToOpen Uic: 99 MarginImpactBuySell: Currency: USD InitialMarginAvailableBuy: 10447 InitialMarginAvailableCurrent: 10470 InitialMarginBuy: 12 MaintenanceMarginBuy: 11 MarketState: Open PriceSource: stringValue Quote: Amount: 100000 Ask: 1.0899 Bid: 1.0897 DelayedByMinutes: 15 ErrorCode: None Mid: 1.0898 PriceTypeAsk: Indicative PriceTypeBid: Indicative StrategyType: Condor State: Active Tag: stringValue MultiLegStrategyLegRequest: title: The values for a single order leg in a multi-leg order (options strategy). type: object properties: Amount: title: Sum volume of positions in instrument. type: number example: 10 AssetType: title: AssetType. allOf: - $ref: '#/components/schemas/AssetType' BuySell: title: Is the option to be bought or sold? allOf: - $ref: '#/components/schemas/BuySell' OrderContext: title: Saxo Specific Order Context allOf: - $ref: '#/components/schemas/Object' ToOpenClose: title: Whether the margin impact should be calculated as to open/increase or close/decrease a position. allOf: - $ref: '#/components/schemas/Public.ToOpenClose' Uic: title: Instrument identifer for this leg. type: integer format: int32 example: 99 additionalProperties: false example: Amount: 10 AssetType: CfdFutureOption BuySell: Buy OrderContext: { } ToOpenClose: ToOpen Uic: 99 Object: type: object additionalProperties: false OptionSideFxBinary: title: Representation of the fields in a "side" of a Fx Binary Option strike. type: object properties: Ask: title: Ask price type: number example: 10 Bid: title: Bid price type: number example: 10 ContractId: title: "Contract ID\n Only returned for Fx Vanilla and Fx Binary Options" type: integer format: int32 example: 99 DeltaPct: title: "The delta%\n Only returned for Fx Vanilla and Fx Binary Options" type: number example: 10 Net: title: "The Net amount\n Only returned for Fx Vanilla and Fx Binary Options" type: number example: 10 PriceTypeAsk: title: Ask price type allOf: - $ref: '#/components/schemas/PriceType' PriceTypeBid: title: Bid price type allOf: - $ref: '#/components/schemas/PriceType' additionalProperties: false example: Ask: 10 Bid: 10 ContractId: 99 DeltaPct: 10 Net: 10 PriceTypeAsk: Tradable PriceTypeBid: Indicative OptionSidePutCall: title: 'Base class for any side of an option: Put/Call for ETOs or Put/Call for Vanilla FXO' type: object properties: Ask: title: Ask price type: number example: 10 AskSize: title: "Ask size\n Only returned for ETOs" type: number example: 10 Bid: title: Bid price type: number example: 10 BidSize: title: "Bid size\n Only returned for ETOs" type: number example: 10 Close: title: "Close price\n Only returned for ETOs" type: number example: 10 ContractId: title: "Contract ID\n Only returned for Fx Vanilla and Fx Binary Options" type: integer format: int32 example: 99 DeltaPct: title: "The delta%\n Only returned for Fx Vanilla and Fx Binary Options" type: number example: 10 Greeks: title: 'Greeks and volatility data, for the ETOs that support them' allOf: - $ref: '#/components/schemas/ContractOptionsGreeks' High: title: "High price.\n Only returned for ETOs" type: number example: 10 LastClose: title: "Last close price\n Only returned for ETOs" type: number example: 10 LastTraded: title: "Last traded price\n Only returned for ETOs" type: number example: 10 Low: title: "Low price\n Only returned for ETOs" type: number example: 10 Net: title: "The Net amount\n Only returned for Fx Vanilla and Fx Binary Options" type: number example: 10 NetChange: title: "The Net change\n Only returned for ETOs" type: number example: 10 Open: title: "Open price\n Only returned for ETOs" type: number example: 10 OpenInterest: title: "Open Interest\n Only returned for ETOs" type: number example: 10 PriceTypeAsk: title: Ask price type allOf: - $ref: '#/components/schemas/PriceType' PriceTypeBid: title: Bid price type allOf: - $ref: '#/components/schemas/PriceType' Uic: title: The UIC of the option represented by this side type: integer format: int32 example: 99 Volume: title: "Trading volume\n Only returned for ETOs" type: number example: 10 additionalProperties: false example: Ask: 10 AskSize: 10 Bid: 10 BidSize: 10 Close: 10 ContractId: 99 DeltaPct: 10 Greeks: AskVolatility: 10 BidVolatility: 10 Delta: 10 Gamma: 10 MidVolatility: 10 Rho: 10 TheoreticalPrice: 10 Theta: 10 Vega: 10 High: 10 LastClose: 10 LastTraded: 10 Low: 10 Net: 10 NetChange: 10 Open: 10 OpenInterest: 10 PriceTypeAsk: NoAccess PriceTypeBid: None Uic: 99 Volume: 10 OptionsChainRequest: title: Represents a request for an options chain in the API. required: - AssetType - Identifier type: object properties: AccountKey: title: "Unique key identifying the account used in retrieving the price.\n Only required when calling context represents an authenticated user." minLength: 1 type: string x-type-name: AccountKey Amount: title: 'Order size, defaults to minimal order size for given instrument.' type: number example: 10 AssetType: title: The instrument's asset type allOf: - $ref: '#/components/schemas/AssetType' Expiries: title: "Expiries are a collection of expiries requested and the window of \n strike-rows for each expiry. \n This allows us to ask explicitly for a certain selection of the total \n set of option chain data. If not provided the service picks the \n 3 first expiries and assume a centered start-index for all expiries.\n Asking for data for an expiry that does not exist or a start index \n higher than the number of strike rows available for that expiry, \n is not exactly an error and I believe it should just lead to no data being returned." type: array items: $ref: '#/components/schemas/RequestExpirySpecification' example: - Index: 99 StrikeStartIndex: 99 Identifier: title: 'The instrument''s identifier (UIC for FX, option root id for Contract Options)' type: integer format: int32 example: 99 MaxStrikesPerExpiry: title: "Signals a request to only get N strike-rows per expiry. Default is 12. \n If no explicit StartIndex is provided, the N rows are assumed to be \n centered on the strike closes to the mid-spot price. I.e. it could be \n for an expiry with 16 strike-rows, a request to show 12 strikes-per-expiry \n means that the start-index for that expiry will be 2, leading the \n strike-rows to be returned to be the [2-13] or [2-14[ range." type: integer format: int32 example: 99 additionalProperties: false example: AccountKey: 01b64edf-da03-4145-bf33-ae21527d4c86 Amount: 10 AssetType: FxSwap Expiries: - Index: 99 StrikeStartIndex: 99 Identifier: 99 MaxStrikesPerExpiry: 99 OptionsChainResponse: title: "Response representing a full Options Chain view. The contents of the response varies with the type of option: ETOs, FxVanilla \n and FxBinary options each have their own variations. This is mainly in the Expiries and Strikes that the variations occur." type: object properties: AssetType: title: "AssetType of the response.\n This is added to aid the client in parsing the quite different types of option chain data." allOf: - $ref: '#/components/schemas/AssetType' Expiries: title: "The list of expiries.\n All expiries of a given option are returned (in the initial response), but will only contain \n strike-data for the specified expiries & options." type: array items: $ref: '#/components/schemas/ExpiryData' example: - DisplayDate: '0001-01-01' DisplayDaysToExpiry: 30 Expiry: '2017-05-31T11:10:00Z' Index: 0 LastTradeDate: '0201-05-31T21:00:00Z' MidStrikePrice: 0 StrikeCount: 50 Strikes: - Index: 0 Strike: 97.25 - Index: 1 Strike: 97.375 - Index: 2 Strike: 97.5 - Index: 3 Strike: 97.625 - Index: 4 Strike: 97.75 - Index: 5 Strike: 97.8125 - Index: 6 Strike: 97.875 - Index: 7 Strike: 97.9375 - Index: 8 Strike: 98 - Index: 9 Strike: 98.0625 - Index: 10 Strike: 98.125 - Index: 11 Strike: 98.1875 - Index: 12 Strike: 98.25 - Index: 13 Strike: 98.3125 - Index: 14 Strike: 98.375 - Index: 15 Strike: 98.4375 - Index: 16 Strike: 98.5 - Index: 17 Strike: 98.5625 - Index: 18 Strike: 98.625 - Index: 19 Strike: 98.6875 - Index: 20 Strike: 98.75 - Index: 21 Strike: 98.8125 - Index: 22 Strike: 98.875 - Index: 23 Strike: 98.9375 - Call: High: 0 LastClose: 0.095 LastTraded: 0 Low: 0 NetChange: -0.095 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485090 Volume: 0 Index: 24 Put: High: 0 LastClose: 0 LastTraded: 0 Low: 0 NetChange: 0 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485130 Volume: 0 Strike: 99 - Call: High: 0 LastClose: 0.035 LastTraded: 0 Low: 0 NetChange: -0.035 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485091 Volume: 0 Index: 25 Put: High: 0 LastClose: 0.0025 LastTraded: 0 Low: 0 NetChange: -0.0025 Open: 0 OpenInterest: 250 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485131 Volume: 0 Strike: 99.0625 - Call: High: 0 LastClose: 0.0025 LastTraded: 0 Low: 0 NetChange: -0.0025 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485092 Volume: 0 Index: 26 Put: High: 0 LastClose: 0.0325 LastTraded: 0 Low: 0 NetChange: -0.0325 Open: 0 OpenInterest: 250 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485132 Volume: 0 Strike: 99.125 - Index: 27 Strike: 99.1875 - Index: 28 Strike: 99.25 - Index: 29 Strike: 99.3125 - Index: 30 Strike: 99.375 - Index: 31 Strike: 99.4375 - Index: 32 Strike: 99.5 - Index: 33 Strike: 99.5625 - Index: 34 Strike: 99.625 - Index: 35 Strike: 99.6875 - Index: 36 Strike: 99.75 - Index: 37 Strike: 99.8125 - Index: 38 Strike: 99.875 - Index: 39 Strike: 99.9375 - Index: 40 Strike: 100 - Index: 41 Strike: 100.0625 - Index: 42 Strike: 100.125 - Index: 43 Strike: 100.1875 - Index: 44 Strike: 100.25 - Index: 45 Strike: 100.375 - Index: 46 Strike: 100.5 - Index: 47 Strike: 100.625 - Index: 48 Strike: 100.75 - Index: 49 Strike: 100.875 StrikeWindowStartIndex: 24 UnderlyingUic: 2456777 ExpiryCount: title: Total number of expiries for the options chain type: integer format: int32 example: 99 LastUpdated: title: Date and time for last update of the Options Chain represented by this response. type: string format: date-time x-type-name: UtcDateTime additionalProperties: false example: OptionsChainResponseDomainEvent: type: object properties: Data: title: 'The type of data transported by the DomainEvent instance (e.g. price update, position list update etc.).' allOf: - $ref: '#/components/schemas/OptionsChainResponse' PartitionNumber: title: The partition number if this DomainEvent is a partition. type: integer format: int32 example: 99 ReferenceId: title: 'Client specified id, which is sent back to the client with every data update.' type: string example: stringValue Timestamp: title: The UTC date and time of the event. type: string format: date-time x-type-name: UtcDateTime TotalPartitions: title: The total number of partitions if this DomainEvent is a partition. type: integer format: int32 example: 99 additionalProperties: false example: OptionsChainSubscriptionRequest: title: Type used for requesting options chain subscriptions. required: - Arguments - 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/OptionsChainRequest' 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: AccountKey: LZTc7DdejXODf-WSl2aCyQ== AssetType: StockIndexOption Expiries: - Index: 1 StrikeStartIndex: 0 Identifier: 18 MaxStrikesPerExpiry: 3 ContextId: '20221030063404760' ReferenceId: C0142897 RefreshRate: 1000 OptionsChainSubscriptionResponse: 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/OptionsChainResponse' 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: '20221030063404760' InactivityTimeout: 60 ReferenceId: C0142897 RefreshRate: 1000 Snapshot: AssetType: StockIndexOption Expiries: - DisplayDate: '0001-01-01' DisplayDaysToExpiry: 30 Expiry: '2017-05-31T11:10:00Z' Index: 0 LastTradeDate: '0201-05-31T21:00:00Z' MidStrikePrice: 0 StrikeCount: 50 Strikes: - Index: 0 Strike: 97.25 - Index: 1 Strike: 97.375 - Index: 2 Strike: 97.5 - Index: 3 Strike: 97.625 - Index: 4 Strike: 97.75 - Index: 5 Strike: 97.8125 - Index: 6 Strike: 97.875 - Index: 7 Strike: 97.9375 - Index: 8 Strike: 98 - Index: 9 Strike: 98.0625 - Index: 10 Strike: 98.125 - Index: 11 Strike: 98.1875 - Index: 12 Strike: 98.25 - Index: 13 Strike: 98.3125 - Index: 14 Strike: 98.375 - Index: 15 Strike: 98.4375 - Index: 16 Strike: 98.5 - Index: 17 Strike: 98.5625 - Index: 18 Strike: 98.625 - Index: 19 Strike: 98.6875 - Index: 20 Strike: 98.75 - Index: 21 Strike: 98.8125 - Index: 22 Strike: 98.875 - Index: 23 Strike: 98.9375 - Call: High: 0 LastClose: 0.095 LastTraded: 0 Low: 0 NetChange: -0.095 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485090 Volume: 0 Index: 24 Put: High: 0 LastClose: 0 LastTraded: 0 Low: 0 NetChange: 0 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485130 Volume: 0 Strike: 99 - Call: High: 0 LastClose: 0.035 LastTraded: 0 Low: 0 NetChange: -0.035 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485091 Volume: 0 Index: 25 Put: High: 0 LastClose: 0.0025 LastTraded: 0 Low: 0 NetChange: -0.0025 Open: 0 OpenInterest: 250 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485131 Volume: 0 Strike: 99.0625 - Call: High: 0 LastClose: 0.0025 LastTraded: 0 Low: 0 NetChange: -0.0025 Open: 0 OpenInterest: 0 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485092 Volume: 0 Index: 26 Put: High: 0 LastClose: 0.0325 LastTraded: 0 Low: 0 NetChange: -0.0325 Open: 0 OpenInterest: 250 PriceTypeAsk: NoMarket PriceTypeBid: NoMarket Uic: 2485132 Volume: 0 Strike: 99.125 - Index: 27 Strike: 99.1875 - Index: 28 Strike: 99.25 - Index: 29 Strike: 99.3125 - Index: 30 Strike: 99.375 - Index: 31 Strike: 99.4375 - Index: 32 Strike: 99.5 - Index: 33 Strike: 99.5625 - Index: 34 Strike: 99.625 - Index: 35 Strike: 99.6875 - Index: 36 Strike: 99.75 - Index: 37 Strike: 99.8125 - Index: 38 Strike: 99.875 - Index: 39 Strike: 99.9375 - Index: 40 Strike: 100 - Index: 41 Strike: 100.0625 - Index: 42 Strike: 100.125 - Index: 43 Strike: 100.1875 - Index: 44 Strike: 100.25 - Index: 45 Strike: 100.375 - Index: 46 Strike: 100.5 - Index: 47 Strike: 100.625 - Index: 48 Strike: 100.75 - Index: 49 Strike: 100.875 StrikeWindowStartIndex: 24 UnderlyingUic: 2456777 ExpiryCount: 0 LastUpdated: '0001-01-01T00:00:00Z' State: Active OptionsStrategyType: title: Common exchange traded options strategies. enum: - BackRatio - Butterfly - CalendarSpread - Combo - Condor - Custom - Diagonal - Gut - IronButterfly - IronCondor - RiskReversal - Straddle - Strangle - Synthetic - Vertical type: string example: Synthetic x-enum-descriptions: Custom: User defined custom strategy. Vertical: 'A vertical spread has two legs. One is buy and one is sell with same expiration date, but with different strike prices.' BackRatio: 'Consists of two options, of same type and expiry, but with different amounts and strike prices.' Diagonal: 'A diagonal spread is two options of the same type, one buy and one sell, but with different expiry times and different strike prices. Essentially a combination of a Vertical and Calendar spread.' Condor: 'A condor strategy leverages four options with same expiry. A buy and a sell in the money, and a buy and a sell out of the money. Can also be characterized as two call spreads.' Butterfly: 'Non directional strategy that combines legs of same expiry, but with varying amounts and strike prices.' IronButterfly: Two overlapping vertical spreads. One of the verticals is on the call side and one is on the put side. IronCondor: A combined put and call spread with same expiration but varying different strikes. Straddle: 'A position in both a call and a put with the same underlier, strike price and maturity expiration date' Strangle: A position in both a call and put with different strike prices but with the same maturity and underlier RiskReversal: 'One leg is an OTM put, the other leg is an OTM call.' CalendarSpread: 'A calendar spread is a long-short position is two calls or two puts. Both options have the same strike, but they have different expirations.' Gut: 'Buy a call and then buy a put at a higher strike price, Sell a call and then sell a put at higher strike price. 1:1 ratio' Synthetic: 'Buy a call, sell a put at the same strike. Sell a call, buy a put at the same strike. 1:1 ratio' Combo: 'Sell call, buy put at lower strike. Buy call, Sell put at lower strike (1:1 ratio).' Order: title: Info about cancellation of an order. type: object properties: ErrorInfo: title: Contains error info when cancel of order failed. allOf: - $ref: '#/components/schemas/StringErrorResponse' MultiLegOrderId: title: Unique identifier for the multi-leg order.Same for all legs. type: string example: stringValue OrderId: title: Id of order. type: string example: stringValue additionalProperties: false example: ErrorInfo: ErrorCode: Unknown Message: Order request rejected OrderAmountType: title: Indicates if the order Amount is specified as an absolute amount of lots/shares/contracts or as a currency value. enum: - CashAmount - Quantity type: string example: Quantity x-enum-descriptions: Quantity: Default. Order Amount is specified as an amount of lots/shares/contracts. CashAmount: Order amount is specified as a monetary value. OrderApprovalState: title: Order Approval State enum: - ApprovalRequested - Approved - CancelRequested - Initial - None - ReadyForApproval type: string example: ReadyForApproval x-enum-descriptions: None: None. Initial: Initial order state when order is parked. ReadyForApproval: Order is ready for approval. ApprovalRequested: Order approval is requested. Approved: Order approved. CancelRequested: Order cancellation is requested. OrderDuration: title: "The time frame during which the order is valid.\n If the DurationType is GoodTillDate, then an ExpirationDateTime must also be provided." required: - DurationType type: object properties: DurationType: title: The order duration type. allOf: - $ref: '#/components/schemas/OrderDurationType' ExpirationDate: title: 'Obsolete. The expiration date, should only be set if the duration type is GoodTillDate. This field will be removed from OpenAPI on or after November 1, 2022. Use ExpirationDateTime instead.' type: string format: date-time deprecated: true x-deprecated-date: '2022-11-01' x-type-name: UtcDateTime ExpirationDateContainsTime: title: 'The value indicating whether the ExpirationDateTime field contains the time. Notice, that the value can only be true for GoodTillDate duration type and the time must be provided in the ExpirationDateTime.' type: boolean example: true ExpirationDateTime: title: "The expiration date (and optionally exchange time). This field should only be set if the duration type is GoodTillDate.\n If the field contains the time, it must always be expressed in the exchange local time and the ExpirationDateContainsTime property must be set to true. \n Time zone indication must never be added. The time part should be in the following format:\n HH:mm, where HH is 24 hour clock. Seconds and milliseconds are rejected if set to a value other than 0." type: string example: stringValue ExpiryTimeOnExchange: title: "Obsolete. Expiry time for GoodTillDate order, Format can be \"HH:mm, where HH is 24 hour clock.\".\n The field has been obsoleted and should not be used. To specify the time, set the ExpirationDateContainsTime to True and use ExpirationDateTime to pass a date and time." type: string example: stringValue deprecated: true x-deprecated-date: '2022-11-01' additionalProperties: false example: DurationType: GoodTillDate ExpirationDateContainsTime: true ExpirationDateTime: '2022-11-09T14:00:00' OrderDurationType: title: An enum describing the different order duration types available for the order type. enum: - AtTheClose - AtTheOpening - DayOrder - FillOrKill - GoodForPeriod - GoodTillCancel - GoodTillDate - ImmediateOrCancel type: string example: AtTheClose x-enum-descriptions: AtTheClose: At the close of the trading session. AtTheOpening: At the opening of the trading session. DayOrder: Day Order - Valid for the trading session. FillOrKill: Fill or Kill order. GoodForPeriod: Good for Period. GoodTillCancel: Good till Cancel. GoodTillDate: Good till Date - Expiration Date must also be specified. ImmediateOrCancel: Immediate or Cancel Order. OrderLeg: title: Represents a single leg/order in the strategy or batch. type: object properties: Amount: title: Order size. type: number example: 10 AssetType: title: The Instruments AssetType. allOf: - $ref: '#/components/schemas/AssetType' BuySell: title: The direction of the order; buy or sell. allOf: - $ref: '#/components/schemas/Domain.BuySell' ToOpenClose: title: Whether the order should be created to open/increase or close/decrease a position. (Only relevant for options) allOf: - $ref: '#/components/schemas/ToOpenClose' Uic: title: Unique id of the instrument to place the order for. type: integer format: int32 example: 99 additionalProperties: false example: Amount: 10 AssetType: CfdOnEtc BuySell: Sell ToOpenClose: ToOpen Uic: 99 Orders.Domain.RelatedOrOcoOrder: title: Response for related or OCO order. type: object properties: Cost: title: Expected cost of executing the order. allOf: - $ref: '#/components/schemas/CostData' CostInAccountCurrency: title: Expected cost of executing the order in account currency. allOf: - $ref: '#/components/schemas/CostData' ErrorInfo: title: Contains error info when placement of order failed. allOf: - $ref: '#/components/schemas/StringErrorResponse' EstimatedCashRequired: title: Estimated cash required. type: number example: 10 EstimatedCashRequiredCurrency: title: Estimated cash required currency. type: string example: stringValue EstimatedTotalCost: title: Expected total cost of executing the order in instrument currency. type: number example: 10 EstimatedTotalCostInAccountCurrency: title: Estimated total cost currency. type: number example: 10 ExternalReference: title: Optional reference supplied when placing the order. Max. 50 characters. type: string example: stringValue InstrumentToAccountConversionRate: title: Rate used to convert from instrument currency to the account currency. type: number example: 10 MarginImpactBuySell: title: 'Expected Margin Impact, including initial, maintenance and currency.' allOf: - $ref: '#/components/schemas/MarginImpactBuySell' additionalProperties: false example: Cost: Commission: 1000 ExchangeFee: 0 GuaranteedStopFee: 0 StampDuty: 0 CostInAccountCurrency: Commission: 1000 ExchangeFee: 0 GuaranteedStopFee: 0 StampDuty: 0 ErrorInfo: ErrorCode: stringValue Message: stringValue EstimatedCashRequired: 10 EstimatedCashRequiredCurrency: stringValue EstimatedTotalCost: 10 EstimatedTotalCostInAccountCurrency: 10 ExternalReference: stringValue InstrumentToAccountConversionRate: 10 MarginImpactBuySell: Currency: USD InitialMarginAvailableBuy: 10447 InitialMarginAvailableCurrent: 10470 InitialMarginBuy: 12 MaintenanceMarginBuy: 11 Orders.RelatedOrOcoOrder: title: A change to a related or OCO order. type: object properties: AccountKey: title: Unique key identifying the account. minLength: 1 type: string x-type-name: AccountKey Amount: title: Order size. type: number example: 10 AssetType: title: The Instruments AssetType. allOf: - $ref: '#/components/schemas/AssetType' IsForceOpen: title: 'If true, the order''s resulting position will only be netted with positions in the opposite direction when explicitly closed.' type: boolean example: true OrderDuration: title: The Order Duration. allOf: - $ref: '#/components/schemas/OrderDuration' OrderId: title: Id of order to change. type: string example: stringValue OrderPrice: title: Order Price. Optional for market orders. type: number example: 10 OrderType: title: The Order Type. allOf: - $ref: '#/components/schemas/PlaceableOrderType' StopLimitPrice: title: Stop limit price for Stop Limit order. type: number example: 10 TrailingStopDistanceToMarket: title: Distance to market for a trailing stop order. type: number example: 10 TrailingStopStep: title: Step size for trailing stop order. type: number example: 10 additionalProperties: false example: AccountKey: 01b64edf-da03-4145-bf33-ae21527d4c86 Amount: 10 AssetType: MutualFund IsForceOpen: false OrderDuration: DurationType: GoodTillDate ExpirationDateContainsTime: true ExpirationDateTime: '2022-11-09T14:00:00' OrderId: stringValue OrderPrice: 10 OrderType: TraspasoIn StopLimitPrice: 10 TrailingStopDistanceToMarket: 10 TrailingStopStep: 10 PlaceMultiLegStrategyOrderRequest: title: Request contract for placing an multi-leg strategy order. required: - OrderType - Legs type: object properties: AccountKey: title: Unique key identifying the account to place the order on. minLength: 1 type: string x-type-name: AccountKey ExternalReference: title: "Optional reference from the client app, to correlate orders with Saxo Bank issues order IDs.\n Maximum length: 50 characters. The order will be rejected if the reference is too long.\n This reference doesn’t have to be unique." type: string example: stringValue Legs: title: List of orders in the batch that are to be filled symmetrically. type: array items: $ref: '#/components/schemas/OrderLeg' example: - Amount: 10 AssetType: CfdOnEtn BuySell: Buy ToOpenClose: ToClose Uic: 99 ManualOrder: title: Optional indicator for whether order is placed automatically or manually. type: boolean example: true OrderDuration: title: The Order Duration. allOf: - $ref: '#/components/schemas/OrderDuration' OrderPrice: title: Order Price. Optional for market orders. type: number example: 10 OrderType: title: Order type. allOf: - $ref: '#/components/schemas/PlaceableOrderType' TraderId: title: 'Trader Id, Used only if the application is configured for supporting it with length of 2-16 chars.' type: string example: stringValue additionalProperties: false example: AccountKey: 01b64edf-da03-4145-bf33-ae21527d4c86 ExternalReference: stringValue Legs: - Amount: 10 AssetType: CfdOnRights BuySell: Buy ToOpenClose: ToOpen Uic: 99 ManualOrder: true OrderDuration: DurationType: GoodTillDate ExpirationDateContainsTime: true ExpirationDateTime: '2022-11-09T14:00:00' OrderPrice: 10 OrderType: TriggerBreakout TraderId: stringValue PlaceOrderRequest: title: Request contract for "Place order" type: object properties: AccountKey: title: Unique key identifying the account to place the order on. minLength: 1 type: string x-type-name: AccountKey AlgoOrderData: title: 'Specification of StrategyName and parameters for AlgoOrders. Note: AlgoOrders are only supported on the live system.' allOf: - $ref: '#/components/schemas/AlgorithmicOrderData' AllocationKeyId: title: Set AllocationKey if block trade on IB account. type: string example: stringValue Amount: title: Order size. type: number example: 10 AmountType: title: "Indicates if the order Amount is specified as lots/shares/contracts or as a monetary purchase amount in instrument currency. If CurrencyAmount, then use CashAmount.\n Defaults to Quantity\n Currently only supported on MutualFunds" allOf: - $ref: '#/components/schemas/OrderAmountType' AppHint: title: 'Optional informational id, which will be added to the order for statistics purposes. Only relevant for Saxo applications' type: integer format: int32 example: 99 AssetType: title: The Instruments AssetType. allOf: - $ref: '#/components/schemas/AssetType' BuySell: title: The direction of the order; buy or sell. allOf: - $ref: '#/components/schemas/Domain.BuySell' CancelOrders: title: 'If set True, it will cancel all orders placed against the instrument of this order.' type: boolean example: true ClearForceOpen: title: 'If set True, it will clear the ForceOpen flag for all positions belongs to instrument of this order.And will be set to True implicitly if not set explicitly resulting cancel all orders against the instrument of this order.' type: boolean example: true ExternalReference: title: "Optional reference from the client app, to correlate orders with Saxo Bank issues order IDs.\n Maximum length: 50 characters. The order will be rejected if the reference is too long.\n This reference doesn’t have to be unique." type: string example: stringValue ForwardDate: title: 'Forward date that is only used for FxForward entry orders (no OCO, no related orders).' type: string format: date x-type-name: Date IsForceOpen: title: 'If true, the order''s resulting position will only be netted with positions in the opposite direction when explicitly closed.' type: boolean example: true ManualOrder: title: Indicator for whether order is placed automatically or manually. type: boolean example: true OrderDuration: title: The Order Duration. allOf: - $ref: '#/components/schemas/OrderDuration' OrderId: title: Used when placing related orders for an existing order. type: string example: stringValue OrderPrice: title: Order Price. Optional for market orders. type: number example: 10 OrderType: title: Order type. allOf: - $ref: '#/components/schemas/PlaceableOrderType' Orders: title: Optional related orders or OCO orders. type: array items: $ref: '#/components/schemas/PlaceRelatedOrOcoOrder' example: - AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 100000 AssetType: FxSpot BuySell: Sell OrderDuration: DurationType: GoodTillCancel OrderPrice: 1.13 OrderType: Limit Uic: 21 PositionId: title: Used when placing related orders for an existing position. type: string example: stringValue QuoteCurrency: title: Indicates whether order request is done in quote (2nd) currency. (FxSpot only). type: boolean example: true StopLimitPrice: title: Stop limit price for Stop Limit order type: number example: 10 SwitchInstrumentUic: title: 'The Uic of the instrument to be used for Switch And Traspaso orders, Mutual Funds Specific' type: integer format: int32 example: 99 ToOpenClose: title: Whether the order should be created to open/increase or close/decrease a position. (Only relevant for options) allOf: - $ref: '#/components/schemas/ToOpenClose' TraderId: title: 'Trader Id, Used only if the application is configured for supporting it with length of 2-16 chars.' type: string example: stringValue TrailingStopDistanceToMarket: title: Distance to market for a trailing stop order. type: number example: 10 TrailingStopStep: title: Step size for trailing stop order. type: number example: 10 TraspasoIn: title: Information about Traspaso in external source instrument allOf: - $ref: '#/components/schemas/TraspasoInDetails' Uic: title: Unique id of the instrument to place the order for. type: integer format: int32 example: 99 additionalProperties: false example: AlgoOrderData: Arguments: DisplayQuantity: '100' StrategyName: Iceberg Orders: - AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 100000 AssetType: FxSpot BuySell: Sell OrderDuration: DurationType: GoodTillCancel OrderPrice: 1.13 OrderType: Limit Uic: 21 - AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 100000 AssetType: FxSpot BuySell: Sell OrderDuration: DurationType: GoodTillCancel OrderPrice: 1.03 OrderType: Stop Uic: 21 PlacePositionRequest: title: Public request contract for opening a new position on the basis of a quote. required: - PriceReferenceId - ContextId - BuySell - UserPrice - QuoteId type: object properties: AppHint: title: 'Optional informational id, which will be added to the order for statistics purposes. Only relevant for Saxo applications' type: integer format: int32 example: 99 BuySell: title: 'The direction of the trade: buy or sell' allOf: - $ref: '#/components/schemas/Domain.BuySell' ContextId: title: The streaming contextId of the Price Session providing the tradable quotes. type: string example: stringValue ExerciseMethod: title: Defines how to settle options. allOf: - $ref: '#/components/schemas/ExerciseMethod' PriceReferenceId: title: The referenceId of the Price Session from where you got the price. type: string example: stringValue QuoteId: title: Unique id of the quote. type: string example: stringValue TradeIdeaId: title: Optional. The id of the trade idea leading to the trade. type: integer format: int32 example: 99 UserPrice: title: Quote Price. This is the last price that has been received by the application for the user. type: number example: 10 additionalProperties: false example: AppHint: 12 BuySell: Buy PriceReferenceId: P72733 QuoteId: '1232145' UserPrice: 234.1 PlaceRelatedOrOcoOrder: title: A related or OCO order. type: object properties: AccountKey: title: Unique key identifying the account to place the order on. minLength: 1 type: string x-type-name: AccountKey AllocationKeyId: title: Set AllocationKey if block trade on IB account. type: string example: stringValue Amount: title: Order size. type: number example: 10 AmountType: title: "Indicates if the order Amount is specified as lots/shares/contracts or as a monetary purchase amount in instrument currency. If CurrencyAmount, then use CashAmount.\n Defaults to Quantity\n Currently only supported on MutualFunds" allOf: - $ref: '#/components/schemas/OrderAmountType' AppHint: title: 'Optional informational id, which will be added to the order for statistics purposes. Only relevant for Saxo applications' type: integer format: int32 example: 99 AssetType: title: The Instruments AssetType. allOf: - $ref: '#/components/schemas/AssetType' BuySell: title: The direction of the order; buy or sell. allOf: - $ref: '#/components/schemas/Domain.BuySell' ExternalReference: title: "Optional reference from the client app, to correlate orders with Saxo Bank issues order IDs.\n Maximum length: 50 characters. The order will be rejected if the reference is too long.\n This reference doesn’t have to be unique." type: string example: stringValue ForwardDate: title: Forward date that is only used for FxForward entry orders when no master order exists (but has PositionId or OrderId) type: string format: date x-type-name: Date IsForceOpen: title: 'If true, the order''s resulting position will only be netted with positions in the opposite direction when explicitly closed.' type: boolean example: true ManualOrder: title: Optional indicator for whether order is placed automatically or manually. type: boolean example: true OrderDuration: title: The Order Duration. allOf: - $ref: '#/components/schemas/OrderDuration' OrderId: title: "Order Id for the first related order, used ONLY in \n the case of adding a second related order to a position or order.\n This field is used but having a related order contain just the orderId, and nothing else." type: string example: stringValue OrderPrice: title: Order Price. Optional for market orders. type: number example: 10 OrderType: title: Order type. allOf: - $ref: '#/components/schemas/PlaceableOrderType' StopLimitPrice: title: Stop limit price for Stop Limit order type: number example: 10 SwitchInstrumentUic: title: 'The Uic of the instrument to be used for Switch And Traspaso orders, Mutual Funds Specific' type: integer format: int32 example: 99 ToOpenClose: title: Whether the order should be created to open/increase or close/decrease a position. (Only relevant for options) allOf: - $ref: '#/components/schemas/ToOpenClose' TrailingStopDistanceToMarket: title: Distance to market for a trailing stop order. type: number example: 10 TrailingStopStep: title: Step size for trailing stop order. type: number example: 10 TraspasoIn: title: Information about Traspaso in external source instrument allOf: - $ref: '#/components/schemas/TraspasoInDetails' Uic: title: Unique id of the instrument to place the order for. type: integer format: int32 example: 99 additionalProperties: false example: AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 100000 AssetType: FxSpot BuySell: Sell OrderDuration: DurationType: GoodTillCancel OrderPrice: 1.13 OrderType: Limit Uic: 21 PlaceableOrderType: title: Specifies supported order types placeable in the orders ticket. enum: - Algorithmic - DealCapture - GuaranteedStop - Limit - Market - Stop - StopIfTraded - StopLimit - Switch - TrailingStop - TrailingStopIfTraded - Traspaso - TraspasoIn - TriggerBreakout - TriggerLimit - TriggerStop type: string example: Switch x-enum-descriptions: Market: Market Order. Limit: Limit Order. StopIfTraded: Stop if traded. Stop: Stop Order. StopLimit: Stop Limit Order. TrailingStopIfTraded: Trailing stop if traded. TrailingStop: Trailing stop. Algorithmic: Algo order. Switch: 'Switch order, Sell X and Buy Y with one order.' Traspaso: Traspaso. Specific type of switch order. Only available on select MutualFunds. TraspasoIn: TraspasoIn. Specific type of switch order GuaranteedStop: Order Type currently not supported. TriggerLimit: Trigger limit order. Specific type for trigger orders. TriggerStop: Trigger stop order. Specific type for trigger orders. TriggerBreakout: Trigger breakout order. Specific type for trigger orders. DealCapture: "Deal Capture Order. Specify to capture trades, which are already registered on Exchange, into Saxo System. \n Currently supported for selected partners only." PositionSyncResponse: title: "If request was synchronous and successful, the id of the created position would be returned.\n In addition the HTTP: Location Header will hold uri of the new resource." type: object properties: ErrorInfo: title: Gets or sets the error information. allOf: - $ref: '#/components/schemas/StringErrorResponse' PositionId: title: Id of newly created position type: string example: stringValue additionalProperties: false example: PositionId: '1019942426' PreCheckMultiLegOrderRequest: title: A request to pre-check a multileg strategy order. required: - OrderType - Legs type: object properties: AccountKey: title: Unique key identifying the account to place the order on. minLength: 1 type: string x-type-name: AccountKey ExternalReference: title: "Optional reference from the client app, to correlate orders with Saxo Bank issues order IDs.\n Maximum length: 50 characters. The order will be rejected if the reference is too long.\n This reference doesn’t have to be unique." type: string example: stringValue FieldGroups: title: Specification of fields to return in results type: array items: $ref: '#/components/schemas/PreCheckOrderSpec' example: - MarginImpact Legs: title: List of orders in the batch that are to be filled symmetrically. type: array items: $ref: '#/components/schemas/OrderLeg' example: - Amount: 10 AssetType: CfdOnEtn BuySell: Buy ToOpenClose: ToClose Uic: 99 ManualOrder: title: Optional indicator for whether order is placed automatically or manually. type: boolean example: true OrderDuration: title: The Order Duration. allOf: - $ref: '#/components/schemas/OrderDuration' OrderPrice: title: Order Price. Optional for market orders. type: number example: 10 OrderType: title: Order type. allOf: - $ref: '#/components/schemas/PlaceableOrderType' TraderId: title: 'Trader Id, Used only if the application is configured for supporting it with length of 2-16 chars.' type: string example: stringValue additionalProperties: false example: AccountKey: 01b64edf-da03-4145-bf33-ae21527d4c86 ExternalReference: stringValue FieldGroups: - MarginImpactBuySell Legs: - Amount: 10 AssetType: CfdOnEtf BuySell: Buy ToOpenClose: Undefined Uic: 99 ManualOrder: false OrderDuration: DurationType: GoodTillDate ExpirationDateContainsTime: true ExpirationDateTime: '2022-11-09T14:00:00' OrderPrice: 10 OrderType: TriggerLimit TraderId: stringValue PreCheckOrderRequest: title: A request to pre-check single order. type: object properties: AccountKey: title: Unique key identifying the account to place the order on. minLength: 1 type: string x-type-name: AccountKey AlgoOrderData: title: 'Specification of StrategyName and parameters for AlgoOrders. Note: AlgoOrders are only supported on the live system.' allOf: - $ref: '#/components/schemas/AlgorithmicOrderData' Amount: title: Order size. type: number example: 10 AmountType: title: "Indicates if the order Amount is specified as lots/shares/contracts or as a monetary purchase amount in instrument currency. \n If CurrencyAmount, then use CashAmount. Defaults to Quantity. Currently only supported on MutualFunds." allOf: - $ref: '#/components/schemas/OrderAmountType' AssetType: title: The Instruments AssetType. allOf: - $ref: '#/components/schemas/AssetType' BuySell: title: The direction of the order; buy or sell. allOf: - $ref: '#/components/schemas/Domain.BuySell' ExternalReference: title: "Optional reference from the client app, to correlate orders with Saxo Bank issues order IDs. Maximum length: 50 characters.\n The pre-check will only validate the length of the reference." type: string example: stringValue FieldGroups: title: Specification of fields to return in results type: array items: $ref: '#/components/schemas/PreCheckOrderSpec' example: - MarginImpact ForwardDate: title: Forward date that is only used for FxForward orders. type: string format: date x-type-name: Date IsForceOpen: type: boolean example: true OrderDuration: title: The Order Duration. allOf: - $ref: '#/components/schemas/OrderDuration' OrderId: title: Used when changing the existing order. type: string example: stringValue OrderPrice: title: Order Price. Optional for market orders. type: number example: 10 OrderType: title: Order type. allOf: - $ref: '#/components/schemas/PlaceableOrderType' Orders: title: Optional related orders or OCO orders. type: array items: $ref: '#/components/schemas/PlaceRelatedOrOcoOrder' example: - AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 100000 AssetType: FxSpot BuySell: Sell OrderDuration: DurationType: GoodTillCancel OrderPrice: 1.13 OrderType: Limit Uic: 21 PositionId: title: Used when placing related orders for an existing position. type: string example: stringValue StopLimitPrice: title: Stop limit price for Stop Limit order type: number example: 10 StrategyId: title: Optional argument to specify an algo-order strategy. type: string example: stringValue SwitchInstrumentUic: title: 'The Uic of the instrument to be used for Switch And Traspaso orders, Mutual Funds Specific' type: integer format: int32 example: 99 ToOpenClose: title: Whether the order should be created to open/increase or close/decrease a position. (Only relevant for options) allOf: - $ref: '#/components/schemas/ToOpenClose' TraderId: title: 'Trader Id, Used only if the application is configured for supporting it with length of 2-16 chars.' type: string example: stringValue TraspasoIn: title: Information about Traspaso in external source instrument allOf: - $ref: '#/components/schemas/TraspasoInDetails' Uic: title: Unique id of the instrument to place the order for. type: integer format: int32 example: 99 additionalProperties: false example: AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 10000 AssetType: CfdOnStock BuySell: Buy FieldGroups: - MarginImpactBuySell - Costs OrderDuration: DurationType: GoodTillDate ExpirationDateContainsTime: true ExpirationDateTime: '2022-11-09T14:00:00' OrderType: Market Uic: 15521 PreCheckOrderResponse: title: A response to pre-check single order. type: object properties: Cost: title: Expected cost of executing the order. allOf: - $ref: '#/components/schemas/CostData' CostInAccountCurrency: title: Expected cost of executing the order in account currency. allOf: - $ref: '#/components/schemas/CostData' ErrorInfo: title: Contains error info when order pre-check has failed. allOf: - $ref: '#/components/schemas/StringErrorResponse' EstimatedCashRequired: title: Estimated cash required. type: number example: 10 EstimatedCashRequiredCurrency: title: Estimated cash required currency. type: string example: stringValue EstimatedTotalCost: title: Expected total cost of executing the order in instrument currency. type: number example: 10 EstimatedTotalCostInAccountCurrency: title: Estimated total cost currency. type: number example: 10 InstrumentToAccountConversionRate: title: Rate used to convert from instrument currency to the account currency. type: number example: 10 MarginImpactBuySell: title: 'Expected Margin Impact, including initial, maintenance and currency.' allOf: - $ref: '#/components/schemas/MarginImpactBuySell' Orders: title: List of resulting orders. type: array items: $ref: '#/components/schemas/Orders.Domain.RelatedOrOcoOrder' example: - Cost: Commission: 1000 ExchangeFee: 0 GuaranteedStopFee: 0 StampDuty: 0 CostInAccountCurrency: Commission: 1000 ExchangeFee: 0 GuaranteedStopFee: 0 StampDuty: 0 ErrorInfo: ErrorCode: stringValue Message: stringValue EstimatedCashRequired: 10 EstimatedCashRequiredCurrency: stringValue EstimatedTotalCost: 10 EstimatedTotalCostInAccountCurrency: 10 ExternalReference: stringValue InstrumentToAccountConversionRate: 10 MarginImpactBuySell: Currency: USD InitialMarginAvailableBuy: 10447 InitialMarginAvailableCurrent: 10470 InitialMarginBuy: 12 MaintenanceMarginBuy: 11 PreCheckResult: title: Overall operation result. type: string example: stringValue additionalProperties: false example: Cost: Commission: 1000 ExchangeFee: 0 GuaranteedStopFee: 0 StampDuty: 0 EstimatedCashRequired: 1500000 EstimatedCashRequiredCurrency: EUR EstimatedTotalCost: 1500000 EstimatedTotalCostInAccountCurrency: 1500000 InstrumentToAccountConversionRate: 1 MarginImpactBuySell: Currency: USD InitialMarginAvailableBuy: 10447 InitialMarginAvailableCurrent: 10470 InitialMarginBuy: 12 MaintenanceMarginBuy: 11 PreCheckResult: Ok PreCheckOrderSpec: title: Specification of field-sets to include in results. enum: - AllocationMarginImpact - Costs - MarginImpact - MarginImpactBuySell type: string example: AllocationMarginImpact x-enum-deprecated: - MarginImpact x-enum-descriptions: MarginImpact: '(Obsolete) Margin impact fields are returned in result. Will not be available from 1. October 2018, use MarginImpactBuySell instead.' MarginImpactBuySell: Margin impact fields are returned in result. Costs: Cost data fields are returned in result. AllocationMarginImpact: Allocation Margin Impact for all sub client(s) are returned in result.It is applicable for IB orders with allocationKey request. x-type-warning: FlaggableEnum PriceDisplayFormatType: title: The format modifiers in which e.g. a price must be displayed and possibly edited. enum: - AllowDecimalPips - Fractions - ModernFractions - Normal - Percentage type: string example: ModernFractions x-enum-descriptions: Normal: No special display format for this price. Fractions: Decimals are denoted in as a fractions. Common for commodity futures. PriceDecimals indicated the nominator. ModernFractions: 'Special US Bonds futures fractional format (1/32s or 1/128s without nominator). If PriceDecimals = -5 then the nominator is 32, else 128.' Percentage: 'Display as percentage, e.g. 12.34%.' AllowDecimalPips: "Display the last digit as a smaller than the rest of the numbers. Note that this digit is not included in the number of decimals, effectively\n increasing the number of decimals by one. E.g. 12.345 when Decimals is 2 and DisplayFormat is AllowDecimalPips." PriceGroupSpec: title: Specification of fieldsets to include in results. enum: - Commissions - DisplayAndFormat - Greeks - HistoricalChanges - InstrumentPriceDetails - MarginImpact - MarginImpactBuySell - MarketDepth - PriceInfo - PriceInfoDetails - Quote - Timestamps type: string example: Quote x-enum-deprecated: - MarginImpact x-enum-descriptions: Quote: Quote data fields are returned in results. PriceInfo: Informational price fields are returned in results. PriceInfoDetails: Detailed price fields are returned in results. InstrumentPriceDetails: Fields related to the asset type are returned in results. MarketDepth: Market depth fields are returned in results. Commissions: Commission fields are returned in results. Greeks: Greeks are returned in results. MarginImpact: '(Obsolete) Margin impact fields are returned in results. Will not be available from 1. October 2018, use MarginImpactBuySell instead.' HistoricalChanges: Historical price changes are returned in results. MarginImpactBuySell: Margin impact fields are returned in results. Timestamps: Price time stamps DisplayAndFormat: Display and Format (not mapped to a QTE strategy) x-type-warning: FlaggableEnum PriceInfo: title: Brief information about the price. type: object properties: High: title: The high. type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' Low: title: The low. type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' NetChange: title: The net change in price (Mid price – LastClose price) type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' PercentChange: title: "The percent change in price.\n If LastClose greater than 0 , value = NetChange/LastClose * 100\n If NetChange less than 0 , value = -100\n If NetChange equal to 0 , value = 0\n If NetChange greater than 100 , value = +100" type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' additionalProperties: false example: High: 1.09117 Low: 1.08853 NetChange: 0.00048 PercentChange: 0.04 PriceInfoDetails: title: Additional information related to the instrument type: object properties: AskSize: title: The ask size. type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' AskYield: title: 'Optional ask yield, if available.' type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' BidSize: title: The bid size. type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' BidYield: title: 'Optional bid yield, if available.' type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' LastClose: title: The last close. type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' LastTraded: title: The last traded. type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' LastTradedSize: title: The last traded size. type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' Open: title: The open. type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' Volume: title: 'Optional volume, if available.' type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' additionalProperties: false example: AskSize: 1000000 BidSize: 1000000 LastClose: 1.729595 LastTraded: 0 LastTradedSize: 0 Open: 0 Volume: 0 PriceQuality: title: "This enumeration describes the reliability of the price. This is for spot trading on FX Options where a price must be\n tradable in order for a spot trade to be accepted.Price access is controlled by\n price feed subscriptions and lack of permission may lead to delayed (Indicative) or even complete absense of prices (NoAccess)" enum: - Indicative - NoAccess - NoMarket - None - OldIndicative - Pending - Tradable type: string example: None x-enum-descriptions: None: Price orgin is unknown. Tradable: "Directly tradable price. If this price was received from the /Prices endpoint, as opposed to the /InfoPrices endpoint, the caller use it as the basis for\n making a trade, by posting to the /Positions endpoint (\"TradeOnQuote\")." Indicative: 'This is valid price, but you cannot directly create a position on that price (normally shown as a yellow price).' OldIndicative: 'This is valid price, but the price is "old", so you the market may have moved significantly from the price.' NoMarket: There is currently no access to the market on which the instrument is traded. NoAccess: 'User does not have permission to the price feed. While FX prices are normally free, access to other price feeds depends on application type, the partner''s default price feeds and feed subscriptions held by the user' Pending: 'A price is currently not available, but it will be shortly' PriceRequest: title: Represents a request for a price in the API. required: - Uic - AssetType type: object properties: AccountKey: title: Unique key identifying the account used in retrieving the price. minLength: 1 type: string x-type-name: AccountKey Amount: title: 'Order size, defaults to minimal order size for given instrument.' type: number example: 10 AmountType: allOf: - $ref: '#/components/schemas/OrderAmountType' AssetType: title: The instrument's asset type allOf: - $ref: '#/components/schemas/AssetType' ContractId: title: Optional. ContractId for trading vanilla or binary fx options. type: integer format: int32 example: 99 ExpiryDate: title: Optional expiry date - only relevant for options type: string format: date-time x-type-name: UtcDateTime FieldGroups: title: Specification of fields to return in results type: array items: $ref: '#/components/schemas/PriceGroupSpec' example: - PriceInfo ForwardDate: title: Forward date type: string format: date-time x-type-name: UtcDateTime ForwardDateFarLeg: title: Forward date for far leg type: string format: date-time x-type-name: UtcDateTime ForwardDateNearLeg: title: Forward date for near leg type: string format: date-time x-type-name: UtcDateTime LowerBarrier: title: Lower barrier type: number example: 10 OrderAskPrice: title: 'Order ask price. When specified, a corresponding cost of buying will be calculated for that price; otherwise the current market ask price will be used.' type: number example: 10 OrderBidPrice: title: 'Order bid price. When specified, a corresponding cost of selling will be calculated for that price; otherwise the current market bid price will be used.' type: number example: 10 PutCall: title: Put/call allOf: - $ref: '#/components/schemas/PutCall' QuoteCurrency: type: boolean example: true RequireTradableQuote: title: "Optional argument to require that the subscription returns tradable quotes i.e. provides a quoteId.\n The value defaults to false." type: boolean example: true SharePrice: title: Share Price. Used when subscribing on a price when placing an order for CFDs. When provided it may lead to EstPriceSell / EstPriceBuy being returned in the InstrumentPriceDetail. Not relevant for info prices. type: number example: 10 StrategyName: title: Optional argument to specify an algo-order strategy type: string example: stringValue StrikePrice: title: Strike price type: number example: 10 ToClosePositionId: title: Set this if the intention is that the subsequent trade should close the position with the specified position id. type: integer format: int64 example: 16 ToOpenClose: allOf: - $ref: '#/components/schemas/ToOpenClose' Uic: title: Unique id of the instrument type: integer format: int32 example: 99 UpperBarrier: title: Upper barrier type: number example: 10 additionalProperties: false example: AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 100000 AssetType: FxVanillaOption ExpiryDate: '2017-06-01T00:00:00.0000000+00:00' FieldGroups: - DisplayAndFormat - HistoricalChanges - InstrumentPriceDetails - Quote PutCall: Call Uic: 22 PriceResponse: title: Public contract providing the latest price information upon a request. type: object properties: AssetType: title: Asset Type of the instrument allOf: - $ref: '#/components/schemas/AssetType' Commissions: title: The commissions allOf: - $ref: '#/components/schemas/Commissions' DisplayAndFormat: title: Information about the instrument of the net position and how to display it. allOf: - $ref: '#/components/schemas/InstrumentDisplayAndFormat' Greeks: title: Greeks - only available for options allOf: - $ref: '#/components/schemas/Greeks' HistoricalChanges: title: The historical price changes allOf: - $ref: '#/components/schemas/HistoricalChanges' InstrumentPriceDetails: title: Instrument Specific Price Details. Contents vary by AssetType allOf: - $ref: '#/components/schemas/InstrumentPriceDetails' LastUpdated: title: Time of last price update type: string format: date-time x-type-name: UtcDateTime MarginImpact: title: '(Obsolete) Expected Margin Impact. Will not be available from 1. October 2018, use MarginImpactBuySell instead.' allOf: - $ref: '#/components/schemas/MarginImpact' deprecated: true MarginImpactBuySell: title: The margin impact with currency and values for both buy and sell. allOf: - $ref: '#/components/schemas/MarginImpactBuySell' MarketDepth: title: The market depth allOf: - $ref: '#/components/schemas/MarketDepth' PriceInfo: title: Brief price information. allOf: - $ref: '#/components/schemas/PriceInfo' PriceInfoDetails: title: Detailed price information allOf: - $ref: '#/components/schemas/PriceInfoDetails' PriceSource: title: The source for the price information type: string example: stringValue Quote: title: The quote data. allOf: - $ref: '#/components/schemas/TradableQuote' Timestamps: title: 'Info about timing of prices, asset type specific.' allOf: - $ref: '#/components/schemas/PriceTimestamps' Uic: title: Uic of instrument type: integer format: int32 example: 99 additionalProperties: false example: AssetType: FxSpot DisplayAndFormat: Currency: AUD Decimals: 4 Description: British Pound/Australian Dollar Format: AllowDecimalPips StrikeDecimals: 4 StrikeFormat: Normal Symbol: GBPAUD HistoricalChanges: PercentChange1Month: 5.57 PercentChange2Months: 5.83 PercentChange3Months: 3.73 PercentChange6Months: 6.49 PercentChangeDaily: 0.2 PercentChangeWeekly: 0.88 InstrumentPriceDetails: AverageVolume: 12345000 Barrier: 1 ExpiryDate: '2017-06-01' IsMarketOpen: true LowerBarrier: -2 MidForwardPrice: 1.71992423552514 ShortTradeDisabled: false SpotAsk: 1.71782 SpotBid: 1.71692 SpotDate: '2017-06-03' SpreadStrikePriceLower: 11 SpreadStrikePriceUpper: 12 StrikePrice: 1.7175 UpperBarrier: 4 ValueDate: '2017-06-05' LastUpdated: '2017-05-01T00:00:00.0000000+00:00' Quote: Amount: 100000 Ask: 0.02257 Bid: 0.01962 DelayedByMinutes: 15 ErrorCode: None Mid: 0.0210958157864443 PriceTypeAsk: Indicative PriceTypeBid: Indicative RFQState: None Uic: 22 PriceResponseDomainEvent: type: object properties: Data: title: 'The type of data transported by the DomainEvent instance (e.g. price update, position list update etc.).' allOf: - $ref: '#/components/schemas/PriceResponse' PartitionNumber: title: The partition number if this DomainEvent is a partition. type: integer format: int32 example: 99 ReferenceId: title: 'Client specified id, which is sent back to the client with every data update.' type: string example: stringValue Timestamp: title: The UTC date and time of the event. type: string format: date-time x-type-name: UtcDateTime TotalPartitions: title: The total number of partitions if this DomainEvent is a partition. type: integer format: int32 example: 99 additionalProperties: false example: PriceSubscriptionRequest: title: Type used for requesting PriceSubscriptions. required: - Arguments - 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/PriceRequest' 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: AccountKey: LZTc7DdejXODf-WSl2aCyQ== Amount: 100000 AssetType: FxVanillaOption ExpiryDate: '2017-06-01T00:00:00Z' FieldGroups: - DisplayAndFormat - HistoricalChanges - InstrumentPriceDetails - Quote PutCall: Call Uic: 22 ContextId: '20221030063404744' Format: application/json ReferenceId: IP72733 RefreshRate: 1000 PriceSubscriptionResponse: title: Reponse object for pricesubscriptions. 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/PriceResponse' 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: '20221030063404744' Format: application/json InactivityTimeout: 30 ReferenceId: IP72733 RefreshRate: 1000 Snapshot: AssetType: FxSpot DisplayAndFormat: Currency: AUD Decimals: 4 Description: British Pound/Australian Dollar Format: AllowDecimalPips StrikeDecimals: 4 StrikeFormat: Normal Symbol: GBPAUD HistoricalChanges: PercentChange1Month: 5.57 PercentChange2Months: 5.83 PercentChange3Months: 3.73 PercentChange6Months: 6.49 PercentChangeDaily: 0.2 PercentChangeWeekly: 0.88 InstrumentPriceDetails: AverageVolume: 12345000 Barrier: 1 ExpiryDate: '2017-06-01' IsMarketOpen: true LowerBarrier: -2 MidForwardPrice: 1.71992423552514 ShortTradeDisabled: false SpotAsk: 1.71782 SpotBid: 1.71692 SpotDate: '2017-06-03' SpreadStrikePriceLower: 11 SpreadStrikePriceUpper: 12 StrikePrice: 1.7175 UpperBarrier: 4 ValueDate: '2017-06-05' LastUpdated: '2017-05-01T00:00:00Z' Quote: Amount: 100000 Ask: 0.02257 Bid: 0.01962 DelayedByMinutes: 15 ErrorCode: None Mid: 0.0210958157864443 PriceTypeAsk: Indicative PriceTypeBid: Indicative RFQState: None Uic: 22 State: Active Tag: PAGE1 PriceTimestamps: title: 'Info about timing of prices, asset type specific.' type: object properties: AskTime: title: 'Time of ask for Bonds, Certificate, Turbo, Warrant' type: string format: date-time x-type-name: UtcDateTime BidTime: title: 'Time of bid for Bonds, Certificate, Turbo, Warrant' type: string format: date-time x-type-name: UtcDateTime CloseTime: title: 'Date of a previous trading day, depending on when product is traded last time (only for exchange traded bond)' type: string format: date-time x-type-name: UtcDateTime HighTime: title: 'Time of high for Shares, ETF, CFD, SRD, Bonds (only exchange traded), Certificate, Turbo, Warrant' type: string format: date-time x-type-name: UtcDateTime LastTradedVolumeTime: title: 'Time Volume (last traded time) for Shares, ETF, CFD, SRD, Bonds, Certificate, Turbo, Warrant' type: string format: date-time x-type-name: UtcDateTime LowTime: title: 'Time of low for Shares, ETF, CFD, SRD, Bonds (only exchange traded), Certificate, Turbo, Warrant' type: string format: date-time x-type-name: UtcDateTime OpenPriceTime: title: 'Time of open price for Shares, ETF, CFD, SRD, Bonds (only exchange traded), Certificate, Turbo, Warrant' type: string format: date-time x-type-name: UtcDateTime UnderlyingUicLastTradeTime: title: 'Time last ULV (Traded) for Certificate, Turbo, Warrant' type: string format: date-time x-type-name: UtcDateTime additionalProperties: false example: AskTime: '9999-12-31T23:59:59.9999990+00:00' BidTime: '9999-12-31T23:59:59.9999990+00:00' CloseTime: '9999-12-31T23:59:59.9999990+00:00' HighTime: '9999-12-31T23:59:59.9999990+00:00' LastTradedVolumeTime: '9999-12-31T23:59:59.9999990+00:00' LowTime: '9999-12-31T23:59:59.9999990+00:00' OpenPriceTime: '9999-12-31T23:59:59.9999990+00:00' UnderlyingUicLastTradeTime: '9999-12-31T23:59:59.9999990+00:00' PriceType: enum: - Indicative - MarketOrder - NoAccess - NoMarket - None - OldIndicative - Pending - Tradable type: string example: OldIndicative Public.ToOpenClose: title: ToOpenClose enum: - ToClose - ToOpen - Undefined type: string example: ToClose x-enum-descriptions: Undefined: 'Undefined, equals DB NULL' ToOpen: Order/Position is ToOpen ToClose: Order/Position is ToClose PutCall: title: Describes the direction of an option. enum: - Call - None - Put type: string example: Call x-enum-descriptions: None: Not specified. Put: Put. Call: Call. Quote: title: Provides quote data. type: object properties: Amount: title: The amount for which the quote is calculated. type: integer format: int32 example: 99 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' Ask: title: The ask price. type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' Bid: title: The bid price. type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' DelayedByMinutes: title: 'If set, it defines the number of minutes by which the price is delayed.' type: integer format: int32 example: 99 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' ErrorCode: title: Gets or sets the error code. allOf: - $ref: '#/components/schemas/ErrorCode' MarketState: title: The source for the price information allOf: - $ref: '#/components/schemas/MarketState' x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' Mid: title: The mid price. type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' PriceSource: title: The source for the price information type: string example: stringValue PriceTypeAsk: title: The price type for ask. allOf: - $ref: '#/components/schemas/PriceQuality' x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' PriceTypeBid: title: The price type for bid. allOf: - $ref: '#/components/schemas/PriceQuality' x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' ReferencePrice: title: Suggested price based on best available price information. Typically used as suggested price when exchange is closed. type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' additionalProperties: false example: Amount: 100000 Ask: 1.0899 Bid: 1.0897 DelayedByMinutes: 15 ErrorCode: None Mid: 1.0898 PriceTypeAsk: Indicative PriceTypeBid: Indicative RFQState: title: Request For Quote flow state. enum: - CanEnterRfq - DealerQuote - Error - None type: string example: None x-enum-descriptions: None: Not in RFQ state Error: 'There was an error in the RFQ flow, please see the ErrorCode' CanEnterRfq: Client application can request to enter RFQ DealerQuote: This is a dealer quote. RelatedOrOcoOrder: title: Response for related or OCO order. type: object properties: ErrorInfo: title: Contains error info when placement of order failed. allOf: - $ref: '#/components/schemas/StringErrorResponse' ExternalReference: title: Optional reference supplied when placing the order. Max. 50 characters. type: string example: stringValue OrderId: title: Id of related or OCO order. No value provided if placement of order failed. type: string example: stringValue additionalProperties: false example: OrderId: '67762872' RequestExpirySpecification: title: "This is the srutcure for requesting specific expiries for the options chain, and also specify which strike index \n to start from" type: object properties: Index: title: The expiry index type: integer format: int32 example: 99 StrikeStartIndex: title: "The starting index of the strikes to return\n The number of strikes counted from this is determined by the MaxNumberOfStrikes of the request" type: integer format: int32 example: 99 additionalProperties: false example: Index: 99 StrikeStartIndex: 99 StrikeData: title: "The base class for all types of strikes. ETOs and FxVanillaOptions have Call/Put sides, \n whereas Fx Binary options have OneTouch/NoTouch as their sides." required: - Index type: object properties: Barrier: title: The barrier price. This is only returned for Fx Binary Options type: number example: 10 Call: title: Call side of the Strike for ETOs or Fx Options allOf: - $ref: '#/components/schemas/OptionSidePutCall' Index: title: The index of the strike type: integer format: int32 example: 99 MidVolatilityPct: title: Mid Volatility % type: number example: 10 NoTouch: title: NoTouch side of the Strike for Binary FX Options allOf: - $ref: '#/components/schemas/OptionSideFxBinary' OneTouch: title: OneTouch side of the Strike for Binary FX Options allOf: - $ref: '#/components/schemas/OptionSideFxBinary' Put: title: Put side of the Strike for ETOs or Fx Options allOf: - $ref: '#/components/schemas/OptionSidePutCall' Strike: title: The strike price - This is used for ETOs or Fx Options type: number example: 10 additionalProperties: false example: Barrier: 10 Call: Ask: 10 AskSize: 10 Bid: 10 BidSize: 10 Close: 10 ContractId: 99 DeltaPct: 10 Greeks: AskVolatility: 10 BidVolatility: 10 Delta: 10 Gamma: 10 MidVolatility: 10 Rho: 10 TheoreticalPrice: 10 Theta: 10 Vega: 10 High: 10 LastClose: 10 LastTraded: 10 Low: 10 Net: 10 NetChange: 10 Open: 10 OpenInterest: 10 PriceTypeAsk: Indicative PriceTypeBid: OldIndicative Uic: 99 Volume: 10 Index: 99 MidVolatilityPct: 10 NoTouch: Ask: 10 Bid: 10 ContractId: 99 DeltaPct: 10 Net: 10 PriceTypeAsk: MarketOrder PriceTypeBid: NoMarket OneTouch: Ask: 10 Bid: 10 ContractId: 99 DeltaPct: 10 Net: 10 PriceTypeAsk: Pending PriceTypeBid: Tradable Put: Ask: 10 AskSize: 10 Bid: 10 BidSize: 10 Close: 10 ContractId: 99 DeltaPct: 10 Greeks: AskVolatility: 10 BidVolatility: 10 Delta: 10 Gamma: 10 MidVolatility: 10 Rho: 10 TheoreticalPrice: 10 Theta: 10 Vega: 10 High: 10 LastClose: 10 LastTraded: 10 Low: 10 Net: 10 NetChange: 10 Open: 10 OpenInterest: 10 PriceTypeAsk: NoAccess PriceTypeBid: None Uic: 99 Volume: 10 Strike: 10 StringErrorResponse: type: object properties: ErrorCode: title: ErrorCode type: string example: stringValue Message: title: Optional Textual information about the error to aid the developer. type: string example: stringValue additionalProperties: false example: ErrorCode: stringValue Message: stringValue StringStringKeyValuePair: type: object properties: Key: type: string example: stringValue Value: type: string example: stringValue additionalProperties: false example: Key: stringValue Value: stringValue SubClientInfo: title: Distribution information for account. type: object properties: AccountId: title: Account Id. type: string example: stringValue Amount: title: Allocated amount. type: number example: 10 MultiLegAmount: title: Allocated multileg amount. type: number example: 10 additionalProperties: false example: AccountId: stringValue Amount: 10 MultiLegAmount: 10 ToOpenClose: title: Specifies whether the order will be created to open/increase or close/decrease a position (only relevant for options). enum: - ToClose - ToOpen - Undefined type: string example: Undefined x-enum-descriptions: Undefined: Undefined. ToOpen: Order/Position is ToOpen. ToClose: Order/Position is ToClose. TradableQuote: title: Provides tradable quote data. type: object properties: Amount: title: The amount for which the quote is calculated. type: integer format: int32 example: 99 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' Ask: title: The ask price. type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' Bid: title: The bid price. type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' DelayedByMinutes: title: 'If set, it defines the number of minutes by which the price is delayed.' type: integer format: int32 example: 99 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' ErrorCode: title: Gets or sets the error code. allOf: - $ref: '#/components/schemas/ErrorCode' MarketState: title: The source for the price information allOf: - $ref: '#/components/schemas/MarketState' x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' Mid: title: The mid price. type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' PriceSource: title: The source for the price information type: string example: stringValue PriceTypeAsk: title: The price type for ask. allOf: - $ref: '#/components/schemas/PriceQuality' x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' PriceTypeBid: title: The price type for bid. allOf: - $ref: '#/components/schemas/PriceQuality' x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' QuoteId: title: "The Id of this quote. Only supplied if quote (price) is tradable. You must supply this when trading on the quote, \n i.e. when posting to the /position resource." type: string example: stringValue RFQState: title: "State of RFQ flow.\n If quote is not in RFQ, then this value will not be returned.\n If quote is in RFQ one of the listed state values will be returned.\n If quote switches from RFQ mode back to normal mode, the RFQState=None value will be sent over the streaming channel once." allOf: - $ref: '#/components/schemas/RFQState' ReferencePrice: title: Suggested price based on best available price information. Typically used as suggested price when exchange is closed. type: number example: 10 x-license-terms: description: 'Price values are depending on a subscription to a feed. This can mean no data, delayed data or real time data dependent on the callers subscription setup.' additionalProperties: false example: Amount: 100000 Ask: 0.02257 Bid: 0.01962 DelayedByMinutes: 15 ErrorCode: None Mid: 0.0210958157864443 PriceTypeAsk: Indicative PriceTypeBid: Indicative RFQState: None TradeMessageResponse: title: "Public data contract representing a message, which should be displayed to the user.\n The text is formatted in the language specified in the request header." type: object properties: DateTime: title: Date and Time the message was generated. type: string format: date-time x-type-name: UtcDateTime DisplayType: title: Suggestion to the application about how the message should be displayed. allOf: - $ref: '#/components/schemas/MessageDisplayType' MessageBody: title: "Trade message body.\n This is fully formatted text in the language selected for the logged in client." type: string example: stringValue MessageHeader: title: Header of the message type: string example: stringValue MessageId: title: Unique identification of the message type: string example: stringValue MessageType: title: The type of the message. allOf: - $ref: '#/components/schemas/TradeMessageType' additionalProperties: false example: DateTime: '2014-12-12T09:17:12.0000000+00:00' DisplayType: Default MessageBody: Price alert was triggered on EURUSD MessageHeader: Price Alert MessageId: '345322' MessageType: PriceAlert TradeMessageResponseDomainEvent: type: object properties: Data: title: 'The type of data transported by the DomainEvent instance (e.g. price update, position list update etc.).' allOf: - $ref: '#/components/schemas/TradeMessageResponse' PartitionNumber: title: The partition number if this DomainEvent is a partition. type: integer format: int32 example: 99 ReferenceId: title: 'Client specified id, which is sent back to the client with every data update.' type: string example: stringValue Timestamp: title: The UTC date and time of the event. type: string format: date-time x-type-name: UtcDateTime TotalPartitions: title: The total number of partitions if this DomainEvent is a partition. type: integer format: int32 example: 99 additionalProperties: false example: TradeMessageResponseListResult: type: object properties: Data: type: array items: $ref: '#/components/schemas/TradeMessageResponse' 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: Data: - DateTime: '2014-12-12T09:17:12Z' DisplayType: Default MessageBody: Price alert was triggered on EURUSD MessageHeader: Price Alert MessageId: '345322' MessageType: PriceAlert TradeMessageSubscriptionRequest: title: Public request contract for setting up a subscription for trade messages. 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 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: ContextId: '20221030063404760' Format: application/json ReferenceId: TM42897 RefreshRate: 5 Tag: PAGE1 TradeMessageSubscriptionResponse: title: Public response contract returned after setting up a subscription for trade messages. 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/TradeMessageResponseListResult' 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: '20221030063404760' Format: application/json InactivityTimeout: 120 ReferenceId: TM42897 RefreshRate: 800 Snapshot: Data: - DateTime: '2014-12-12T09:17:12Z' DisplayType: Default IsDiscardable: false MessageBody: Price alert was triggered on EURUSD MessageHeader: Price Alert MessageId: '345322' MessageType: PriceAlert State: Active Tag: PAGE1 TradeMessageType: title: Enumeration of message types used by trade message subscriptions. enum: - AccountDepreciation - MarginCall - Mifid - Notification - PositionDepreciation - PriceAlert - ShareWorkspaceNotification - TradeConfirmation type: string example: PriceAlert x-enum-descriptions: TradeConfirmation: "A very broad set of notifications related to orders and positions. For example:\n \n\n* An order has been placed\n* An order has expired\n* An order has been (partially) filled\n* An order was cancelled\n* A position was stopped out (due to insufficient margin)\n* A position was placed" MarginCall: A margin call is a message informing the client about loses affecting his ability fulfill the margin requirements of his positions in the market. PriceAlert: A price alert has been triggered Notification: Message from broker to end client Mifid: A change has been made to the clients Mifid classification. Only sent for configured client segments. PositionDepreciation: "Message to indicate that a position has depreciated beyond a limit as specified by MIFID II regulations.\n Only sent for configured client segments." AccountDepreciation: "Message to indicate that an account has depreciated beyond a limit as specified by MIFID II regulations.\n Only sent for configured client segments." ShareWorkspaceNotification: 'Platform Workspace Notification: Share workspace notification' TradingErrorCode: title: Enumeration of Trading errors and related descriptions returned by endpoints. enum: - AccountIsTradeRestricted - ActiveFollowerCannotCancelOrderManually - AlgoOrderErrorInParameterValue - AlgoOrderIllegalAssetType - AlgoOrderIllegalDurationType - AlgoOrderMissingMandatoryParameter - AllocationKeyNotFound - AllocationKeyPercentDoesNotSumToOneHundred - AlreadyPendingCancelReplace - AmountBelowMinimumLotSize - AmountDiffersFromAmountOnRelatedOrder - AmountLowerThanAllocationKeyUnits - AmountNotInLotSize - BarrierTooCloseToSpot - BrokerOption - ClientCannotCancelMarketExpiryOrder - ClientExposureLimitation - ClmDataFeedClientExceptionCommissionRuleMissing - CloseAllPositionsAlreadyBeingClosed - DirectAccessNotAllowed - DurationNotSupported - ExchangeNotSupported - ExchangeRateNotAvailable - ExpirationDateInPast - ExpirationDateRequired - ForwardDateInPast - ForwardDateRequired - FxSwapLegsValueDateRequired - IllegalAccount - IllegalAmount - IllegalDate - IllegalInstrumentId - IllegalStrike - IllegalWatchlistId - InstrumentDisabledForTrading - InstrumentHasExpired - InstrumentNotAllowed - InstrumentNotFoundOrNotAllowedForMarketTrades - InstrumentNotTradableAsTheSelectedType - InstrumentSuspended - InstrumentTypeNotSupportedException - InsufficentCash - InsufficientTradeLevelException - InternalServerError - InvalidAllocationKeyUsed - InvalidCurrencyPair - InvalidExpiryTimeOnExchange - InvalidFxSwapLegsValueDate - InvalidMessageId - InvalidOptionRootId - InvalidPriceRequest - InvalidRefreshRate - InvalidRequest - InvalidTimeInExpiationDateTime - InvalidTraderId - InvalidUic - MarginBorderline - MarketClosed - MissingTimeInExpirationDateTime - NoChatMessageEntered - NoDataAccess - NoValidQuote - NotTradableAtPresent - OnWrongSideOfMarket - OpeningShortFXOptionPositionsNotAllowed - OptionExerciseAfterCutoff - OptionsChainNotSupportedForAssetType - OrderCannotBeCancelledAtThisTime - OrderNotFound - OrderNotPlaced - OrderRelatedPositionMissMatch - OrderRequestAfterLastTradingDate - OrderValueToSmall - OrderValueTooLarge - PendingTradeRequests - PositionBuildupNotValidForInstrument - PriceExceedsAggressiveTolerance - PriceNotFound - PriceNotInTickSizeIncrements - PriceRequestRequiresExpiryDate - PriceRequestRequiresPutCall - QuoteHasTimedOut - RelatedOrderWasRejected - RequestForQuoteFailed - RequestForQuoteNotAllowed - RequestMarginImpactOnNextPriceFailed - RequoteRequired - ShortTradeDisabled - TooCloseToEntryOrder - TooCloseToMarket - TooCloseToOcoRelatedOrderPrice - TooFarFromEntryOrder - TooFarFromMarket - TooLateToCancelOrder - TooManyStrikesRequested - TooSmallTrade - TradeSessionNotPrimary - TraderIdIsRequired - UicsInListNotUnique - UnexpectedTimeInExpirationDateTime - Unknown - WarningAmountLargeOrderSize - WouldExceedEquityConcentrationLimit - WouldExceedMargin - WouldExceedMarginCeiling - WouldExceedTradingLine type: string description: "Each value in the enumeration should have a with a human readable description of the error.\n Values must be > 100 as this is reserved by global Open API error codes." example: Unknown x-enum-descriptions: Unknown: Unknown or no error code. InstrumentNotAllowed: Error code returned when the account is not allowed to trade in or receive prices for the specified asset type. InvalidUic: Error code returned when the UIC is either invalid or not specified. InvalidRequest: Invalid request. InvalidRefreshRate: Invalid refresh rate. NoChatMessageEntered: No chat message entered. InvalidOptionRootId: Invalid option root id specified. IllegalInstrumentId: Instrument cannot be found. InstrumentTypeNotSupportedException: Unsupported instrument type IllegalStrike: Illegal strike price. IllegalAmount: Illegal amount. UicsInListNotUnique: Info price uic list is not distinct IllegalDate: Illegal Date. MarketClosed: Market is closed. IllegalAccount: Account not allowed. NoValidQuote: No valid quote to buy or sell on. OrderNotFound: Requested order id not found. QuoteHasTimedOut: Quote has timed out. InsufficentCash: Insufficient cash for trade. WouldExceedMargin: Trade would exceed margin limits. MarginBorderline: Trade would result in borderline margin TooCloseToMarket: Guaranteed stop is too close to market. RequoteRequired: 'Price has changed to much, requote required.' TooSmallTrade: Trade contract size is to small OnWrongSideOfMarket: Order price is on wrong side of market. TooLateToCancelOrder: Too late to cancel order. BrokerOption: Request rejected by broker. TooFarFromMarket: Limit price is too far from market. ShortTradeDisabled: Trading Short for selected instrument disabled. InstrumentSuspended: Trading in instrument is suspended AlreadyPendingCancelReplace: Request to Cancel or Replace order already send. NotTradableAtPresent: Not tradable at present. DirectAccessNotAllowed: Instrument invalid for Direct Access trading PendingTradeRequests: Limit of pending trade requests is exceeded ClientExposureLimitation: Trade would exceed client exposure limitation. TooCloseToEntryOrder: Contingent guaranteed stop price is too close to entry order price. OrderValueTooLarge: Order value is too large. TooFarFromEntryOrder: Order price is too far from the entry order. AmountDiffersFromAmountOnRelatedOrder: Amount differs from amount on related order. InstrumentHasExpired: Instrument has expired ClientCannotCancelMarketExpiryOrder: Client cannot cancel Market Expiry Order. TooCloseToOcoRelatedOrderPrice: Order price is too close to OCO related order price. RequestForQuoteFailed: Price subscription cannot enter Request For Quote. RequestMarginImpactOnNextPriceFailed: Price subscription cannot add margin impact. RequestForQuoteNotAllowed: Request For Quote is not allowed for an existing price subscription. OrderCannotBeCancelledAtThisTime: Order cannot be canceled at this time OrderNotPlaced: Order not placed InvalidAllocationKeyUsed: Order or trade placed with an allocationkey thats invalid or marked as inactive or deleted AmountLowerThanAllocationKeyUnits: Order or trade placed or changed to amount lower than sum of units in allocation key. CloseAllPositionsAlreadyBeingClosed: The specified closeAll key covers positions already closed by a closeAll key. PositionBuildupNotValidForInstrument: A trade or order was placed with position buildup on an instrument not supporting this. AccountIsTradeRestricted: Account is trade restricted. BarrierTooCloseToSpot: Barrier is too close to spot. OptionExerciseAfterCutoff: Exercise not allowed after exercise cut-off time or on last trading day or later. RelatedOrderWasRejected: Order request rejected due to failure for related order. WouldExceedMarginCeiling: Would exceed margin ceiling. OpeningShortFXOptionPositionsNotAllowed: Opening short FX option positions is not allowed. WouldExceedEquityConcentrationLimit: Would exceed equity concentration limit. WouldExceedTradingLine: Trade would exceed trading line limits. AmountNotInLotSize: Order size is not valid for the exchange. OrderValueToSmall: Order value must be above the minimum order value for this exchange. OrderRequestAfterLastTradingDate: The instruments's last trading date has passed. ActiveFollowerCannotCancelOrderManually: An active trade follower is not allowed to cancel order manually. PriceNotFound: Price from client trade request was not found in price history. InstrumentDisabledForTrading: Trading is disabled for the instrument. ExpirationDateInPast: 'Error code when expiration date is not set on order request having order duration: GoodTillDate' ExpirationDateRequired: 'Error code when expiration date in the past on order request having order duration: GoodTillDate' ForwardDateRequired: Error code when forward date is not set on FxForwards order. ForwardDateInPast: Error code when forward date is in the past on FxForwards order request. InvalidExpiryTimeOnExchange: 'Error code when expiration date is not set on order request having order duration: GoodTillDate' InvalidTimeInExpiationDateTime: 'Error code when expiration date is not set on order request having order duration: GoodTillDate' UnexpectedTimeInExpirationDateTime: 'Error code when expiration date is not set on order request having order duration: GoodTillDate' MissingTimeInExpirationDateTime: 'Error code when expiration date is not set on order request having order duration: GoodTillDate' TooManyStrikesRequested: Error code when too many strikes are quested for one options-chain. OptionsChainNotSupportedForAssetType: Error code when OptionsChain subscriptions are not supported for the given AssetType. ClmDataFeedClientExceptionCommissionRuleMissing: Error code return when commission rule is missing. InvalidPriceRequest: Error code returned when an invalid price request is submitted PriceRequestRequiresExpiryDate: Error code returned price request requires expiry date PriceRequestRequiresPutCall: Error code returned price request requires setting put or call TradeSessionNotPrimary: 'Error code return when a position cannot be created, updated or exercised, because the session is not the primary trade session' InsufficientTradeLevelException: Indicates that an operation cannot be performed because the resource requires a higher TradeLevel that the current session has. InvalidMessageId: The provided message id is either invalid or not found. InstrumentNotTradableAsTheSelectedType: The instrument is not tradable as the selected asset type NoDataAccess: No data access to instrument prices PriceNotInTickSizeIncrements: The price is not in valid ticksize increments DurationNotSupported: The supplied duration is not supported for the current order AmountBelowMinimumLotSize: The supplied duration is not supported for the current order OrderRelatedPositionMissMatch: The related position was not found or the current order is on a different account than the position PriceExceedsAggressiveTolerance: The price exceeds the aggressive tolerance InvalidTraderId: Invalid TraderId - The TraderId does not conform to the formatting rules for TraderIds TraderIdIsRequired: The TraderId is required for this application AlgoOrderIllegalDurationType: The order duration type is not supported by the strategy AlgoOrderIllegalAssetType: The assettype is not supported by the strategy AlgoOrderMissingMandatoryParameter: One or more mandatory parameters are missing AlgoOrderErrorInParameterValue: One or more mandatory parameters are missing InvalidCurrencyPair: Invalid currency pair ExchangeRateNotAvailable: Exchange rate not available AllocationKeyNotFound: Allocation key not found AllocationKeyPercentDoesNotSumToOneHundred: Participation with Percentage distribution type should sum up to 100% FxSwapLegsValueDateRequired: Error code when near leg and far leg value dates are not set on FxSwap order. InvalidFxSwapLegsValueDate: Error code when near leg value date is greater than far leg value date. IllegalWatchlistId: Error code returned when the watch list cannot be found. InstrumentNotFoundOrNotAllowedForMarketTrades: Instrument not found or not allowed for market trades subscription. ExchangeNotSupported: Time and sales is not supported for this exchange. WarningAmountLargeOrderSize: 'Returned when a price request is for a an amount that is larger than will be automatically accepted. For IOC orders, this means that an order on that amount will always be rejected.' InternalServerError: Internal Server Error. TraspasoInDetails: title: Information about external instrument type: object properties: FullSurrender: title: TraspasoIn trade type allOf: - $ref: '#/components/schemas/TraspasoInSurrender' SourceBroker: title: Broker handling the external instrument. type: string example: stringValue SourceExternalClientId: title: '>Clients ID at the external broker.' type: string example: stringValue SourceIsinCode: title: External instruments ISIN code. type: string example: stringValue SourceNumberOfUnits: title: 'The source order amount, null if it the order is "full surrender"' type: number example: 2.55 SourceSymbolCode: title: External instruments symbol code. type: string example: stringValue additionalProperties: false example: FullSurrender: Partial SourceBroker: stringValue SourceExternalClientId: stringValue SourceIsinCode: stringValue SourceNumberOfUnits: 2.55 SourceSymbolCode: stringValue TraspasoInSurrender: title: To specify if the traspaso in order is a full surrender enum: - Full - Partial type: string example: Full x-enum-descriptions: Partial: order to sell amount units of fund A and switch into B Full: Order for full surrender of fund A and switch to B UpdatePositionRequest: title: Public request contract containing data to update a position required: - AccountKey type: object properties: AccountKey: title: Gets or sets the account key. minLength: 1 type: string x-type-name: AccountKey DisableForceOpen: title: 'If set True, it clears the force open flag from position which allows default netting automatically from the opposite direction' type: boolean example: true ExerciseMethod: title: 'Exercise method for FX Options, This is only relevant for FX Options, where you can update the Exercise method.' allOf: - $ref: '#/components/schemas/ExerciseMethod' additionalProperties: false example: AccountKey: LZTc7DdejXODf-WSl2aCyQ== ExerciseMethod: Spot responses: 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' ServiceUnavailable: description: Service Unavailable. TooManyRequests: description: The request was rejected due to rate limit being exceeded. Unauthorized: description: Indicates that the request was rejected because the 'Authorization' header was missing in the request or contained an invalid security token. 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: { } tags: - name: Allocation Keys description: Add or modify allocation keys. - name: Info Prices description: "Provides end points for polling and subscribing to Info prices. Info prices are primarily intended to serve application scenarios, where the user is anonymous, or where an application\n wants to setup a pricelist/watchlist, but does not need the ability to let the user trade directly on the price shown.\n Compared to \"Prices\":\n \n\n* An InfoPrice is not tradable.\n* An InfoPrice contains fewer field groups.\n* A single Infoprice subscription can return a list of InfoPrices for different instruments.\n* To setup an Infoprice subscription, you must supply much less information. Where possible, appropriate default values will be assumed." - name: Messages description: "Provides end points for polling and subscribing to messages which should be displayed to the user. \n Only messages, which have not yet been marked as 'seen' will be returned. The structure in this reference documentation represents the base contract for all messages.\n Additional fields may be available depending on the TradeMessageType. Please refer to the wiki documentation for the Trade service group for further information." - name: Options Chain description: "The Options Chain is a construct made specifically for displaying a number of options (ETOs or FxOptions) in a classic \"Options Board\" that orders the options according to\n Expiries and Strikes. It is made with the common UI needs of such a board in mind.\n \n The service provides endpoints for subscribing to a stream of (limited) price-data for a number of options (FX or ETO) and managing such subscriptions to provide e.g. scrolling." - name: Order Approval Flow description: Endpoints for changing approval states for parked orders created by Financial Advisors. - name: Orders description: 'End points for placing, changing and canceling orders.' - name: Positions description: End points for creating updating and exercising positions. - name: Prices description: "Provides end points for polling and subscribing to a stream of potentially tradable prices.\n Compared to \"InfoPrices\":\n \n\n* A single price subscription can only return prices for a single valid instrument.\n* To setup a price subscription, you must supply all information to get a potentially tradable price. You must supply the uic and assettype, \n along with assettype specific optional parameters, strike and expiry for an option."