openapi: 3.0.3 info: title: Factset Analytics Datastore About Consensus 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: Consensus description: The consensus or nest of all Estimates items aggregated by a statistic such as mean or median. paths: /factset-estimates/v2/rolling-consensus: get: tags: - Consensus summary: Factset Retrieves Consensus Estimates for a Requested List of Ids and Rolling Fiscal Periods. operationId: getRollingConsensus description: 'Returns FactSet Estimates consensus data using rolling fiscal dates.

The rolling behavior causes fiscal year to automatically roll from one year to the next as the historical perspective date changes. The fiscal period rolls forward as of each period end. This endpoint is optimized to allow the request to simply include a relative fiscal period (e.g. use relativeFiscalStart integer 1 and periodicity ANN for next unreported fiscal year end), and then see what the consensus thought the "next fiscal year" estimates were through time as you "roll" back your perspective dates. This differs from locking down an absolute estimate period such as explicitly stating Fiscal Year 2019. This can be done in the fixed-consensus endpoint.

' parameters: - $ref: '#/components/parameters/ids' - $ref: '#/components/parameters/metrics' - $ref: '#/components/parameters/startDate' - $ref: '#/components/parameters/endDate' - $ref: '#/components/parameters/frequency' - $ref: '#/components/parameters/relativeFiscalStart' - $ref: '#/components/parameters/relativeFiscalEnd' - $ref: '#/components/parameters/periodicity' - $ref: '#/components/parameters/currency' responses: '200': description: Estimate data items content: application/json: schema: $ref: '#/components/schemas/consensusResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: tags: - Consensus summary: Factset Retrieves Consensus Estimates for a Requested List of Ids and Rolling Fiscal Periods description: 'Returns FactSet Estimates consensus data using rolling fiscal dates.

The rolling behavior causes fiscal year to automatically roll from one year to the next as the historical perspective date changes. The fiscal period rolls forward as of each period end. This endpoint is optimized to allow the request to simply include a relative fiscal period (e.g. use relativeFiscalStart integer 1 and periodicity ANN for next unreported fiscal year end), and then see what the consensus thought the "next fiscal year" estimates were through time as you "roll" back your perspective dates. This differs from locking down an absolute estimate period such as explicitly stating Fiscal Year 2019. This can be done in the fixed-consensus endpoint.

