openapi: 3.0.3 info: title: Factset Analytics Datastore About Results 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: Results paths: /v1/batch-result: get: summary: Factset Returns the Response for a Batch Request description: "Returns the response data for the underlying batch request that is specified by the id.\n\n The Formula API supports Long Running asynchronous requests up to **20 minutes** via the `batch` parameter in the `/time-series` endpoint and up to **10 minutes** in the `/cross-sectional` endpoint.\n\n *This feature is available to Individual Users subscribed to the Performance Package and Performance Package Plus Performance Tiers and all Production Users. If you are unsure which Performance\nTier you are subscribed to or you would like to gain access to the batch capabilities, please contact your FactSet Account Team or \"Report Issue\" above and our support teams can assist.*\n" tags: - Results operationId: getBatchData parameters: - $ref: '#/components/parameters/batchId' responses: '200': description: Request Response Object when batch request has completed and response is created content: application/json: schema: $ref: '#/components/schemas/BatchDataResponse' examples: Time-Series Single Id and Single Data Item: $ref: '#/components/examples/time-series-singleId-singleItem' Cross-Sectional Single Id and Single Data Item: $ref: '#/components/examples/cross-sectional-singleId-singleItem' '202': description: Batch Request has not finished and the result has NOT been created. content: application/json: schema: $ref: '#/components/schemas/BatchStatusResponse' examples: Batch Request Queued: $ref: '#/components/examples/BatchResultQueuedResponse' Batch Request Executing: $ref: '#/components/examples/BatchResultExecutingResponse' '404': description: Not Found headers: api-version: $ref: '#/components/headers/api-version' api-supported-versions: $ref: '#/components/headers/api-supported-versions' api-deprecated-versions: $ref: '#/components/headers/api-deprecated-versions' chain-id: $ref: '#/components/headers/chain-id' content: application/json: schema: $ref: '#/components/schemas/error_detail' example: id: 5EFCCA8940CAEB6E code: batchRequestNotFound title: The Batch Request was not found. It has probably expired. timeStamp: '2019-11-01 11:09:41.918' deprecated: false x-microcks-operation: delay: 0 dispatcher: FALLBACK post: summary: Factset Returns the Status for a Batch Request description: "Returns the response data for the underlying batch request that is specified by the id.\n\n The Formula API supports Long Running asynchronous requests up to **20 minutes** via the `batch` parameter in the `/time-series` endpoint and up to **10 minutes** in the `/cross-sectional` endpoint.\n\n *This feature is available to Individual Users subscribed to the Performance Package and Performance Package Plus Performance Tiers and all Production Users. If you are unsure which Performance\nTier you are subscribed to or you would like to gain access to the batch capabilities, please contact your FactSet Account Team or \"Report Issue\" above and our support teams can assist.*\n" tags: - Results operationId: getBatchDataWithPost responses: '200': description: Request Response Object when batch request has completed and response is created content: application/json: schema: $ref: '#/components/schemas/BatchDataResponse' examples: Time-Series Single Id and Single Data Item: $ref: '#/components/examples/time-series-singleId-singleItem' Cross-Sectional Single Id and Single Data Item: $ref: '#/components/examples/cross-sectional-singleId-singleItem' '202': description: Batch Request has not finished and the result has NOT been created. content: application/json: schema: $ref: '#/components/schemas/BatchStatusResponse' examples: Batch Request Queued: $ref: '#/components/examples/BatchResultQueuedResponse' Batch Request Executing: $ref: '#/components/examples/BatchResultExecutingResponse' '404': description: Not Found headers: api-version: $ref: '#/components/headers/api-version' api-supported-versions: $ref: '#/components/headers/api-supported-versions' api-deprecated-versions: $ref: '#/components/headers/api-deprecated-versions' chain-id: $ref: '#/components/headers/chain-id' content: application/json: schema: $ref: '#/components/schemas/error_detail' example: id: 5EFCCA8940CAEB6E code: batchRequestNotFound title: The Batch Request was not found. It has probably expired. timeStamp: '2019-11-01 11:09:41.918' deprecated: false requestBody: $ref: '#/components/requestBodies/batch-result-postBody' x-microcks-operation: delay: 0 dispatcher: FALLBACK /factset-global-prices/v1/batch-result: get: tags: - Results summary: Factset Returns the Response for a Batch Request description: 'Returns the response data for the underlying batch request that is specified by the id. By default, this endpoint will return data as JSON. If you wish to receive your data in CSV format, you can edit the header to have the "accept" parameter as "text/csv" instead of "application/json". ' operationId: getBatchData parameters: - $ref: '#/components/parameters/batchId' responses: '200': description: Request Response Object when the batch request has been completed and the response is created content: application/json: schema: $ref: '#/components/schemas/batchResultResponse' examples: One Week Prices for Two Securities Filtered Fields: $ref: '#/components/examples/GlobalPricesResponsePricesOnly' Returns: $ref: '#/components/examples/returnsResponseAll' Corporate Actions Ordinary Dividends: $ref: '#/components/examples/OrdinaryDividends' Annualized Dividends: $ref: '#/components/examples/annualizedDividendsResponse' Security Shares: $ref: '#/components/examples/sharesOutstanding' '202': description: The batch Request has not finished and the result has NOT been created. content: application/json: schema: $ref: '#/components/schemas/BatchStatusResponse' examples: Batch Request Queued: $ref: '#/components/examples/BatchStatusQueuedResponse' Batch Request Executing: $ref: '#/components/examples/BatchStatusExecutingResponse' '404': $ref: '#/components/responses/batch404' deprecated: false x-microcks-operation: delay: 0 dispatcher: FALLBACK /v1/{tenant}/report-instances/{reportInstanceId}/results/{reportFileName}: get: operationId: getReportFile tags: - Results summary: Factset Gets the Generated File description: Get the generated file for a report instance. Users can fetch the generated report once the genration is finished. The report instance id and the report file name are passed in as path paramters parameters: - in: path name: tenant description: The code of the tenancy schema: type: string required: true - in: path name: reportInstanceId description: Used to validate that report file name belongs to the report instance passed schema: type: string required: true - in: path name: reportFileName description: 'The report file name that has to be retrieved. report file name. E.g: xyz.pdf' schema: type: string required: true responses: '200': description: Successful operation '400': description: The supplied report instance id was either missing or invalid or the report instance was not found. The supplied report file name was either invalid or not found content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: parameterError title: The ID passed is not a numerical value '401': description: Unauthorised content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthenticated title: User is not authenticated '403': description: No permissions to view the generated file in VRS content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAuthorized title: No permissions to view this item '406': description: Unsupported Accept header. Header needs to be set to application/json. content: application/json: schema: $ref: '#/components/schemas/ErrorList' example: errors: - id: ID of the error code: notAcceptable title: "Unsupported Accept header. Header needs to be set to\n application/json" x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: corporateAction: title: Corporate Action Object type: object properties: fsymId: description: Factset Regional Security Identifier. Six alpha-numeric characters, excluding vowels, with an -R suffix (XXXXXX-R). Identifies the security's best regional security data series per currency. For equities, all primary listings per region and currency are allocated a regional-level permanent identifier. The regional-level permanent identifier will be available once a SEDOL representing the region/currency has been allocated and the identifiers are on FactSet. type: string example: SJY281-R x-fds-sdf: fsym_id x-fds-dh: REGIONAL_FDS_ID nullable: true eventId: description: FactSet identifier that uniquely identifies the Event. type: string example: JTHPFN-A x-fds-sdf: ca_event_id x-fds-dh: EVENT_ID nullable: true eventTypeCode: description: 'Corporate Actions Event type code, possible values: [ DVC, DVCD, DRP, DVS, DVSS, BNS, BNSS, SPO, DSR, FSP, RSP, SPL ]' type: string x-fds-sdf: ca_event_type_code x-fds-dh: EVENT_TYPE_CODE nullable: true example: example_value eventTypeDesc: description: Corporate Actions Event type description. type: string x-fds-sdf: null x-fds-dh: EVENT_TYPE nullable: true example: example_value divTypeCode: description: 'Dividend Type Code. For code descriptions, visit [Online Assistant Page #8764] (https://oa.apps.factset.com/pages/8764). ' type: string x-fds-sdf: div_type_code x-fds-dh: DIVTYPE_NUM nullable: true example: example_value announcementDate: description: Date Event was announced in YYYY-MM-DD format. type: string x-fds-sdf: announcement_date x-fds-dh: ANNDATE nullable: true example: example_value recordDate: description: Date of Record for distribution in YYYY-MM-DD format. type: string x-fds-sdf: record_date x-fds-dh: RECORD_DATE nullable: true example: example_value payDate: description: Date of Payment for distribution in YYYY-MM-DD format. type: string x-fds-sdf: pay_date x-fds-dh: PAYDATE nullable: true example: example_value effectiveDate: description: Effective Date or Ex-Date of distribution in YYYY-MM-DD format. type: string x-fds-sdf: effective_date x-fds-dh: EFFECTIVE_DATE nullable: true example: example_value requestId: description: Identifier that was used for the request. type: string example: AAPL-US additionalProperties: true batchErrorObject: type: object nullable: true properties: id: description: A UUID for this particular occurrence of the problem. type: string nullable: true example: adb01824-252f-4420-b0c6-35a1e3507ef5 code: description: status type: string nullable: true example: GenericError links: description: The Endpoint path {package}/version/{endpoint} type: object properties: about: description: details. type: string example: /factset-global-prices/v1/{endpoint} example: example_value title: description: The plain text error message type: string nullable: true example: Validation Error sharesOutstandingResponseObject: type: object title: Shares Outstanding Object properties: fsymId: description: Security-level FactSet Permanent Identifier associated with the identifier. type: string example: C6J726-S nullable: true date: description: Date of the record in YYYY-MM-DD format. type: string format: date example: '2022-08-10' nullable: true documentId: description: Unique Identifier for each document or filing which contains the outstanding shares position. type: string example: '956881' nullable: true requestId: description: FactSet Security Permanent Identifier that was used for the request. type: string example: C6J726-S nullable: true reportDate: description: Reporting date of the position. type: string format: date example: '2022-08-02' nullable: true publicationDate: description: Exact date that results have been communicated to the market. type: string format: date example: '2022-08-04' nullable: true fiscalYear: description: The company's fiscal year corresponding to the report. type: integer example: 2022 nullable: true reportingPeriodDescription: description: Textual description of the reporting period. type: string example: 2nd Quarter nullable: true reportingPeriod: description: 'Code representing the unique reporting period. Options are as follows: - 1 - 1st Quarter - 2 - 2nd Quarter - 3 - 3rd Quarter - 4 - 4th Quarter - 6 - Mid-Year ' type: integer example: 3 nullable: true description: description: Different stock types based on the rights and benefits from ownership. type: string example: Class A Shares nullable: true adrDescription: description: Different stock types based on the rights and benefits from ownership for the ADR. type: string example: Class A Shares nullable: true adrRatio: description: Number of common or ordinary shares that are equivalent to one American Depositary Receipt (ADR). type: number example: 0.5 nullable: true adrFsymId: description: Unique FactSet generated identifier assigned to a security, representing the ADR security. type: string example: V9GGRZ-S nullable: true totalOutstanding: description: Number of shares outstanding as of `date`. type: number example: 1351.828 nullable: true adrTotalOutstanding: description: Number of shares outstanding for the ADR as of `date`. type: number example: 980.22284 nullable: true additionalProperties: false batchResultResponse: title: Batch Data Response type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/batchResult' example: [] BatchStatus: title: Batch Status type: object properties: id: type: string format: uuid description: the id of batch request. example: abc123 startTime: type: string nullable: true format: date-time description: Time when the batch request is started. This is in Eastern Time Zone. The date-time format is expressed as [YYYY-MM-DD]T[HH:MM:SSS], following ISO 8601. example: '2026-01-15T10:30:00Z' endTime: type: string nullable: true format: date-time description: Time when the batch request is ended. This is in Eastern Time Zone. The date-time format is expressed as [YYYY-MM-DD]T[HH:MM:SSS], following ISO 8601. example: '2026-01-15T10:30:00Z' status: type: string enum: - QUEUED - EXECUTING - DONE - FAILED example: QUEUED error: type: string nullable: true example: The parameter 'formulas' is required and may not be empty. description: Error message. Error: type: object properties: id: type: string example: abc123 code: type: string example: example_value title: type: string example: Example Title BatchData: title: Batch Data description: 'The schema for the batched result is determined by the endpoint you used with the _batch_ parameter. Please see the schema for that endpoint for the definition. ' type: object batchErrorResponse: type: object nullable: true title: Error Response description: Error Default Response properties: errors: type: array nullable: true description: An array containing errors items: $ref: '#/components/schemas/batchErrorObject' example: [] price: title: Price Object type: object properties: fsymId: description: FactSet Permanent Identifier. Six alpha-numeric characters, excluding vowels, with an -R suffix (XXXXXX-R) or a -L Suffix (XXXXXX-L). type: string example: LCV42P-L nullable: true date: description: Ending date for the period expressed in YYYY-MM-DD format. type: string format: date example: '2020-11-19' nullable: true currency: type: string description: 'Currency ISO code. For more details, visit [Online Assistant Page #1470](https://oa.apps.factset.com/pages/1470).' example: USD nullable: true requestId: description: Identifier that was used for the request. type: string example: DDD-USA additionalProperties: true batchResult: title: Batch Data anyOf: - $ref: '#/components/schemas/price' - $ref: '#/components/schemas/returns' - $ref: '#/components/schemas/corporateAction' - $ref: '#/components/schemas/annualizedDividendsObject' - $ref: '#/components/schemas/sharesOutstandingResponseObject' BatchDataRequest: title: Batch Data Request type: object required: - data properties: data: type: object properties: id: type: string format: uuid example: 2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c description: Batch Request identifier. example: example_value error_detail: title: Error Object description: '`Error Object` is the response returned for an unsuccessful request. ' type: object properties: id: description: Unique identifier for the request. Also known as the chain id. type: string example: 5EFCCA8940CAEA6B nullable: true code: description: Textual error code type: string example: notAuthenticated nullable: true title: description: A short, human-readable summary of the problem type: string example: There were either no, invalid, or expired credentials present in the request. nullable: true timestamp: description: timestamp in YYYY-MM-DD HH:MM:SS.SSS type: string format: date-time example: '2020-08-01 11:09:41.918' nullable: true BatchStatusResponse: title: Batch Status Response type: object properties: data: $ref: '#/components/schemas/BatchStatus' BatchDataResponse: title: Batch Data Response type: object properties: data: $ref: '#/components/schemas/BatchData' ErrorList: type: object properties: errors: type: array items: $ref: '#/components/schemas/Error' example: [] returns: title: Returns Object type: object properties: fsymId: description: FactSet Permanent Identifier. Six alpha-numeric characters, excluding vowels, with an -R suffix (XXXXXX-R) or a -L Suffix (XXXXXX-L). type: string example: LCV42P-L nullable: true totalReturn: description: Returns the data for the given input parameters. type: number format: double example: 0.927077 nullable: true date: description: End date of the return. Date in YYYY-MM-DD format. Depending on Frequency and Calendar settings, this could represent the entire return period requested. type: string format: date example: '2020-11-19' nullable: true currency: type: string description: 'Currency ISO code. For more details, visit [Online Assistant Page #1470](https://oa.apps.factset.com/pages/1470).' example: USD nullable: true requestId: description: Identifier that was used for the request. type: string example: DDD-USA annualizedDividendsObject: title: Annualized Dividends Object type: object properties: fsymId: description: Factset Regional Security Identifier. Six alpha-numeric characters, excluding vowels, with an -R suffix (XXXXXX-R). Identifies the security's best regional security data series per currency. For equities, all primary listings per region and currency are allocated a regional-level permanent identifier. The regional-level permanent identifier will be available once a SEDOL representing the region/currency has been allocated and the identifiers are on FactSet. type: string example: SJY281-R x-fds-dh: REGIONAL_FDS_ID nullable: true eventId: description: FactSet identifier that uniquely identifies the Event. type: string example: JTHPFN-A x-fds-dh: EVENT_ID nullable: true effectiveDate: description: Effective Date or Ex-Date of Annualized Dividend in YYYY-MM-DD format. type: string example: '2022-03-11T00:00:00.000Z' x-fds-dh: IAD_EXDATE nullable: true iadDefTradingAdj: description: Annualized Dividend value in the trading currency. The value is adjusted for splits type: number format: float x-fds-dh: IAD_DEF_SPLIT example: 0.7584434 nullable: true currency: description: 'Currency ISO code associated with the annualized dividends.For more details, visit [Online Assistant Page #1470](https://oa.apps.factset.com/pages/1470).' type: string example: USD x-fds-dh: IAD_DEF_CURR_ISO nullable: true requestId: description: Identifier that was used for the request. type: string example: AAPL-US examples: returnsResponseAll: summary: Returns Response of Google (GOOGL) and Apple (AAPL) value: data: - fsymId: WFJYTJ-R date: '2019-10-03' currency: USD totalReturn: 0.927077 requestId: GOOGL - fsymId: MH33D6-R date: '2019-10-03' currency: USD totalReturn: 1.782245 requestId: AAPL time-series-singleId-singleItem: summary: Single Id and Single Data Item description: '`time-series` Request for Single Price Record for IBM ' value: data: - error: 0 formula: P_PRICE(0) requestId: IBM result: values: - 120.77 dates: - '2020-07-09' dataType: DOUBLE objectType: TIMESERIES annualizedDividendsResponse: summary: Annualized Dividends Response of Apple (AAPL-US) value: data: - fsymId: SJY281-R eventId: JTHPFN-A effectiveDate: '2022-03-11' iadDefTradingAdj: 0.7584434 currency: USD requestId: AAPL-US BatchResultQueuedResponse: description: Batch Result Queued Response value: errors: id: 618AC9B50DE76980 code: Accepted title: Please check the status endpoint until the batch request has a status of DONE and then retrieve the results from the results endpoint. timestamp: '2022-01-18 18:29:59.189' sharesOutstanding: summary: Shares Outstanding Response of FactSet (FDS-US) value: data: - fsymId: C6J726-S date: '2023-08-10' documentId: '956881' requestId: C6J726-S reportDate: '2022-08-02' publicationDate: '2022-08-04' fiscalYear: 2022 reportingPeriodDescription: 2nd Quarter reportingPeriod: 3 description: Ordinary Shares adrRatio: 1 adrFsymId: V9GGRZ-S adrDescription: American Despository Shares totalOutstanding: 980.22284 adrTotalOutstanding: 225.30467 GlobalPricesResponsePricesOnly: summary: Prices Response of FactSet (FDS-US) filtered to only return "price" field with dates. value: data: - date: '2021-08-23' requestId: FDS-USA price: 366.61 fsymId: SQFMK3-R currency: USD - date: '2021-08-24' requestId: FDS-USA price: 367.64 fsymId: SQFMK3-R currency: USD - date: '2021-08-25' requestId: FDS-USA price: 376 fsymId: SQFMK3-R currency: USD - date: '2021-08-26' requestId: FDS-USA price: 374.01 fsymId: SQFMK3-R currency: USD - date: '2021-08-27' requestId: FDS-USA price: 376.58 fsymId: SQFMK3-R currency: USD BatchResultExecutingResponse: description: Batch Result Executing Response value: errors: id: 618AC9B50DE76980 code: Accepted title: Please check the status endpoint until the batch request has a status of DONE and then retrieve the results from the results endpoint. timestamp: '2022-01-18 18:29:59.189' batchNotFound: summary: Not Found description: The requested item was not found. value: errors: - id: adb01824-252f-4420-b0c6 code: Not Found links: about: /factset-global-prices/v1 title: The Batch Request was not found. It has probably expired. BatchStatusQueuedResponse: description: Batch Status Queued Response value: data: id: 2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c status: queued startTime: '2021-06-29T18:34:52.168Z' endTime: null error: null OrdinaryDividends: summary: Corporate Actions Ordinary Dividends (DVC) value: data: - fsymId: T0JRMW-R eventId: NQTVZK-A eventTypeCode: DVC eventTypeDesc: Dividend divTypeCode: '1' announcementDate: '2021-02-18' recordDate: '2021-04-21' payDate: '2021-04-20' effectiveDate: '2021-04-19' currency: CHF amtDefNetGrossIndicator: G amtDefTradingAdj: 2.75 amtDefTradingUnadj: 2.75 amtNetTradingAdj: 1.7875 amtNetTradingUnadj: 1.7875 amtGrossTradingAdj: 2.75 amtGrossTradingUnadj: 2.75 currencyDeclared: CHF amtDefDecAdj: 2.75 amtDefDecUnadj: 2.75 amtNetDecAdj: 1.7875 amtNetDecUnadj: 1.7875 amtGrossDecAdj: 2.75 amtGrossDecUnadj: 2.75 dividendsSpecFlag: 0 taxRate: 35 requestId: NESN-CH - fsymId: V5W2SX-R eventId: NQTVZK-A eventTypeCode: DVC eventTypeDesc: Dividend divTypeCode: '1' announcementDate: '2021-02-18' recordDate: '2021-04-21' payDate: '2021-04-20' effectiveDate: '2021-04-19' currency: USD amtDefNetGrossIndicator: G amtDefTradingAdj: 3.003987 amtDefTradingUnadj: 3.003987 amtNetTradingAdj: 1.952592 amtNetTradingUnadj: 1.952592 amtGrossTradingAdj: 3.003987 amtGrossTradingUnadj: 3.003987 currencyDeclared: CHF amtDefDecAdj: 2.75 amtDefDecUnadj: 2.75 amtNetDecAdj: 1.7875 amtNetDecUnadj: 1.7875 amtGrossDecAdj: 2.75 amtGrossDecUnadj: 2.75 dividendsSpecFlag: 0 taxRate: 35 requestId: V5W2SX-R BatchStatusExecutingResponse: description: Batch Status Executing Response value: data: id: 2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c status: executing startTime: '2021-06-29T18:34:52.168Z' endTime: null error: null cross-sectional-singleId-singleItem: summary: Single Equity Id and Single Equity Data Item description: '`cross-sectional` Request for Single Price Record for IBM ' value: data: - dataItemName: requestId result: - IBM dataType: STRING error: 0 - dataItemName: P_PRICE(0) result: - 120.77 dataType: DOUBLE error: 0 parameters: batchId: name: id in: query description: Batch Request identifier. schema: type: string format: uuid required: true allowEmptyValue: false responses: batch404: description: Resource not found. content: application/json: schema: $ref: '#/components/schemas/batchErrorResponse' examples: Batch Request Not Found: $ref: '#/components/examples/batchNotFound' requestBodies: batch-result-postBody: required: true content: application/json: schema: $ref: '#/components/schemas/BatchDataRequest' examples: BatchDataRequest: summary: Batch Result Request value: data: id: 2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c headers: chain-id: description: Unique identifier for the request. Also known as the chain id. schema: type: string example: 5EFCCA8940CAEA6B api-version: description: the full semantic version of the API. schema: type: string example: 1.0.0 api-supported-versions: description: the comma-separated list of supported major versions. schema: type: string example: '1' api-deprecated-versions: description: the comma-separated list of deprecated major versions. schema: type: string example: 1,2 securitySchemes: basicAuth: type: http scheme: basic externalDocs: url: https://developer.factset.com/api-catalog/analytics-datastore-api description: API Documentation