openapi: 3.0.1
info:
title: Services.AutoTrading Account Values Features 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: Features
description: Provides endpoints for querying availability of features.
paths:
/root/v1/features/availability/subscriptions/{ContextId}/{ReferenceId}:
delete:
tags:
- Features
summary: Remove a feature availability subscription
description: Removes the subscription identified by the specified reference id (and streaming context id).
operationId: FeaturesV1Delete
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: []
x-required-permissions:
personal: Subscribe
restricted: Subscribe
community: Subscribe
/root/v1/features/availability/subscriptions:
post:
tags:
- Features
summary: Create a feature availability subscription
description: Create a feature availability subscription.
operationId: FeaturesV1Post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FeatureAvailabilitySubscriptionRequest'
example:
ContextId: '20221029043400381'
ReferenceId: Features
RefreshRate: 1000
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/FeatureAvailabilitySubscriptionResponse'
example:
ContextId: '20221029043400381'
Format: application/json
InactivityTimeout: 120
ReferenceId: Features
RefreshRate: 1000
Snapshot:
- Available: true
Feature: Chart
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-required-permissions:
personal: Subscribe
restricted: Subscribe
community: Subscribe
x-streaming-type:
$ref: '#/components/schemas/FeatureAvailabilityArray'
/root/v1/features/availability:
get:
tags:
- Features
summary: Get the availability of all features
description: Get the availability of all features.
operationId: FeaturesV1Get
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/FeatureAvailability'
example:
- Available: true
Feature: Chart
example:
- Available: true
Feature: Chart
'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
restricted: Read
community: Read
components:
schemas:
ModelStateDictionary:
type: object
additionalProperties:
type: array
items:
type: string
FeatureAvailabilitySubscriptionRequest:
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: '20221029043400381'
ReferenceId: Features
RefreshRate: 1000
FeatureAvailability:
required:
- Feature
type: object
properties:
Available:
title: Indicates whether the feature is available.
type: boolean
example: true
Feature:
title: The name identifying the feature.
type: string
example: stringValue
additionalProperties: false
example:
Available: true
Feature: Chart
FeatureAvailabilitySubscriptionResponse:
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.
type: array
items:
$ref: '#/components/schemas/FeatureAvailability'
example:
- Available: true
Feature: Chart
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: '20221029043400381'
Format: application/json
InactivityTimeout: 120
ReferenceId: Features
RefreshRate: 1000
Snapshot:
- Available: true
Feature: Chart
State: Active
FeatureAvailabilityArray:
type: array
items:
$ref: '#/components/schemas/FeatureAvailability'
example:
- Available: true
Feature: Chart
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: {}