' operationId: getRollingConsensusForList requestBody: required: true description: Request object for Rolling Conensus estimates. content: application/json: schema: $ref: '#/components/schemas/rollingConsensusRequest' responses: '200': description: Rolling Conensus Estimate data items content: application/json: schema: $ref: '#/components/schemas/consensusResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' x-microcks-operation: delay: 0 dispatcher: FALLBACK /factset-estimates/v2/fixed-consensus: get: tags: - Consensus summary: Factset Retrieves Consensus Estimates for a Requested List of Ids and Fixed Fiscal Periods operationId: getFixedConsensus description: 'Returns FactSet Estimates consensus data using fixed fiscal dates. For example, if the company''s current unreported year is 12/2020, all data returned by formulas that specify as the period/report basis will be for 12/2005 regardless of what perspective dates (startDate/endDate) are used. The fixed dates are "locked" in time and all estimated values are for that explicit date. If you are requesting that the estimated periods can change with the perspective date, please use the rolling-consensus endpoint. ' parameters: - $ref: '#/components/parameters/ids' - $ref: '#/components/parameters/metrics' - $ref: '#/components/parameters/startDate' - $ref: '#/components/parameters/endDate' - $ref: '#/components/parameters/frequency' - $ref: '#/components/parameters/fiscalPeriodStart' - $ref: '#/components/parameters/fiscalPeriodEnd' - $ref: '#/components/parameters/periodicity' - $ref: '#/components/parameters/currency' responses: '200': description: Consensus Estimate Data Items. content: application/json: schema: $ref: '#/components/schemas/consensusResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: tags: - Consensus summary: Factset Consensus Estimates for Fixed Fiscal Periods description: 'Returns FactSet Estimates consensus data using fixed fiscal dates. For example, if the company''s current unreported year is 12/2020, all data returned by formulas that specify as the period/report basis will be for 12/2005 regardless of what perspective dates (startDate/endDate) are used. The fixed dates are "locked" in time and all estimated values are for that explicit date. If you are requesting that the estimated periods can change with the perspective date, please use the rolling-consensus endpoint. ' operationId: getFixedConsensusForList requestBody: required: true description: Request object for Estimate Data Items. content: application/json: schema: $ref: '#/components/schemas/fixedConsensusRequest' responses: '200': description: Estimate data items content: application/json: schema: $ref: '#/components/schemas/consensusResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' x-microcks-operation: delay: 0 dispatcher: FALLBACK /factset-estimates/v2/consensus-ratings: get: tags: - Consensus summary: Factset Ratings Consensus Estimates to Fetch Buy, Overweight, Hold, Underweight, and Sell. operationId: getConsensusRatings description: 'Returns ratings from the FactSet Estimates database for current and historical for an individual security using rolling fiscal dates as of a specific date. ' parameters: - $ref: '#/components/parameters/ids' - $ref: '#/components/parameters/startDate' - $ref: '#/components/parameters/endDate' - $ref: '#/components/parameters/frequency' responses: '200': description: Estimate data items content: application/json: schema: $ref: '#/components/schemas/consensusRatingsResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: tags: - Consensus summary: Factset Ratings Consensus Estimates to Fetch Buy, Overweight, Hold, Underweight, and Sell. description: 'Returns ratings from the FactSet Estimates database for current and historical for an individual security using rolling fiscal dates as of a specific date. ' operationId: getConsensusRatingsForList requestBody: required: true description: Request object for Estimate Data Items. content: application/json: schema: $ref: '#/components/schemas/consensusRatingsRequest' responses: '200': description: Estimate data items content: application/json: schema: $ref: '#/components/schemas/consensusRatingsResponse' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '415': $ref: '#/components/responses/415' '500': $ref: '#/components/responses/500' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: fixedConsensusRequest: title: Fixed Consensus Request Body description: Request object for requesting fixed consensus estimates. type: object properties: ids: $ref: '#/components/schemas/ids' metrics: $ref: '#/components/schemas/metrics' startDate: $ref: '#/components/schemas/startDate' endDate: $ref: '#/components/schemas/endDate' frequency: $ref: '#/components/schemas/frequency' fiscalPeriodStart: $ref: '#/components/schemas/fiscalPeriodStart' fiscalPeriodEnd: $ref: '#/components/schemas/fiscalPeriodEnd' periodicity: $ref: '#/components/schemas/periodicity' currency: $ref: '#/components/schemas/currency' required: - ids - metrics consensusEstimate: title: Consensus Estimate type: object properties: requestId: description: Identifier that was used for the request. type: string example: IBM-US 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 nullable: true metric: description: 'Company''s Financial statement ''metric'' that is estimated. Use the factset-estimates/v#/metrics endpoint for a complete list. For more details, visit [Online Assistant Page #15034](https://oa.apps.factset.com/pages/15034)' type: string example: SALES nullable: true periodicity: description: The reporting interval for the estimate. This is derived from Estimate Date and is translated to the Period List = ANN, QTR, SEMI, LTMA, or NMTA. type: string example: ANN nullable: true fiscalPeriod: description: 'Company''s ''fiscal period'' for the estimate record. Periods for periodicity of ANN = 1, and SEMI = 2. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598).' type: integer example: 4 nullable: true fiscalYear: description: 'Company''s ''fiscal year'' for the estimate record. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598)' type: integer example: 2018 nullable: true fiscalEndDate: description: 'Company''s ''fiscal end date'' for the estimate record expressed in YYYY-MM-DD format. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598)' type: string format: date example: '2017-12-31' nullable: true relativePeriod: description: '''Fiscal period'' based on relationship to ''estimate date''. This is not applicable for fixed-consensus endpoint. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598)' type: integer example: 2 nullable: true estimateDate: description: 'Date of estimate expressed in YYYY-MM-DD format. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598)' type: string format: date example: '2017-07-24' nullable: true currency: description: 'Currency code for adjusting the data. Use ''ESTIMATE'' as input value for the values in Estimate Currency. For a list of currency ISO codes, visit [Online Assistant Page #1470](https://oa.apps.factset.com/pages/1470).' type: string example: USD nullable: true estimateCurrency: description: Estimate currency of the requested Security type: string example: USD nullable: true mean: description: 'Mean of estimates in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114)' type: number format: double example: 12345.01 nullable: true median: description: 'Median of estimates in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114)' type: number format: double example: 12346.01 nullable: true standardDeviation: description: 'Standard deviation of estimates in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114)' type: number format: double example: 0.011034 nullable: true high: description: 'Highest estimate in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114).' type: number format: double example: 12349.01 nullable: true low: description: 'Lowest estimate in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114)' type: number format: double example: 12344.01 nullable: true estimateCount: description: 'Count or NEST of estimates in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114)' type: integer example: 20 nullable: true up: description: 'Number of Up Revisions within the consensus for the metric and period. The default window size is 100 days For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114).' type: integer example: 6 nullable: true down: description: 'Number of Up Revisions within the consensus for the metric and period. The default window size is 100 days. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114).' type: integer example: 4 nullable: true ids: type: array items: type: string minItems: 1 maxItems: 3000 description: 'The requested list of security identifiers. Accepted ID types include Market Tickers, SEDOL, ISINs, CUSIPs, or FactSet Permanent Ids. * Make Note - id limit of 3000 for defaults, otherwise the service is limited to a 30 second duration. This can be reached when increasing total number of metrics requested and depth of history. * ' example: - FDS-US endDate: type: string description: 'The end date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint. ' example: '2019-12-31' metrics: type: array items: type: string description: 'Requested metrics. Use the metrics endpoint for a list of estimate items. Note, the number of metrics you are allowed to supply is limited to 1 for now. For more details, visit [Online Assistant Page #15034](https://oa.apps.factset.com/pages/15034).' example: - SALES minItems: 1 consensusRatingsRequest: title: Consensus Ratings Request Body description: Request object for requesting consensus ratings estimates. type: object properties: ids: $ref: '#/components/schemas/ids' startDate: $ref: '#/components/schemas/startDate' endDate: $ref: '#/components/schemas/endDate' frequency: $ref: '#/components/schemas/frequency' required: - ids periodicity: type: string enum: - ANN - QTR - SEMI - LTMA - NTMA default: ANN description: The periodicity for the estimates, reflecting Annual, Semi-Annual and Quarterly Estimates. Next-twelve-months (NTMA) and Last-twelve-months (LTMA) also supported. consensusRatingsResponse: type: object title: Consensus Ratings Response properties: data: description: Array of consensus ratings estimate objects type: array items: $ref: '#/components/schemas/consensusRatings' example: [] errorResponse: type: object title: Error Response properties: status: description: status type: string example: Bad Request timestamp: description: timestamp in YYYY-MM-DD HH:MM:SS.SSS type: string example: '2019-11-01 11:09:41.918' format: date-time path: description: The Endpoint path {package}/version/{endpoint} type: string example: /factset-estimates/v2/prices message: description: The plain text error message type: string example: Validation Error subErrors: description: subErrors related to the error message. Null if not applicable. type: object properties: object: description: the operation ID type: string field: description: Parameter Field Name type: string message: description: Error message type: string rejectedValue: description: Rejected Values in an Array type: array items: type: string example: example_value fiscalPeriodEnd: type: string description: "Fiscal period end expressed in absolute date formats. Date that will fall back to most recent completed period during resolution.\n * **Month-end** - MM/YYYY (e.g., 11/2019)\n * **Fiscal Quarter-end** - YYYY/FQ (e.g., 2019/1F, 2019/2F, 2019/3F, 2019/4F)\n * **Semiannual Period-end** - YYYY/FSA (e.g., 2019/1S, 2019/2S)\n * **Fiscal Year-end** - YYYY (e.g. 2019)\n" example: '2020' currency: description: 'Currency code for adjusting the data. Use input as ''ESTIMATE'' for values in Estimate currency. For a list of currency ISO codes, visit [Online Assistant Page #1470](https://oa.apps.factset.com/pages/1470).' type: string example: USD startDate: type: string description: 'The start date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this #endpoint. ' example: '2019-01-01' relativeFiscalStart: type: integer description: Relative fiscal period, expressed as an integer, used to filter results. example: 1 fiscalPeriodStart: type: string description: "Fiscal period start expressed in absolute date formats. Date that will fall back to most recent completed period during resolution.\n * **Fiscal Quarter-end** - YYYY/FQ (e.g., 2019/1F, 2019/2F, 2019/3F, 2019/4F)\n * **Semiannual Period-end** - YYYY/FSA (e.g., 2019/1S, 2019/2S)\n * **Fiscal Year-end** - YYYY (e.g. 2019)\n" example: '2019' consensusRatings: title: Consensus Ratings type: object properties: fsymId: type: string example: SJY281-R nullable: true estimateDate: description: 'Date of estimate expressed in YYYY-MM-DD format. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598)' type: string format: date example: '2017-07-24' nullable: true buyCount: description: The number of Buy ratings taken into account in the calculation of a consensus. This information is shown only for a 100-day consensus. type: integer example: 5 nullable: true overweightCount: description: The number of Overweight ratings taken into account in the calculation of a consensus. This information is shown only for a 100-day consensus. type: integer example: 1 nullable: true holdCount: description: The number of Hold ratings taken into account in the calculation of a consensus. This information is shown only for a 100-day consensus. type: integer example: 1 nullable: true underweightCount: description: The number of Underweight ratings taken into account in the calculation of a consensus. This information is shown only for a 100-day consensus. type: integer example: 1 nullable: true sellCount: description: The number of Sell ratings taken into account in the calculation of a consensus. This information is shown only for a 100-day consensus. type: integer example: 1 nullable: true ratingsNestTotal: description: The total number of ratings taken into account in the calculation of a consensus. This information is shown only for a 100-day consensus. type: integer example: 1 nullable: true ratingsNote: description: 'The mean average of ratings for the fiscal dates indicated, where each underlying rating is given a numerical score and then aggregated to a mean consensus - __*Individual Ratings Scores*__ |Value|Rating Description| ||| |1|Buy| |1.5|Overweight| |2|Hold| |2.5|Underweight| |3|Sell| ' type: number format: double example: 1.85555 nullable: true ratingsNoteText: description: "The mean textual rating for the fiscal dates indicated. The text rating is assigned by falling within the below defined ranges - \n__*Textual Ranges for Average*__\n|Value|Rating Description|\n|||\n|< 1.25|Buy|\n|< 1.75|Overweight|\n|< 2.25|Hold|\n|< 2.75|Underweight|\n|<= 3|Sell|\n" type: string example: Hold nullable: true requestId: description: Identifier that was used for the request. type: string example: IBM-US relativeFiscalEnd: type: integer description: Relative fiscal period, expressed as an integer, used to filter results. example: 3 rollingConsensusRequest: title: Rolling Consensus Request Body description: Request object for requesting rolling consensus estimates. type: object properties: ids: $ref: '#/components/schemas/ids' metrics: $ref: '#/components/schemas/metrics' startDate: $ref: '#/components/schemas/startDate' endDate: $ref: '#/components/schemas/endDate' frequency: $ref: '#/components/schemas/frequency' relativeFiscalStart: $ref: '#/components/schemas/relativeFiscalStart' relativeFiscalEnd: $ref: '#/components/schemas/relativeFiscalEnd' periodicity: $ref: '#/components/schemas/periodicity' currency: $ref: '#/components/schemas/currency' required: - ids - metrics frequency: type: string enum: - D - W - AM - AQ - AY default: D description: "Controls the display frequency of the data returned.\n * **D** = Daily\n * **W** = Weekly, based on the last day of the week of the start date.\n * **AM** = Monthly, based on the start date (e.g., if the start date is June 16, data is displayed for June 16, May 16, April 16 etc.). \n * **AQ** = Quarterly, based on the start date.\n * **AY** = Actual Annual, based on the start date.\n" example: AM consensusResponse: type: object title: Consensus Response properties: data: description: Array of consensus estimate objects type: array items: $ref: '#/components/schemas/consensusEstimate' example: [] examples: badRequestInvalidParameters: summary: Bad Request - Invalid Parameters description: This error message occurs when a request parameter is used in which is not recognized by the service. Please revise your request to include only the parameters listed in the specification. Typical causes are spelling mistakes and use of improper casing. value: status: Bad Request timestamp: '2020-06-12 15:58:54.068' path: /factset-estimates/v2/{endpoint} message: 'Invalid Parameter (s): fakeParameterName1 fakeParameterName2. Please modify your request to use parameters outlined in the specification for this endpoint.' subErrors: null badRequestDateFormat: summary: Bad Request - Date Format description: This bad request occurs when a request doesn't use the YYYY-MM-DD in the date parameters. To resolve, convert your date to YYYY-MM-DD. value: status: Bad Request timestamp: '2019-10-31 16:08:07.945' path: /factset-estimates/v2/{endpoint} message: 'The date parameter ''startDate'' must be in the following date format: YYYY-MM-DD' subErrors: null notWritable: summary: Internal Server Error - Not Writable description: This error may be returned when the server encounters an error writing the JSON response. value: status: Internal Server Error timestamp: '2019-11-05 09:48:29.18' path: /factset-estimates/v2/{endpoint} message: Error writing JSON output subErrors: null unsupportedMediaType: summary: Unsupported Media Type description: This bad request occurs when the media type passed in the request is not supported. Currently the APIs only support 'application/json'. value: status: Unsupported Media Type timestamp: '2019-11-05 09:42:27.237' path: /factset-estimates/v2/{endpoint} message: text/html media type is not supported. Supported media types are application/json subErrors: null generalException: summary: Internal Server Error - General Exception description: This is the most general error that can be returned to by the service. Please `Report Issue` to FactSet. value: status: Internal Server Error timestamp: '2019-11-01 10:36:01.944' path: /factset-estimates/v2/{endpoint} message: Unexpected error subErrors: null badRequestReadTimeout: summary: Bad Request - Read Timeout description: This error may be returned if it takes more than 29 seconds to hear back from the data fetch service. value: status: Bad Request timestamp: '2019-11-04 16:18:38.949' path: /factset-estimates/v2/{endpoint} message: The request took too long. Try again with a smaller request. subErrors: null badRequestFutureDate: summary: Bad Request - Future Date description: This error message occurs when a future date is requested in the startDate and endDate parameters. Please revise your request to include dates as of today's current date or any prior historical date. value: status: Bad Request timestamp: '2020-06-12 15:52:48.091' path: /factset-estimates/v2/{endpoint} message: The use of future dates is not applicable in this endpoint. Please revise your request to include dates up to today's current date. subErrors: null forbidden: summary: Forbidden description: The USERNAME-SERIAL attempted to request the endpoint is not authorized to access. The request was a legal request, but the server is refusing to respond. Please reach out to FactSet Account Team for assistance with authorization. value: status: Forbidden timestamp: '2020-06-12 16:08:51.731' path: /factset-estimates/v2/{endpoint} message: USERNAME-SERIAL does not have permission to use /factset-estimates/v2/{endpoint} subErrors: null unauthenticated: summary: User Authentication Failed description: This occurs when a user is not properly authenticated or recognized by the service. Please double check the USERNAME-SERIAL and API-Key used to request and ensure you are within the IP range specified for the Key. Report Issue under 401 error for help with troubleshooting. value: status: User Authentication Failed timestamp: '2019-10-31 16:08:07.945' path: /factset-estimates/v2/{endpoint} message: User Authentication Failed. subErrors: null badRequestMalformedJSON: summary: Bad Request - Malformed JSON Request description: This error may be returned when the request body is specified as JSON, but is not in proper JSON format. value: status: Bad Request timestamp: '2019-11-05 09:48:29.18' path: /factset-estimates/v2/{endpoint} message: Malformed JSON Request subErrors: null badRequestRequiredParameter: summary: Bad Request - Required Parameter Missing description: This error message occurs when the request does not include the required parameters. Required parameters are indicated with a red asterisks symbol in the specification file. value: status: Bad Request timestamp: '2020-06-12 15:48:42.016' path: /factset-estimates/v2/{endpoint} message: The parameter 'ids' is required and may not be empty. subErrors: null parameters: ids: name: ids in: query schema: type: array items: type: string minItems: 1 maxItems: 3000 required: true explode: false description: 'Security or Entity identifiers. FactSet Identifiers, tickers, CUSIP and SEDOL are accepted input.

