openapi: 3.0.1 info: title: Services.AutoTrading Account Values Sessions API description: 'The AutoTrading service group provides endpoints for interacting with Saxo Bank''s SaxoSelect offering.Through these interfaces a client application can get Saxo Select trade leaders, portfolios and investments. Portfolio investments can be created and modifed.
Note:
This service is subject to special licensing agreements and not generally available to all OpenAPI applications.
' version: 2.4.138+710c760591 x-framework-version: 38.0.2+439c5b0ec3 x-machine: SIMOAWEB11-DK2 servers: - url: https://gateway.saxobank.com/sim/openapi tags: - name: Sessions description: Session management endpoints. paths: /root/v1/sessions/events/subscriptions/{ContextId}/{ReferenceId}: delete: tags: - Sessions summary: Remove session capabilities subscription description: Removes the subscription identified by the specified reference id (and streaming context id). operationId: SessionsV1DeleteSubscription 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: '20180204125301453' - name: ReferenceId in: path description: The reference id that identifies the subscription (within a streaming session). required: true style: simple schema: type: string example: C04 responses: '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: [] /root/v1/sessions/events/subscriptions: post: tags: - Sessions summary: Create a session capabilities subscription description: Sets up a new session capabilities subscription. The data stream will deliver updates from this point. operationId: SessionsV1AddSubscription requestBody: content: application/json: schema: $ref: '#/components/schemas/SessionSubscriptionRequest' example: ContextId: '20221029043400336' ReferenceId: S37523 RefreshRate: 1000 Tag: PAGE1 responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/SessionSubscriptionResponse' example: ContextId: '20221029043400336' Format: application/json InactivityTimeout: 120 ReferenceId: S37523 RefreshRate: 1000 Snapshot: AuthenticationLevel: Authenticated DataLevel: Standard TradeLevel: OrdersOnly State: Active '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InvalidModelState - UnsupportedSubscriptionFormat type: string example: None x-enum-descriptions: InvalidModelState: Error code returned when model state is invalid. UnsupportedSubscriptionFormat: Error code returned when a subscription format that isn't supported by the publisher is requested. 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-streaming-type: $ref: '#/components/schemas/SessionSubscriptionStreamedState' /root/v1/sessions/events/subscriptions/active: post: tags: - Sessions summary: Obsolete Create a session capabilities subscription description: Sets up a new session capabilities subscription. The data stream will deliver updates from this point. operationId: SessionsV1AddSubscriptionActive requestBody: content: application/json: schema: $ref: '#/components/schemas/SessionSubscriptionRequest' example: ContextId: '20221029043400336' ReferenceId: S37523 RefreshRate: 1000 Tag: PAGE1 responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/SessionSubscriptionResponse' example: ContextId: '20221029043400336' Format: application/json InactivityTimeout: 120 ReferenceId: S37523 RefreshRate: 1000 Snapshot: AuthenticationLevel: Authenticated DataLevel: Standard TradeLevel: OrdersOnly State: Active '400': description: Bad Request content: application/json: schema: required: - ErrorCode - Message type: object properties: ErrorCode: enum: - InvalidModelState - UnsupportedSubscriptionFormat type: string example: None x-enum-descriptions: InvalidModelState: Error code returned when model state is invalid. UnsupportedSubscriptionFormat: Error code returned when a subscription format that isn't supported by the publisher is requested. 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-streaming-type: $ref: '#/components/schemas/SessionSubscriptionStreamedState' /root/v1/sessions/capabilities: get: tags: - Sessions summary: Get the sessions capabilities. description: Get the sessions capabilities. operationId: SessionsV1GetCapabilities responses: '200': description: Indicates operation was successful and response-body contains current capabilities. content: application/json: schema: $ref: '#/components/schemas/CapabilitiesResponse' example: AuthenticationLevel: Authenticated DataLevel: Standard TradeLevel: OrdersOnly '400': description: Returned when either the 'Authorization' header is missing the request or the Open API token sent in this header does not belong to the session identified by the the session ID in the URI. 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' '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [] - OpenApiJWTSecurityScheme: [] x-required-permissions: personal: Read put: tags: - Sessions summary: Change the sessions capabilities. description: Change sessions capabilities. operationId: SessionsV1SetCapabilities requestBody: content: application/json: schema: $ref: '#/components/schemas/PutCapabilitiesRequest' example: TradeLevel: OrdersOnly responses: '202': description: Indicates that the request to change capabilities has been accepted and will be executed as soon as possible. Indication of actual capabilities change is streamed to the client. '400': description: Returned when either the 'Authorization' header is missing the request or the Open API token sent in this header does not belong to the session identified by the the session ID in the URI. 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' '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [] - OpenApiJWTSecurityScheme: [] x-required-permissions: personal: Read patch: tags: - Sessions summary: Change the sessions capabilities. description: Change sessions capabilities. operationId: SessionsV1PatchCapabilities requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchCapabilitiesRequest' example: TradeLevel: OrdersOnly responses: '202': description: Indicates that capabilities are being changed. '400': description: Returned when either the 'Authorization' header is missing the request or the Open API token sent in this header does not belong to the session identified by the the session ID in the URI. 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' '401': $ref: '#/components/responses/Unauthorized' '503': $ref: '#/components/responses/ServiceUnavailable' '429': $ref: '#/components/responses/TooManyRequests' security: - OpenApiOAuthSecurityScheme: [] - OpenApiJWTSecurityScheme: [] x-required-permissions: personal: Read components: schemas: CapabilitiesResponse: title: Response object holding current session capabilities. type: object properties: AuthenticationLevel: title: Determines the current level of authentication. allOf: - $ref: '#/components/schemas/AuthenticationLevel' DataLevel: title: Unused. allOf: - $ref: '#/components/schemas/DataLevel' TradeLevel: title: Determines ability to trade on quote and receive real time data. allOf: - $ref: '#/components/schemas/TradeLevel' additionalProperties: false example: AuthenticationLevel: Authenticated DataLevel: Standard TradeLevel: OrdersOnly SessionSubscriptionResponse: title: Response returned when creating a new subscription for broken data. 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/SessionSubscriptionStreamedState' 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: '20221029043400336' Format: application/json InactivityTimeout: 120 ReferenceId: S37523 RefreshRate: 1000 Snapshot: AuthenticationLevel: Authenticated DataLevel: Standard TradeLevel: OrdersOnly State: Active AuthenticationLevel: title: Represents levels of authentication enum: - Authenticated - Elevated type: string example: Authenticated x-enum-descriptions: Authenticated: Indicates that the user does not have elevated authentication. Elevated: Indicates that step-up authentication applies to the user and that authentication is elevated. ModelStateDictionary: type: object additionalProperties: type: array items: type: string DataLevel: title: Enumeration of allowed data levels for a user using a client application. enum: - Premium - Standard type: string example: Standard x-enum-descriptions: Standard: Default trade level, where average prices are served. Premium: Live up-to-date prices are served. PutCapabilitiesRequest: title: Represents a request to set all session capabilities. type: object properties: TradeLevel: title: Determines ability to trade on quote and receive real time data. allOf: - $ref: '#/components/schemas/TradeLevel' additionalProperties: false example: TradeLevel: OrdersOnly Model.AuthenticationLevel: title: Represents levels of authentication enum: - Authenticated - Elevated type: string example: Authenticated x-enum-descriptions: Authenticated: Indicates that the user is authenticated but does not have elevated authentication. Elevated: Indicates that step-up authentication applies to the user and that authentication is elevated. TradeLevel: title: Enumeration of allowed trade levels for a user using a client application. enum: - FullTradingAndChat - OrdersOnly type: string example: OrdersOnly x-enum-descriptions: OrdersOnly: Orders only. FullTradingAndChat: Full Trading and access to real time data. PatchCapabilitiesRequest: title: Represents a request to change session capabilities. type: object properties: TradeLevel: title: Determines ability to trade on quote and receive real time data. allOf: - $ref: '#/components/schemas/TradeLevel' additionalProperties: false example: TradeLevel: OrdersOnly Domain.DataLevel: title: Enumeration of allowed data levels for a user using a client application. enum: - Premium - Standard type: string example: Standard x-enum-descriptions: Standard: Default trade level, where average prices are served. Premium: Live up-to-date prices are served. SessionSubscriptionRequest: title: The request object required to setup a session wide subscription. 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: '20221029043400336' ReferenceId: S37523 RefreshRate: 1000 Tag: PAGE1 SessionSubscriptionStreamedState: title: Data class that cannot be serialized. type: object properties: AuthenticationLevel: title: Gets or sets the authentication level. allOf: - $ref: '#/components/schemas/Model.AuthenticationLevel' DataLevel: title: Gets or sets the data L evel. allOf: - $ref: '#/components/schemas/Domain.DataLevel' TradeLevel: title: Gets or sets the trade level. allOf: - $ref: '#/components/schemas/Domain.TradeLevel' additionalProperties: false example: AuthenticationLevel: Elevated DataLevel: Premium TradeLevel: FullTradingAndChat Domain.TradeLevel: title: Enumeration of allowed trade levels for a user using a client application. enum: - FullTradingAndChat - OrdersOnly type: string example: OrdersOnly x-enum-descriptions: OrdersOnly: Orders only. FullTradingAndChat: Full Trading. responses: Unauthorized: description: Indicates that the request was rejected because the 'Authorization' header was missing in the request or contained an invalid security token. ServiceUnavailable: description: Service Unavailable. 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' TooManyRequests: description: The request was rejected due to rate limit being exceeded. 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: {}