openapi: 3.0.3 info: title: Factset Analytics Datastore About Adaptive API description: Allow clients to fetch precalculated Analytics through predeterministic URLs. 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 version: 1.0.0 servers: - url: https://api.factset.com description: Production - url: https://api-sandbox.factset.com description: Sandbox security: - basicAuth: [] tags: - name: Adaptive paths: /search/answers/v1/adaptive-card: get: summary: Fetch Factset Answer in Adaptive Card Format tags: - Adaptive description: Returns an answer to the specified query (if valid answer exists) in the Adaptive Card format (https://adaptivecards.io/). operationId: searchForAdaptiveCardAnswer parameters: - $ref: '#/components/parameters/Query' - $ref: '#/components/parameters/IncludeThumbnail' - $ref: '#/components/parameters/DisableNoAnswerResponses' - $ref: '#/components/parameters/Theme' responses: '200': description: Request was successful. content: application/json: schema: $ref: '#/components/schemas/AdaptiveCardAnswerSuccessResponse' '400': description: Missing or empty query. content: application/json: schema: $ref: '#/components/schemas/AnswerFailureResponse' '401': description: Missing or invalid authentication. content: application/json: schema: $ref: '#/components/schemas/AnswerFailureResponse' '500': description: Unhandled error occurred while processing the request. content: application/json: schema: $ref: '#/components/schemas/AnswerFailureResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /events/adaptive-cards: get: tags: - Adaptive x-factset-sdk-ignore: true operationId: getEventAdaptiveCards description: 'Fetch Microsoft''s Adaptive Cards, which includes headlines and event details data plus hyperlinks to FactSet reports, based on at least one of the following filtering parameters: `ids`, `portfolios`' parameters: - $ref: '#/components/parameters/createdParam' - $ref: '#/components/parameters/updatedParam' - $ref: '#/components/parameters/signalIdsParam' - $ref: '#/components/parameters/idsParam' - $ref: '#/components/parameters/portfoliosParam' - $ref: '#/components/parameters/themesParam' - $ref: '#/components/parameters/categoriesParam' - $ref: '#/components/parameters/relevanceScoreParam' - $ref: '#/components/parameters/sortParam' - $ref: '#/components/parameters/resolveIdentifiersParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/eventAdaptiveCards' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/errorResponse' '429': description: API Rate Limit Exceeded headers: Api-Version: $ref: '#/components/headers/Api-Version' Api-Supported-Versions: $ref: '#/components/headers/Api-Supported-Versions' RateLimit-Limit: $ref: '#/components/headers/RateLimit-Limit' RateLimit-Remaining: $ref: '#/components/headers/RateLimit-Remaining' RateLimit-Reset: $ref: '#/components/headers/RateLimit-Reset' content: application/json: schema: $ref: '#/components/schemas/rateLimitResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/errorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: tags: - Adaptive operationId: postEventAdaptiveCards description: 'Fetch Microsoft''s Adaptive Cards, which includes headlines and event details data plus hyperlinks to FactSet reports, based on at least one of the following filtering parameters: `ids`, `portfolios`' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/eventRequestBody' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/eventAdaptiveCards' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/errorResponse' '429': description: API Rate Limit Exceeded headers: Api-Version: $ref: '#/components/headers/Api-Version' Api-Supported-Versions: $ref: '#/components/headers/Api-Supported-Versions' RateLimit-Limit: $ref: '#/components/headers/RateLimit-Limit' RateLimit-Remaining: $ref: '#/components/headers/RateLimit-Remaining' RateLimit-Reset: $ref: '#/components/headers/RateLimit-Reset' content: application/json: schema: $ref: '#/components/schemas/rateLimitResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/errorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /events/adaptive-cards/{eventId}: get: tags: - Adaptive operationId: getEventAdaptiveCardById description: Fetch Microsoft's Adaptive Cards, which includes headlines and event details data plus hyperlinks to FactSet reports, for a single requested Signal event parameters: - $ref: '#/components/parameters/eventIdParam' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/eventAdaptiveCard' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/errorResponse' '429': description: API Rate Limit Exceeded headers: Api-Version: $ref: '#/components/headers/Api-Version' Api-Supported-Versions: $ref: '#/components/headers/Api-Supported-Versions' RateLimit-Limit: $ref: '#/components/headers/RateLimit-Limit' RateLimit-Remaining: $ref: '#/components/headers/RateLimit-Remaining' RateLimit-Reset: $ref: '#/components/headers/RateLimit-Reset' content: application/json: schema: $ref: '#/components/schemas/rateLimitResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/errorResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: parameters: resolveIdentifiersParam: name: resolveIdentifiers in: query schema: type: boolean description: The api will return resolved identifiers in the meta section of the response by default (true). If the parameter is false, the api will not attempt to resolve the identifiers. example: true categoriesParam: name: categories in: query schema: type: string description: Comma delimited string of category ids. Full list of signal categories can be viewed at /categories. relevanceScoreParam: name: userRelevanceScore in: query schema: $ref: '#/components/schemas/RelevanceScoreRange' style: deepObject explode: true description: A range for filtering signal events based on their relevancy score. examples: lowerBound: value: gte: 0 upperBound: value: lt: 1 bothBounds: value: gt: 0 lt: 1 signalIdsParam: name: signalIds in: query schema: type: string description: Comma delimited string of signalIds example: dilutionTrigger,freeCashFlow Theme: name: theme in: query description: Theme for desired answer (e.g., "Light", "Dark") required: false schema: type: string default: Light eventIdParam: name: eventId in: path required: true description: The UUID of the event to return. schema: type: string format: uuid minimum: 1 Query: name: query in: query description: Query for desired answer (e.g., "fds price") required: true schema: type: string updatedParam: name: updated in: query schema: $ref: '#/components/schemas/DateTimeInterval' style: deepObject explode: true description: A date/time (UTC) interval for filtering signal events based on their last updated date. Defaults to NOW - 7 days if omitted. Users with limited access can only provide the default or a smaller date window. examples: default: value: {} lowerBound: $ref: '#/components/examples/lowerBound' upperBound: $ref: '#/components/examples/upperBound' bothBounds: $ref: '#/components/examples/bothBounds' createdParam: name: created in: query schema: $ref: '#/components/schemas/DateTimeInterval' style: deepObject explode: true description: A date/time (UTC) interval for filtering signal events based on their creation date. Defaults to NOW - 7 days if omitted. Users with limited access can only provide the default or a smaller date window. examples: default: value: {} lowerBound: $ref: '#/components/examples/lowerBound' upperBound: $ref: '#/components/examples/upperBound' bothBounds: $ref: '#/components/examples/bothBounds' idsParam: name: ids in: query schema: type: string description: Comma delimited string of identifiers. An identifier can be a ticker, FactSet entity id, CUSIP or ISIN. You must provide a list of identifiers either via a ids or a portfolios parameter. If both are provided, only ids filter is used. Users with limited access can use only the ids filter and provide at most 10 ids. example: FDS-US,AMZN-US sortParam: name: sort in: query schema: type: string description: Comma delimited string of sortable attributes. The sort order for each sort attribute is ascending unless it is prefixed with a minus sign, in which case it is descending. If sort is not provided, the default sort applied is -userRelevanceScore (userRelevanceScore in descending order). example: -userRelevanceScore,-eventDate DisableNoAnswerResponses: name: disableNoAnswerResponses in: query description: Disables no-result answer responses (no-results and answer without data) required: false schema: type: boolean default: true IncludeThumbnail: name: includeThumbnail in: query description: Includes thumbnail of Adaptive Card in response required: false schema: type: boolean default: false themesParam: name: themes in: query schema: type: string description: Comma delimited string of theme ids. Full list of signal themes can be viewed at /themes. portfoliosParam: name: portfolios in: query schema: type: string description: Name of a portfolio file stored by FactSet. If the portfolio contains more than 1,000 ids, only the first 1,000 ids are processed (e.g. client:techstocks.ofdb). Please note that using this parameter requires full subscription to Signals API. schemas: eventAdaptiveCard: type: object required: - data - meta properties: data: $ref: '#/components/schemas/eventAdaptiveDataItem' meta: $ref: '#/components/schemas/eventMeta' errors: type: array items: $ref: '#/components/schemas/errorItem' example: [] errorItem: type: object required: - id - code - title properties: id: type: string format: uuid example: abc123 code: type: string example: parameterError title: type: string example: Invalid type/value detail: type: string example: Value must be a valid UTC date/time that conforms to ISO 8601 format source: type: object properties: parameter: type: string example: example_value AdaptiveCardAnswerSuccessResponse: type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/AdaptiveCardDataItem' example: [] ThumbnailCard: type: object description: JSON that matches [Thumbnail Card](https://docs.microsoft.com/en-us/microsoftteams/platform/task-modules-and-cards/cards/cards-reference#thumbnail-card) format. nullable: true eventMeta: type: object required: - signalRequestId - idResolutions properties: signalRequestId: type: string format: uuid example: '500123' idResolutions: $ref: '#/components/schemas/idResolutionsMeta' eventRequestBody: type: object properties: created: allOf: - $ref: '#/components/schemas/DateTimeInterval' description: A date/time (UTC) interval for filtering signal events based on their creation date. Defaults to NOW - 7 days if omitted. Users with limited access can only provide the default or a smaller date window. example: example_value updated: allOf: - $ref: '#/components/schemas/DateTimeInterval' description: A date/time (UTC) interval for filtering signal events based on their last updated date. Defaults to NOW - 7 days if omitted. Users with limited access can only provide the default or a smaller date window. example: example_value signalIds: type: string description: Comma delimited string of signalIds example: dilutionTrigger,freeCashFlow ids: type: string description: Comma delimited string of identifiers. An identifier can be a ticker, FactSet entity id, CUSIP or ISIN. You must provide a list of identifiers either via a ids or a portfolios parameter. If both are provided, only ids filter is used. Users with limited access can use only the ids filter and provide at most 10 ids. example: FDS-US,AMZN-US portfolios: type: string description: Name of a portfolio file stored by FactSet. If the portfolio contains more than 1,000 ids, only the first 1,000 ids are processed (e.g. client:techstocks.ofdb). Please note that using this parameter requires full subscription to Signals API. example: example_value themes: type: string description: Comma delimited string of theme ids. Full list of signal themes can be viewed at /themes. example: example_value categories: type: string description: Comma delimited string of category ids. Full list of signal categories can be viewed at /categories. example: example_value userRelevanceScore: allOf: - $ref: '#/components/schemas/RelevanceScoreRange' description: A range for filtering signal events based on their relevancy score. example: example_value sort: type: string description: Comma delimited string of sortable attributes. The sort order for each sort attribute is ascending unless it is prefixed with a minus sign, in which case it is descending. example: example_value resolveIdentifiers: type: boolean description: The api will return resolved identifiers in the meta section of the response by default (true). If the parameter is false, the api will not attempt to resolve the identifiers. example: true AdaptiveCardDataItem: oneOf: - $ref: '#/components/schemas/AdaptiveCard' - $ref: '#/components/schemas/AdaptiveCardWithThumbnail' Error: type: object required: - id - code - title properties: id: type: string example: abc123 code: type: string example: example_value title: type: string example: Example Title links: $ref: '#/components/schemas/ErrorLink' detail: type: string example: example_value source: $ref: '#/components/schemas/ErrorSource' eventAdaptiveDataItem: type: object required: - requestId - signalId - adaptiveCard properties: requestId: type: string description: The id that was requested, ticker, cusip, factset entity id etc. example: FDS-US signalId: type: string description: Signal Id for this event. example: dilutionTrigger adaptiveCard: type: object description: A JSON object that's compliant with MS adaptive card schema. additionalProperties: true example: example_value rateLimitResponse: title: Rate Limit Error Object description: Error returned if any of the user's rate limit have been reached. properties: message: type: string example: API rate limit exceeded errorResponse: type: object required: - message properties: message: type: string description: A short description of the error. example: There was an error processing your request. Please try again later. errors: type: array items: $ref: '#/components/schemas/errorItem' description: Optional list of errors. e.g. Validation errors for multiple parameters example: [] DateTimeInterval: type: object description: 'Represents a valid date/time (UTC) interval. The upper bound of the interval is represented by the attribute **gt** or **gte**. The lower bound of the interval is presented by **lt** or **lte** The interval can contain either of the bounds or both. e.g. { "gt": "2021-05-01T00:00:00.000Z", "lt": "2021-05-08T00:00:00.000Z" } ' minProperties: 1 properties: gt: $ref: '#/components/schemas/DateTime' gte: $ref: '#/components/schemas/DateTime' lt: $ref: '#/components/schemas/DateTime' lte: $ref: '#/components/schemas/DateTime' ErrorSource: type: object properties: pointer: type: string example: example_value parameter: type: string example: example_value AdaptiveCard: type: object description: JSON that matches [Adaptive Card](https://adaptivecards.io/explorer/) format. eventAdaptiveCards: type: object required: - data - meta properties: data: type: array items: $ref: '#/components/schemas/eventAdaptiveDataItem' example: [] meta: $ref: '#/components/schemas/eventMeta' errors: type: array items: $ref: '#/components/schemas/errorItem' example: [] DateTime: type: string format: date-time description: A date/time string in ISO 8601 format. example: '2021-01-01T00:00:00Z' idResolutionsMeta: type: object properties: tickerRegion: type: object additionalProperties: type: string nullable: true example: example_value regionalPermId: type: object additionalProperties: type: string nullable: true example: '500123' AdaptiveCardWithThumbnail: type: object properties: adaptiveCard: $ref: '#/components/schemas/AdaptiveCard' thumbnail: $ref: '#/components/schemas/ThumbnailCard' ErrorLink: type: object required: - about properties: about: type: string example: example_value AnswerFailureResponse: type: object required: - errors properties: errors: type: array items: $ref: '#/components/schemas/Error' example: [] RelevanceScoreRange: type: object description: 'Represents a valid range for user relevancy score for signal events. The upper bound of the range is represented by the attribute **gt** or **gte**. The lower bound of the range is presented by **lt** or **lte** The range can contain either of the bounds or both. e.g. { "gt": 0.4, "lt": 0.8 } ' minProperties: 1 properties: gt: type: number format: float example: 42.5 gte: type: number format: float example: 42.5 lt: type: number format: float example: 42.5 lte: type: number format: float example: 42.5 examples: lowerBound: value: gt: '2022-01-01T00:00:00.000Z' upperBound: value: lt: '2022-01-02T00:00:00.000Z' bothBounds: value: gt: '2022-01-01T00:00:00.000Z' lt: '2022-01-02T00:00:00.000Z' headers: RateLimit-Limit: description: Total number of requests allowed in a specific time window. The time window is two seconds for regular API users and one week for limited access users. schema: type: integer example: 5 RateLimit-Reset: description: Time remaining (in seconds) until the quota is reset. schema: type: integer example: 1000 RateLimit-Remaining: description: Remaining number of requests in the current time window. schema: type: integer example: 4 Api-Version: description: Full semantic version of the API. schema: type: string example: 1.0.0 Api-Supported-Versions: description: Comma-separated list of supported major versions. schema: type: string example: '1' securitySchemes: basicAuth: type: http scheme: basic externalDocs: url: https://developer.factset.com/api-catalog/analytics-datastore-api description: API Documentation