Saxo Bank Price Alerts API

Provides endpoints for managing price alert definitions and notification settings.

OpenAPI Specification

saxo-price-alerts-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Services.AutoTrading Account Values Price Alerts 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.<div class=well style=''border: 1px solid rgb(204, 82, 0); border-image: none; background-color: rgb(255, 209, 179);padding:1px;''><strong> Note:</strong> </br>This service is subject to special licensing agreements and not generally available to all OpenAPI applications.</div>'
  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: Price Alerts
  description: Provides endpoints for managing price alert definitions and notification settings.
paths:
  /vas/v1/pricealerts/usersettings:
    get:
      tags:
      - Price Alerts
      summary: Get notification settings
      description: Returns the current user's price alert notification settings
      operationId: PriceAlertsV1GetUserSettingsAsync
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriceAlertUserSettingsResponse'
              example:
                EmailAddress: john.doe@broker.com
                EmailAddressValidated: true
                NotifyWithMail: true
                NotifyWithPopup: true
                Sound: None
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                required:
                - ErrorCode
                - Message
                type: object
                properties:
                  ErrorCode:
                    enum:
                    - UserSettingsCacheNothingToFlush
                    type: string
                    example: None
                    x-enum-descriptions:
                      UserSettingsCacheNothingToFlush: There were no user settings to flush from the cache.
                  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
    put:
      tags:
      - Price Alerts
      summary: Update notification settings
      description: Modifies the current user's price alert notification settings
      operationId: PriceAlertsV1PutUserSettingsAsync
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PriceAlertUserSettingsRequest'
            example:
              EmailAddress: john.doe@broker.com
              NotifyWithMail: true
              NotifyWithPopup: true
              Sound: None
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                required:
                - ErrorCode
                - Message
                type: object
                properties:
                  ErrorCode:
                    enum:
                    - UserSettingsCacheNothingToFlush
                    - UserSettingsNotSupplied
                    - UserSettingsUpdateFailed
                    type: string
                    example: None
                    x-enum-descriptions:
                      UserSettingsNotSupplied: User settings must be defined.
                      UserSettingsUpdateFailed: User settings were not updated.
                      UserSettingsCacheNothingToFlush: There were no user settings to flush from the cache.
                  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
  /vas/v1/pricealerts/definitions/{AlertDefinitionIds}:
    delete:
      tags:
      - Price Alerts
      summary: Delete price alert definitions
      description: Deletes the specified price alert definitions
      operationId: PriceAlertsV1DeleteAlertDefinitionsAsync
      parameters:
      - name: AlertDefinitionIds
        in: path
        description: A comma separated list of the price alert definition Ids to delete.
        required: true
        style: simple
        schema:
          type: string
        example: '30834'
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                required:
                - ErrorCode
                - Message
                type: object
                properties:
                  ErrorCode:
                    enum:
                    - InvalidInput
                    - NoAlertDefinitionIds
                    - UserSettingsCacheNothingToFlush
                    type: string
                    example: None
                    x-enum-descriptions:
                      NoAlertDefinitionIds: At least one alert definition ID must be specified.
                      InvalidInput: An error was encountered when processing given input parameters.
                      UserSettingsCacheNothingToFlush: There were no user settings to flush from the cache.
                  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
  /vas/v1/pricealerts/definitions/{AlertDefinitionId}:
    get:
      tags:
      - Price Alerts
      summary: Get a price alert definition
      description: Returns a price alert definition if found
      operationId: PriceAlertsV1GetAlertDefinitionByDefinitionIdAsync
      parameters:
      - name: AlertDefinitionId
        in: path
        description: The id of the price alert definition.
        required: true
        style: simple
        schema:
          type: integer
          format: int32
        example: 30834
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriceAlertDefinitionResponse'
              example:
                AccountId: 13457INET
                AlertDefinitionId: '30834'
                AssetType: FxSpot
                Comment: I believe EURUSD will go up within the next few years!
                ExpiryDate: '2016-09-30T12:00:00Z'
                IsRecurring: true
                Operator: GreaterOrEqual
                PriceVariable: AskTick
                State: Enabled
                TargetValue: 1.34595
                Uic: 21
                UserId: '2361528'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                required:
                - ErrorCode
                - Message
                type: object
                properties:
                  ErrorCode:
                    enum:
                    - AlertDefinitionIdNotPositive
                    - NoAccessToAlertDefinitionId
                    - UserSettingsCacheNothingToFlush
                    type: string
                    example: None
                    x-enum-descriptions:
                      AlertDefinitionIdNotPositive: The alert definition id must be positive.
                      NoAccessToAlertDefinitionId: Current user does not have access to the alert definition id
                      UserSettingsCacheNothingToFlush: There were no user settings to flush from the cache.
                  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
    put:
      tags:
      - Price Alerts
      summary: Update a price alert definition
      description: Updates an existing price alert definition
      operationId: PriceAlertsV1PutAlertDefinitionAsync
      parameters:
      - name: AlertDefinitionId
        in: path
        description: Alert definition id to update.
        required: true
        style: simple
        schema:
          type: integer
          format: int32
        example: 30834
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PriceAlertDefinitionRequest'
            example:
              AccountId: 13457INET
              AssetType: FxSpot
              Comment: I believe EURUSD will go up within the next few years!
              ExpiryDate: '2016-09-30T12:00:00Z'
              IsRecurring: true
              Operator: GreaterOrEqual
              PriceVariable: AskTick
              State: Enabled
              TargetValue: 1.34595
              Uic: 21
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                required:
                - ErrorCode
                - Message
                type: object
                properties:
                  ErrorCode:
                    enum:
                    - AlertDefinitionIdNotPositive
                    - InvalidInput
                    - InvalidOperatorValue
                    - NoAccessToAlertDefinitionId
                    - NoValidInput
                    - UserSettingsCacheNothingToFlush
                    type: string
                    example: None
                    x-enum-descriptions:
                      InvalidOperatorValue: Invalid Operator value. Operator should be 'GreaterOrEqual' or 'LessOrEqual'
                      NoValidInput: No valid input values passed.
                      InvalidInput: An error was encountered when processing given input parameters.
                      AlertDefinitionIdNotPositive: The alert definition id must be positive.
                      NoAccessToAlertDefinitionId: Current user does not have access to the alert definition id
                      UserSettingsCacheNothingToFlush: There were no user settings to flush from the cache.
                  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
  /vas/v1/pricealerts/definitions:
    get:
      tags:
      - Price Alerts
      summary: Get all price alert definitions
      description: 'Get an unsorted list of all the price alert definitions belonging to the current user where the state matches the specified value. The alerts might belong to different accounts, should the user have more than one


        Had to set the type of state to a string to make the routing work correctly.'
      operationId: PriceAlertsV1GetAlertDefinitionsByStateAsync
      parameters:
      - name: $inlinecount
        in: query
        description: Specifies that the response to the request should include a count of the number of entries in the collection
        style: form
        explode: false
        schema:
          enum:
          - AllPages
          - None
          type: string
          x-enum-descriptions:
            None: The result will not contain an inline count
            AllPages: The result will contain a total count of items in the queried collection
        example: AllPages
      - name: $skip
        in: query
        description: The number of entries to skip from the beginning of the collection
        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: 200
        example: 1
      - name: State
        in: query
        description: Optional state the price alert definitions should match. The values must be one of PriceAlertDefinitionState. The match is case insensitive.
        style: form
        explode: false
        schema:
          $ref: '#/components/schemas/PriceAlertDefinitionState'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriceAlertDefinitionResponseListResult'
              example:
                Data:
                - AccountId: 13457INET
                  AlertDefinitionId: '30834'
                  AssetType: FxSpot
                  Comment: I believe EURUSD will go up within the next few years!
                  ExpiryDate: '2016-09-30T12:00:00Z'
                  IsRecurring: true
                  Operator: GreaterOrEqual
                  PriceVariable: AskTick
                  State: Enabled
                  TargetValue: 1.34595
                  Uic: 21
                  UserId: '2361528'
                MaxRows: 99
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                required:
                - ErrorCode
                - Message
                type: object
                properties:
                  ErrorCode:
                    enum:
                    - NoValidInput
                    - UserSettingsCacheNothingToFlush
                    type: string
                    example: None
                    x-enum-descriptions:
                      NoValidInput: No valid input values passed.
                      UserSettingsCacheNothingToFlush: There were no user settings to flush from the cache.
                  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
    post:
      tags:
      - Price Alerts
      summary: Create a price alert definition
      description: 'Creates a new price alert definition. The created definition is returned with a couple of more properties, the price alert definition id being one of them


        Automatically generates an ID for the newly added alert and composes its URI and returns that in the ''Location'' header.'
      operationId: PriceAlertsV1PostAlertDefinitionAsync
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PriceAlertDefinitionRequest'
            example:
              AccountId: 13457INET
              AssetType: FxSpot
              Comment: I believe EURUSD will go up within the next few years!
              ExpiryDate: '2016-09-30T12:00:00Z'
              IsRecurring: true
              Operator: GreaterOrEqual
              PriceVariable: AskTick
              State: Enabled
              TargetValue: 1.34595
              Uic: 21
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriceAlertDefinitionResponse'
              example:
                AccountId: 13457INET
                AlertDefinitionId: '30834'
                AssetType: FxSpot
                Comment: I believe EURUSD will go up within the next few years!
                ExpiryDate: '2016-09-30T12:00:00Z'
                IsRecurring: true
                Operator: GreaterOrEqual
                PriceVariable: AskTick
                State: Enabled
                TargetValue: 1.34595
                Uic: 21
                UserId: '2361528'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                required:
                - ErrorCode
                - Message
                type: object
                properties:
                  ErrorCode:
                    enum:
                    - InvalidInput
                    - NoValidInput
                    - PriceAlertIdsDoNotMatch
                    - UserSettingsCacheNothingToFlush
                    type: string
                    example: None
                    x-enum-descriptions:
                      NoValidInput: No valid input values passed.
                      InvalidInput: An error was encountered when processing given input parameters.
                      PriceAlertIdsDoNotMatch: Given Ids do not match
                      UserSettingsCacheNothingToFlush: There were no user settings to flush from the cache.
                  Message:
                    type: string
                  ModelState:
                    $ref: '#/components/schemas/ModelStateDictionary'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
      - OpenApiOAuthSecurityScheme: []
      - OpenApiJWTSecurityScheme: []
      x-required-permissions:
        personal: Write