***ids limit** = 3000 per request*

* Make Note - id limit of 3000 for defaults, otherwise the service is limited to a 30 second duration. This can be reached when increasing total number of metrics requested and depth of history. * ' examples: oneId: summary: One Market Identifier value: - AAPL-USA multipleIds: summary: Multiple Market Identifiers value: - FDS-US - AAPL-US - MSFT-US frequency: name: frequency in: query schema: type: string enum: - D - W - AM - AQ - AY default: D description: "Controls the frequency of the data returned.\n * **D** = Daily\n * **W** = Weekly, based on the last day of the week of the start date.\n * **AM** = Monthly, based on the start date (e.g., if the start date is June 16, data is displayed for June 16, May 16, April 16 etc.). \n * **AQ** = Quarterly, based on the start date.\n * **AY** = Actual Annual, based on the start date. \n" examples: Daily: summary: D - Daily frequency display based on trading calendar value: D Weekly: summary: W - Weekly - based on the last day of the week of the start date value: W Actual Month: summary: AM - Actual Month - based on the startDate (e.g., if the start date is June 16, data is displayed for June 16, May 16, April 16 etc.). value: AM Actual Annual: summary: AY - Actual Annual - based on the startDate value: AY fiscalPeriodStart: name: fiscalPeriodStart in: query required: false schema: type: string description: "Fiscal period start expressed in absolute date formats. Date that will fall back to most recent completed period during resolution.\n * **Fiscal Quarter-end** - YYYY/FQ (e.g., 2019/1F, 2019/2F, 2019/3F, 2019/4F)\n * **Fiscal Year-end** - YYYY (e.g. 2019)\n" example: '2019' periodicity: name: periodicity in: query required: false schema: type: string enum: - ANN - QTR - SEMI - NTMA - LTMA default: ANN description: "The periodicity for the estimates requested, allowing you to fetch Quarterly, Semi-Annual, Annual, and NTMA/LTMA Estimates.\n * **ANN** - Annual\n * **QTR** - Quarterly\n * **SEMI** - Semi-Annual \n * **NTMA** - Next-Twelve-Months - Time-weighted Annual. Estimates use a percentage of annual estimates from two fiscal years to create an estimate based on the 12-month period. Visit [OA 16614](https://my.apps.factset.com/oa/pages/16614)\nfor detail.\n * **LTMA** - Last-Twelve-Months - Time-weighted Annual. Estimates use a percentage of annual estimates from two fiscal years to create an estimate based on the 12-month period. Visit [OA 16614](https://my.apps.factset.com/oa/pages/16614)\nfor detail.\n \n" metrics: name: metrics in: query required: true schema: type: array items: type: string example: SALES minItems: 1 explode: false description: 'Requested metrics. Use the /metrics endpoint to return a list of available estimate items. Note, the number of metrics you are allowed to supply is limited to 1 for now. **Top 10** most used metrics are **EPS, SALES, DPS, EBITDA,EBIT, PRICE_TGT, CFPS, BPS, NET_INC, and ASSETS**. For more details, visit [Online Assistant Page #15034](https://oa.apps.factset.com/pages/15034). ' examples: Metric: summary: Metrics value: - SALES startDate: name: startDate in: query required: false schema: type: string description: Start date for point in time of estimates expressed in YYYY-MM-DD format. example: '2019-07-30' endDate: name: endDate in: query required: false schema: type: string description: End date for point in time of estimates expressed in YYYY-MM-DD format. example: '2020-07-30' relativeFiscalEnd: name: relativeFiscalEnd in: query required: false schema: type: integer description: Relative fiscal period, expressed as an integer, used to filter results. This is combined with the periodicity parameter to specify a relative estimate period. For example, set to 2 and periodicity to ANN to ask for relative Fiscal Year 1 (FY2). example: 3 currency: name: currency in: query required: false schema: type: string description: 'Currency code for adjusting the data. Use ''ESTIMATE'' as input value for the values in Estimate Currency. For a list of currency ISO codes, visit [Online Assistant Page #1470](https://oa.apps.factset.com/pages/1470).' example: USD fiscalPeriodEnd: name: fiscalPeriodEnd in: query required: false schema: type: string description: "Fiscal period start expressed in absolute date formats. Date that will fall back to most recent completed period during resolution.\n * **Fiscal Quarter-end** - YYYY/FQ (e.g., 2019/1F, 2019/2F, 2019/3F, 2019/4F)\n * **Fiscal Year-end** - YYYY (e.g. 2019)\n" example: '2020' relativeFiscalStart: name: relativeFiscalStart in: query required: false schema: type: integer description: Relative fiscal period, expressed as an integer, used to filter results. This is combined with the periodicity parameter to specify a relative estimate period. For example, set to 1 and periodicity to ANN to ask for relative Fiscal Year 1 (FY1). example: 1 responses: '401': description: Unauthenticated USERNAME-SERIAL. Ensure you are logged in and have successfully generated an API KEY for the IP range you are connecting from. For more help, select the **Report Issue** in the top right corner of this Developer Portal specification card and choose Connectivity 401 or 403 Responses. content: application/json: schema: $ref: '#/components/schemas/errorResponse' examples: Bad Request - Date Format: $ref: '#/components/examples/unauthenticated' '415': description: Unsupported Media Type. This error may be returned when the caller sends a resource in a format that is not accepted by the server. This can be fixed by ensuring that Content-Type header is set to the correct value. In this instance, "application/json" would be the appropriate value. content: application/json: schema: $ref: '#/components/schemas/errorResponse' examples: Bad Request - Date Format: $ref: '#/components/examples/unsupportedMediaType' '403': description: The USERNAME-SERIAL attempted to request the endpoint is not authorized to access. The request was a legal request, but the server is refusing to respond. Please reach out to FactSet Account Team for assistance with authorization. content: application/json: schema: $ref: '#/components/schemas/errorResponse' examples: Bad Request - Date Format: $ref: '#/components/examples/forbidden' '500': description: Internal Server Error. content: application/json: schema: $ref: '#/components/schemas/errorResponse' examples: Internal Server Error - Not Writable: $ref: '#/components/examples/notWritable' Internal Server Error - General Exception: $ref: '#/components/examples/generalException' '400': description: Bad Request. This can occur for several reasons. Please review the "message" for more details. content: application/json: schema: $ref: '#/components/schemas/errorResponse' examples: Bad Request - Date Format: $ref: '#/components/examples/badRequestDateFormat' Bad Request - Missing Required Parameter: $ref: '#/components/examples/badRequestRequiredParameter' Bad Request - Future Date: $ref: '#/components/examples/badRequestFutureDate' Bad Request - Invalid Parameter: $ref: '#/components/examples/badRequestInvalidParameters' Bad Request - Malformed JSON: $ref: '#/components/examples/badRequestMalformedJSON' Bad Request - Read Timeout: $ref: '#/components/examples/badRequestReadTimeout' securitySchemes: basicAuth: type: http scheme: basic externalDocs: url: https://developer.factset.com/api-catalog/analytics-datastore-api description: API Documentation