openapi: 3.0.0 info: version: 3.0.0 title: Factset Price Alerting API For Digital Portals description: > The Price Alerting API is designed to inform the users of an application directly about important changes in the data on the platform. The endpoint group *basic price alerting* deals with generation of alerts based on current price data. For notations, users can define an upper or lower limit and choose on which price type those limit conditions apply. Alerting uses the concepts of triggers and alerts. A trigger is an entity that is set up by an application to watch a certain condition in the market data around a financial instrument. The standard conditions that can be applied are lower limit and upper limit for the value of the price for a given financial instrument. When the condition of a trigger is met, an alert is created. Each alert thus represents one event where a trigger condition was met. An application can learn about the creation of alerts in two ways: The application can actively request the list of alerts (pull approach) or it can subscribe to the list of existing alerts. If a new alert is created, that list changes and the application is notified about the new alert with an update that contains the details on the new alert (push approach). The API supports both approaches. The push approach is realized most easily by using the subscription support that the client libraries provide. See the [Quotes API for Digital Portals](https://developer.factset.com/api-catalog/quotes-api-digital-portals) for access to detailed price information. Note: As part of the general trial access, endpoints to write data are excluded. For a description of the full alerting API, please work with a FactSet consultant and see https://endpointreference.factset.com. contact: name: FactSet Research Systems url: https://developer.factset.com/contact email: api@factset.com license: name: Apache License, Version 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: - url: https://api.factset.com/wealth/v3 paths: /alerting/prices/basic/alert/get: get: tags: - Alerting operationId: get/alerting/prices/basic/alert/get x-supportsOffsetBasedPaging: false x-supportsOffsetBasedPagingWithoutTotal: false x-supportsCursorBasedPaging: false x-supportsCursorBasedPagingWithoutTotal: false x-supportsPush: false x-requiresUser: true x-requiresInternalClient: false x-disallowUser: false x-no-merge: false x-maxSortParameterCount: 10 x-supportsPermissionDeniedResponse: false description: >- Details of an alert. The details include the trigger definition at the time of alert creation. summary: Factset Details of an alert. parameters: - name: id in: query schema: description: Identifier of the alert. type: string format: id64 x-positive: true required: true - name: _attributes in: query schema: type: array items: type: string maxLength: 100 exclusiveMaximum: false uniqueItems: true maxItems: 50 style: form explode: false description: Limit the attributes returned in the response to the specified set. responses: '200': $ref: '#/components/responses/GetAlertingPricesBasicAlertGet200Response' /alerting/prices/basic/alert/list: get: tags: - Alerting operationId: get/alerting/prices/basic/alert/list x-supportsOffsetBasedPaging: false x-supportsOffsetBasedPagingWithoutTotal: false x-supportsCursorBasedPaging: true x-supportsCursorBasedPagingWithoutTotal: false x-supportsPush: true x-requiresUser: true x-requiresInternalClient: false x-disallowUser: false x-no-merge: false x-maxSortParameterCount: 10 x-supportsPermissionDeniedResponse: false description: List of alerts in descending order of creation. summary: Factset List of alerts. responses: '200': $ref: '#/components/responses/GetAlertingPricesBasicAlertList200Response' parameters: - name: _attributes in: query schema: type: array items: type: string maxLength: 100 exclusiveMaximum: false uniqueItems: true maxItems: 50 style: form explode: false description: Limit the attributes returned in the response to the specified set. - description: >- Non-negative number of milliseconds to throttle the update rate from 0ms to 5000ms. Set to 0 for sending updates immediately. name: _subscriptionMinimumInterval in: query schema: type: number format: int32 minimum: 0 exclusiveMinimum: false maximum: 5000 exclusiveMaximum: false default: 0 - description: >- Starting point as returned in the attributes `pagination.next` or `pagination.previous` by a prior invocation of this endpoint, or undefined (default). name: _paginationCursor in: query schema: type: string maxLength: 50 exclusiveMaximum: false - description: Non-negative maximum number of entries to return. name: _paginationLimit in: query schema: type: number format: int32 minimum: 0 exclusiveMinimum: false maximum: 500 exclusiveMaximum: false default: 20 /alerting/prices/basic/trigger/get: get: tags: - Alerting operationId: get/alerting/prices/basic/trigger/get x-supportsOffsetBasedPaging: false x-supportsOffsetBasedPagingWithoutTotal: false x-supportsCursorBasedPaging: false x-supportsCursorBasedPagingWithoutTotal: false x-supportsPush: false x-requiresUser: true x-requiresInternalClient: false x-disallowUser: false x-no-merge: false x-maxSortParameterCount: 10 x-supportsPermissionDeniedResponse: false description: Details of a trigger. summary: Factset Details of a trigger. parameters: - name: id in: query schema: type: string format: id64 x-positive: true description: Identifier of the trigger. required: true - name: _attributes in: query schema: type: array items: type: string maxLength: 100 exclusiveMaximum: false uniqueItems: true maxItems: 50 style: form explode: false description: Limit the attributes returned in the response to the specified set. responses: '200': $ref: '#/components/responses/GetAlertingPricesBasicTriggerGet200Response' /alerting/prices/basic/trigger/list: post: tags: - Alerting operationId: post/alerting/prices/basic/trigger/list x-supportsOffsetBasedPaging: false x-supportsOffsetBasedPagingWithoutTotal: false x-supportsCursorBasedPaging: true x-supportsCursorBasedPagingWithoutTotal: false x-supportsPush: false x-requiresUser: true x-requiresInternalClient: false x-disallowUser: false x-no-merge: false x-maxSortParameterCount: 10 x-supportsPermissionDeniedResponse: false description: Returns a list of triggers sorted in descending order of creation. summary: Factset List of triggers. requestBody: description: Request Body content: application/json: schema: $ref: '#/components/schemas/PostAlertingPricesBasicTriggerListRequest' required: false responses: '200': $ref: '#/components/responses/PostAlertingPricesBasicTriggerList200Response' parameters: [] components: schemas: ErrorMetaObject: type: object description: The meta member contains the meta information of the response. properties: status: $ref: '#/components/schemas/StatusObject' ErrorObject: type: array description: >- The errors member contains additional information about a failed request. items: type: object properties: details: type: string description: >- A human-readable, unstructured explanation specific to this occurrence of the failure. encryptedDetails: type: string description: >- Base64-encoded, internal details about the error, in addition to "details". type: type: number format: int32 description: Internal error type of the Foundation API protocol. attribute: type: array description: >- For a validation error, a reference to the request parameter that failed validation; otherwise, an empty array. items: type: object properties: name: type: string description: Element of the path denoting the request parameter. index: type: number format: int32 description: >- If the attribute "name" designates an array, index of the array element; otherwise the special value -1. x-property-sort: - name - index x-property-sort: - details - encryptedDetails - type - attribute AttributesMember: type: array description: Limit the attributes returned in the response to the specified set. items: type: string maxLength: 100 exclusiveMaximum: false maxItems: 50 uniqueItems: true LanguageMember: type: string format: isoLanguage description: ISO 639-1 code of the language. maxLength: 2 minLength: 2 exclusiveMinimum: false exclusiveMaximum: false StatusObject: type: object properties: code: type: number format: int32 description: >- The HTTP status code of the response, mirroring the code from the Status-Line of the HTTP response message (see [RFC2616] section 6.1). description: The status member contains the status code of the response. required: - code CursorBasedPaginationOutputObject: type: object description: Pagination attributes for the cursor-based pagination strategy. properties: total: type: number format: int32 description: Total number of entries in the result set. isEstimatedTotal: type: boolean description: Flag indicating that the value of `total` is estimated. next: type: string description: >- The next cursor position to use in the parameter `pagination.cursor` for an endpoint that supports cursor-based pagination, otherwise `null`. previous: type: string description: >- The previous cursor position to use in the parameter `pagination.cursor` for an endpoint that supports cursor-based pagination. If a previous cursor position is not supported or available, `previous` is `null`. required: - total - isEstimatedTotal - next - previous x-property-sort: - total - isEstimatedTotal - next - previous CursorBasedPaginationOutputObjectWithoutTotal: type: object description: >- Pagination attributes for the cursor-based pagination strategy; a total element count is not supported. properties: next: type: string description: >- The next cursor position to use in the parameter `pagination.cursor` for an endpoint that supports cursor-based pagination, otherwise `null`. previous: type: string description: >- The previous cursor position to use in the parameter `pagination.cursor` for an endpoint that supports cursor-based pagination. If a previous cursor position is not supported or available, `previous` is `null`. required: - next - previous x-property-sort: - next - previous OffsetBasedPaginationOutputObject: type: object description: Pagination attributes for the offset-based pagination strategy. properties: total: type: number format: int32 description: Total number of entries in the result set. isEstimatedTotal: type: boolean description: Flag indicating that the value of "total" is estimated. required: - total - isEstimatedTotal x-property-sort: - total - isEstimatedTotal OffsetBasedPaginationOutputObjectWithoutTotal: type: object description: >- Pagination attributes for the offset-based pagination strategy; a total element count is not supported. properties: hasNext: type: boolean description: >- Flag indicating that a subsequent request with the same parameters, except that the parameter `pagination.offset` is incremented by `pagination.limit`, would yield additional results. required: - hasNext x-property-sort: - hasNext PartialOutputObject: type: object properties: isPartial: type: boolean description: >- Flag indicating that the response is a possibly incomplete array or an object containing a possibly incomplete array, due to hitting a processing time limit. If `true`, some matching results might be missing from the array, or elements for matching results might be incorrectly included (for example, when priority sorting would have removed the element). Depending on the use case, such a response may be unsuitable. description: Object denoting that the endpoint response is possibly incomplete. required: - isPartial x-property-sort: - isPartial PostAlertingPricesBasicTriggerListRequest: x-property-sort: - data - meta description: Request Body type: object properties: data: type: object x-property-sort: - filter description: The data member contains the request's primary data. properties: filter: type: object x-property-sort: - status description: Criteria that filter the items in the response list. properties: status: type: object x-property-sort: - code description: Status of the trigger. properties: code: type: string description: Code of the status. x-enum-description: - >- The trigger is active and trigger conditions are evaluated. - >- The trigger is inactive and conditions do not generate alerts. - >- The trigger is in an error state, error details are noted in `details` enum: - active - inactive - error meta: type: object description: The meta member contains the meta information of the request. properties: attributes: $ref: '#/components/schemas/AttributesMember' pagination: type: object description: Pagination attributes for the cursor-based pagination strategy. properties: cursor: type: string maxLength: 50 exclusiveMaximum: false description: >- Starting point as returned in the attributes `pagination.next` or `pagination.previous` by a prior invocation of this endpoint, or undefined (default). limit: type: number format: int32 minimum: 0 exclusiveMinimum: false maximum: 500 exclusiveMaximum: false default: 20 description: Non-negative maximum number of entries to return. x-property-sort: - cursor - limit x-property-sort: - attributes - pagination responses: ErrorResponse: description: Generic error response for all errors (400 ... 599 error codes) headers: {} content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/ErrorMetaObject' errors: $ref: '#/components/schemas/ErrorObject' x-property-sort: - meta - errors GetAlertingPricesBasicAlertGet200Response: description: Successful Response content: application/json: schema: type: object properties: data: type: object properties: id: nullable: true type: string format: id64 x-positive: true description: Identifier of the alert. creation: nullable: true type: string format: datetime description: Date and time when the alert was created. price: nullable: false type: object x-property-sort: - value - time description: Price data at the time of alert creation. properties: value: nullable: true type: number format: real description: >- Depending on `trigger.price.type`, the trade, bid, or ask price. time: nullable: true type: string format: datetime description: Date and time of the price. notification: nullable: false type: object x-property-sort: - status description: Notification information of the alert. properties: status: nullable: false description: Status of a notification per channel. type: array items: type: object nullable: false x-property-sort: - channel - time - code properties: channel: nullable: false type: object x-property-sort: - id description: Details of the notification channel. properties: id: nullable: true type: number format: id32 x-positive: true description: Identifier of the notification channel. time: nullable: true type: string format: datetime description: Date and time of the most recent change. code: nullable: true type: string description: Code of the status. x-enum-description: - Notification has not been processed. - >- Notification has been sent but delivery status is unknown. - Notification has been delivered. - >- Notification has not been delivered due to an error. - >- Notification delivery has been rejected (possibly due to return mails being received for delivery address). enum: - pending - sent - delivered - error - rejected trigger: nullable: false description: Trigger data at the time of alert creation. type: object x-property-sort: - id - creation - notation - price - range - comment - notification - status properties: id: nullable: true type: string format: id64 x-positive: true description: Identifier of the trigger. creation: nullable: true type: string format: datetime description: Date and time when the trigger was created. notation: nullable: false type: object x-property-sort: - id description: Notation data of the trigger. properties: id: nullable: true type: string format: id64 x-positive: true description: Identifier of the notation. price: nullable: false description: Price data of the trigger. type: object x-property-sort: - type - quality properties: type: nullable: true type: string description: Type of the price as configured for the customer. x-enum-description: - >- Trade price (ordinary, auction, pre or post-trading). - Bid price. - Ask price. enum: - trade - bid - ask quality: nullable: true type: string description: Price quality of the trigger. x-enum-description: - >- Real-Time: intraday prices with minimal technical processing delays. - >- Delayed: intraday prices with an exchange-imposed delay of usually 15 to 30 minutes. - >- End-of-day: prices updated once per day after the close of trading, possibly with an exchange-imposed delay of several hours. enum: - RLT - DLY - EOD range: nullable: false type: object x-property-sort: - upperLimit - lowerLimit description: Price range for the trigger to monitor. properties: upperLimit: nullable: true type: number format: real description: Upper limit. lowerLimit: nullable: true type: number format: real description: Lower limit. comment: nullable: true type: string description: Comment of the trigger. notification: nullable: false type: object x-property-sort: - channel description: Notification specific configuration. properties: channel: nullable: false type: object x-property-sort: - id description: Channel specific configuration. properties: id: nullable: false description: Identifier of the notification channel. type: array items: type: number format: id32 x-positive: true status: nullable: false type: object x-property-sort: - code - details - encryptedDetails description: Status of the trigger. properties: code: nullable: true type: string description: Code of the status. x-enum-description: - >- The trigger is active and trigger conditions are evaluated. - >- The trigger is inactive and conditions do not generate alerts - >- The trigger is in an error state, error details are noted in "details" enum: - active - inactive - error details: nullable: true type: string description: >- A human-readable, unstructured explanation specific to this error. encryptedDetails: nullable: true type: string description: >- Base64-encoded, internal details about the error, in addition to "details". An issue submitted to Service Desk should contain this data to speed up investigation. description: Details of the alert. nullable: false x-property-sort: - id - creation - price - notification - trigger meta: type: object description: The meta member contains the meta information of the response. properties: status: $ref: '#/components/schemas/StatusObject' x-property-sort: - status x-property-sort: - data - meta GetAlertingPricesBasicAlertList200Response: description: Successful Response content: application/json: schema: type: object properties: data: type: array description: List of alerts. nullable: false items: type: object nullable: false x-property-sort: - id - creation - price - notification - trigger properties: id: nullable: true type: string format: id64 x-positive: true description: Identifier of the alert. creation: nullable: true type: string format: datetime description: Date and time when the alert was created. price: nullable: false type: object x-property-sort: - value - time description: Price data at the time of alert creation. properties: value: nullable: true type: number format: real description: >- Depending on `trigger.price.type`, the trade, bid, or ask price. time: nullable: true type: string format: datetime description: Date and time of the price. notification: nullable: false type: object x-property-sort: - status description: Notification information of the alert. properties: status: nullable: false description: Status of a notification per channel. type: array items: type: object nullable: false x-property-sort: - channel - time - code properties: channel: nullable: false type: object x-property-sort: - id description: Details of the notification channel. properties: id: nullable: true type: number format: id32 x-positive: true description: Identifier of the notification channel. time: nullable: true type: string format: datetime description: Date and time of the most recent change. code: nullable: true type: string description: Code of the status. x-enum-description: - Notification has not been processed. - >- Notification has been sent but delivery status is unknown. - Notification has been delivered. - >- Notification has not been delivered due to an error. - >- Notification delivery has been rejected (possibly due to return mails being received for delivery address). enum: - pending - sent - delivered - error - rejected trigger: nullable: false description: Trigger data at the time of alert creation. type: object x-property-sort: - id - creation - notation - price - range - comment - notification - status properties: id: nullable: true type: string format: id64 x-positive: true description: Identifier of the trigger. creation: nullable: true type: string format: datetime description: Date and time when the trigger was created. notation: nullable: false type: object x-property-sort: - id description: Notation data of the trigger. properties: id: nullable: true type: string format: id64 x-positive: true description: Identifier of the notation. price: nullable: false description: Price data of the trigger. type: object x-property-sort: - type - quality properties: type: nullable: true type: string description: >- Type of the price as configured for the customer. x-enum-description: - >- Trade price (ordinary, auction, pre or post-trading). - Bid price. - Ask price. enum: - trade - bid - ask quality: nullable: true type: string description: Quality of the price. x-enum-description: - >- Real-time: intraday prices with minimal technical processing delays. - >- Delayed: intraday prices with an exchange-imposed delay of usually 15 to 30 minutes. - >- End-of-day: prices updated once per day after the close of trading, possibly with an exchange-imposed delay of several hours or days. enum: - RLT - DLY - EOD range: nullable: false type: object x-property-sort: - upperLimit - lowerLimit description: Price range for the trigger to monitor. properties: upperLimit: nullable: true type: number format: real description: Upper limit. lowerLimit: nullable: true type: number format: real description: Lower limit. comment: nullable: true type: string description: Comment of the trigger. notification: nullable: false type: object x-property-sort: - channel description: Notification specific configuration. properties: channel: nullable: false type: object x-property-sort: - id description: Channel specific configuration. properties: id: nullable: false description: Identifier of the notification channel. type: array items: type: number format: id32 x-positive: true status: nullable: false type: object x-property-sort: - code - details description: Status of the trigger. properties: code: nullable: true type: string description: Code of the status. x-enum-description: - >- The trigger is active and trigger conditions are evaluated. - >- The trigger is inactive and conditions do not generate alerts - >- The trigger is in an error state, error details are noted in "details" enum: - active - inactive - error details: nullable: true type: string description: >- A human-readable, unstructured explanation specific to this error. meta: type: object description: The meta member contains the meta information of the response. properties: status: $ref: '#/components/schemas/StatusObject' pagination: $ref: '#/components/schemas/CursorBasedPaginationOutputObject' x-property-sort: - status - pagination x-property-sort: - data - meta GetAlertingPricesBasicTriggerGet200Response: description: Successful Response content: application/json: schema: type: object properties: data: type: object properties: id: nullable: true type: string format: id64 x-positive: true description: Identifier of the trigger. creation: nullable: true type: string format: datetime description: Date and time when the trigger was created. notation: nullable: false type: object x-property-sort: - id description: Notation data of the trigger. properties: id: nullable: true type: string format: id64 x-positive: true description: Identifier of the notation. price: nullable: false description: Price data of the trigger. type: object x-property-sort: - type - quality properties: type: nullable: true type: string description: Type of the price as configured for the customer. x-enum-description: - >- Trade price (ordinary, auction, pre or post-trading). - Bid price. - Ask price. enum: - trade - bid - ask quality: nullable: true type: string description: Quality of the price. x-enum-description: - >- Real-time: intraday prices with minimal technical processing delays. - >- Delayed: intraday prices with an exchange-imposed delay of usually 15 to 30 minutes. - >- End-of-day: prices updated once per day after the close of trading, possibly with an exchange-imposed delay of several hours or days. enum: - RLT - DLY - EOD range: nullable: false type: object x-property-sort: - upperLimit - lowerLimit description: Price range for the trigger to monitor. properties: upperLimit: nullable: true type: number format: real description: Upper limit. lowerLimit: nullable: true type: number format: real description: Lower limit. comment: nullable: true type: string description: Comment of the trigger. notification: nullable: false type: object x-property-sort: - channel description: Selection of notifications for triggered alerts. properties: channel: nullable: false description: >- Notification channel selection; see endpoint `/alerting/notification/channel/list` for possible channels. type: array items: type: object nullable: false x-property-sort: - id properties: id: nullable: true description: Identifier of the notification channel. type: number format: id32 x-positive: true status: nullable: false type: object x-property-sort: - code - details - encryptedDetails description: Status of the trigger. properties: code: nullable: true type: string description: Code of the status. x-enum-description: - >- The trigger is active and trigger conditions are evaluated. - >- The trigger is inactive and conditions do not generate alerts - >- The trigger is in an error state, error details are noted in "details" enum: - active - inactive - error details: nullable: true type: string description: >- A human-readable, unstructured explanation specific to this error. encryptedDetails: nullable: true type: string description: >- Base64-encoded, internal details about the error, in addition to "details". An issue submitted to Service Desk should contain this data to speed up investigation. description: Details of the trigger. nullable: false x-property-sort: - id - creation - notation - price - range - comment - notification - status meta: type: object description: The meta member contains the meta information of the response. properties: status: $ref: '#/components/schemas/StatusObject' x-property-sort: - status x-property-sort: - data - meta PostAlertingPricesBasicTriggerList200Response: description: Successful Response content: application/json: schema: type: object properties: data: type: array description: List of triggers. nullable: false items: type: object nullable: false x-property-sort: - id - creation - notation - price - range - comment - notification - status properties: id: nullable: true type: string format: id64 x-positive: true description: Identifier of the trigger. creation: nullable: true type: string format: datetime description: Date and time when the trigger was created. notation: nullable: false type: object x-property-sort: - id description: Notation data of the trigger. properties: id: nullable: true type: string format: id64 x-positive: true description: Identifier of the notation. price: nullable: false description: Price data of the trigger. type: object x-property-sort: - type - quality properties: type: nullable: true type: string description: Type of the price as configured for the customer. x-enum-description: - >- Trade price (ordinary, auction, pre or post-trading). - Bid price. - Ask price. enum: - trade - bid - ask quality: nullable: true type: string description: Quality of the price. x-enum-description: - >- Real-time: intraday prices with minimal technical processing delays. - >- Delayed: intraday prices with an exchange-imposed delay of usually 15 to 30 minutes. - >- End-of-day: prices updated once per day after the close of trading, possibly with an exchange-imposed delay of several hours or days. enum: - RLT - DLY - EOD range: nullable: false type: object x-property-sort: - upperLimit - lowerLimit description: Price range for the trigger to monitor. properties: upperLimit: nullable: true type: number format: real description: Upper limit. lowerLimit: nullable: true type: number format: real description: Lower limit. comment: nullable: true type: string description: Comment of the trigger. notification: nullable: false type: object x-property-sort: - channel description: Selection of notifications for triggered alerts. properties: channel: nullable: false description: >- Notification channel selection; see endpoint `/alerting/notification/channel/list` for possible channels. type: array items: type: object nullable: false x-property-sort: - id properties: id: nullable: true description: Identifier of the notification channel. type: number format: id32 x-positive: true status: nullable: false type: object x-property-sort: - code - details description: Status of the trigger. properties: code: nullable: true type: string description: Code of the status. x-enum-description: - >- The trigger is active and trigger conditions are evaluated. - >- The trigger is inactive and conditions do not generate alerts - >- The trigger is in an error state, error details are noted in "details" enum: - active - inactive - error details: nullable: true type: string description: >- A human-readable, unstructured explanation specific to this error. meta: type: object description: The meta member contains the meta information of the response. properties: status: $ref: '#/components/schemas/StatusObject' pagination: $ref: '#/components/schemas/CursorBasedPaginationOutputObject' x-property-sort: - status - pagination x-property-sort: - data - meta parameters: {} examples: {} requestBodies: {} headers: {} securitySchemes: FactSetOAuth2: type: oauth2 flows: clientCredentials: tokenUrl: https://auth.factset.com/as/token.oauth2 scopes: {} FactSetApiKey: type: http scheme: basic links: {} callbacks: {} security: - FactSetApiKey: [] - FactSetOAuth2: [] tags: - name: Alerting externalDocs: description: API Documentation url: https://developer.factset.com/api-catalog/ x-interface-version: 2 x-documenter-version: 6.3.9 x-api-version: 4.4.0