components:
  schemas:
    ModelStateDictionary:
      type: object
      additionalProperties:
        type: array
        items:
          type: string
    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: FxSpot
      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.
    PriceAlertComparisonOperator:
      title: The inequality operator used in a price alert condition.
      enum:
      - GreaterOrEqual
      - LessOrEqual
      type: string
      example: GreaterOrEqual
      x-enum-descriptions:
        GreaterOrEqual: "The price is greater than or equal to (&gt;=) the value\n            specified in the alert definition."
        LessOrEqual: "The price is less than or equal to (&lt;=) the value specified\n            in the alert definition."
    PriceAlertUserSettingsResponse:
      title: Contains information about how to notify the user when an alert is triggered.
      type: object
      properties:
        EmailAddress:
          title: The email address to send alert notifications to.
          type: string
          example: stringValue
        EmailAddressValidated:
          title: Set to true if the email address has been validated.
          type: boolean
          example: false
        NotifyWithMail:
          title: Send an email when a notification is triggered.
          type: boolean
          example: false
        NotifyWithPopup:
          title: Show triggered notifications with pop-ups.
          type: boolean
          example: false
        Sound:
          title: The sound to play when showing a popup notification.
          allOf:
          - $ref: '#/components/schemas/AlertSound'
      additionalProperties: false
      example:
        EmailAddress: john.doe@broker.com
        EmailAddressValidated: true
        NotifyWithMail: true
        NotifyWithPopup: true
        Sound: None
    PriceAlertDefinitionRequest:
      title: A price alert definition contains the information needed to know when to trigger an alert. Service clients subscribe to price alert definitions in order to receive the alerts.
      required:
      - AccountId
      - ExpiryDate
      - AssetType
      - IsRecurring
      - Operator
      - PriceVariable
      - TargetValue
      - Uic
      type: object
      properties:
        AccountId:
          title: The account that owns this price alert definition.
          type: string
          example: stringValue
        AssetType:
          title: The type of instrument that this alert is monitoring.
          allOf:
          - $ref: '#/components/schemas/AssetType'
        Comment:
          title: An optional comment associated with the price alert definition. The maximum supported length of the string is 128 characters.
          maxLength: 128
          type: string
          example: stringValue
        ExpiryDate:
          title: The UTC date and time that the price alert definition will expire and then be removed from the system. The date and time is specified in Coordinated Universal Time (UTC) and should be formatted as "yyyy-mm-ddThh:mm:ssZ".
          type: string
          format: date-time
          x-type-name: UtcDateTime
        IsExtendedHours:
          title: An optional flag to indicate if price alert definition is valid in extended hours trading. Default will be set to false.
          type: boolean
          example: false
        IsRecurring:
          title: Is the alert only triggered once or will the alerts keep recurring until the alert expires.
          type: boolean
          example: false
        Operator:
          title: The boolean operator used to compare the current price with the defined value.
          allOf:
          - $ref: '#/components/schemas/PriceAlertComparisonOperator'
        PriceVariable:
          title: The aspect of the price that is being monitored.
          allOf:
          - $ref: '#/components/schemas/PriceVariable'
        State:
          title: A price alert definition can be enabled, disabled or suspended. RecentlyTriggered is used for recurring alerts, so that they don't trigger constantly once the condition has been met.
          allOf:
          - $ref: '#/components/schemas/PriceAlertDefinitionState'
        TargetValue:
          title: The value that the current price is compared to.
          type: number
          example: 10
        Uic:
          title: Universal Instrument Code (UIC).
          type: integer
          format: int32
          example: 99
      additionalProperties: false
      description: Using nullable fields an the custom RequiredNullable attribute in order to make the fields appear on the error list, if the value is missing.
      example:
        AccountId: 13457INET
        AssetType: FxSpot
        Comment: I believe EURUSD will go up within the next few years!
        ExpiryDate: '2016-09-30T12:00:00.0000000+00:00'
        IsRecurring: true
        Operator: GreaterOrEqual
        PriceVariable: AskTick
        State: Enabled
        TargetValue: 1.34595
        Uic: 21
    AlertSound:
      title: The available sounds to play when showing a popup alert.
      enum:
      - Asterisk
      - Beep
      - Exclamation
      - Hand
      - None
      - Question
      type: string
      example: None
      x-enum-descriptions:
        None: No sound.
        Asterisk: Asterisk sound.
        Beep: Beep sound.
        Exclamation: Exclamation sound.
        Hand: Hand sound.
        Question: Question sound.
    PriceAlertDefinitionResponse:
      title: "A price alert definition contains the information needed to know when to trigger an alert.\n            Service clients subscribe to price alert definitions in order to receive the alerts."
      required:
      - AccountId
      - ExpiryDate
      - AssetType
      - IsRecurring
      - Operator
      - PriceVariable
      - TargetValue
      - Uic
      type: object
      properties:
        AccountId:
          title: The account that owns this price alert definition.
          type: string
          example: stringValue
        AlertDefinitionId:
          title: The ID of this .
          type: string
          example: stringValue
        AssetType:
          title: The type of instrument that this alert is monitoring.
          allOf:
          - $ref: '#/components/schemas/AssetType'
        ClientId:
          title: The client that owns this price alert definition.
          type: string
          example: stringValue
        Comment:
          title: An optional comment associated with the price alert definition. The maximum supported length of the string is 128 characters.
          maxLength: 128
          type: string
          example: stringValue
        ExpiryDate:
          title: The UTC date and time that the price alert definition will expire and then be removed from the system. The date and time is specified in Coordinated Universal Time (UTC) and should be formatted as "yyyy-mm-ddThh:mm:ssZ".
          type: string
          format: date-time
          x-type-name: UtcDateTime
        IsExtendedHours:
          title: An optional flag to indicate if price alert definition is valid in extended hours trading. Default will be set to false.
          type: boolean
          example: false
        IsRecurring:
          title: Is the alert only triggered once or will the alerts keep recurring until the alert expires.
          type: boolean
          example: false
        Operator:
          title: The boolean operator used to compare the current price with the defined value.
          allOf:
          - $ref: '#/components/schemas/PriceAlertComparisonOperator'
        PriceVariable:
          title: The aspect of the price that is being monitored.
          allOf:
          - $ref: '#/components/schemas/PriceVariable'
        State:
          title: A price alert definition can be enabled, disabled or suspended. RecentlyTriggered is used for recurring alerts, so that they don't trigger constantly once the condition has been met.
          allOf:
          - $ref: '#/components/schemas/PriceAlertDefinitionState'
        TargetValue:
          title: The value that the current price is compared to.
          type: n

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/saxo/refs/heads/main/openapi/saxo-price-alerts-api-openapi.yml