// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../../resource'; import * as Core from '../../../core'; import * as RollingDetailAPI from './rolling-detail'; import * as Shared from '../../shared'; export class RollingDetail extends APIResource { /** * Updated intraday, the FactSet detail estimates apis provide individual * broker-level estimates collected from over 800 sell-side analysts. This database * contains 20+ years of broker history across more than 59,000 global companies. * Content is provided for "rolling" fiscal periods. */ create( body: RollingDetailCreateParams, options?: Core.RequestOptions, ): Core.APIPromise { return this._client.post('/factset-estimates/v2/rolling-detail', { body, ...options }); } /** * Updated intraday, the FactSet detail estimates apis provide individual * broker-level estimates collected from over 800 sell-side analysts. This database * contains 20+ years of broker history across more than 59,000 global companies. * Content is provided for "rolling" fiscal periods. */ list( query: RollingDetailListParams, options?: Core.RequestOptions, ): Core.APIPromise { return this._client.get('/factset-estimates/v2/rolling-detail', { query, ...options }); } } export interface RollingDetailCreateParams { /** * 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. _ */ ids: Array; /** * 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). */ metrics: Array; /** * 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). */ currency?: string; /** * 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. */ endDate?: string; /** * Controls the display frequency of the data returned. * * - **D** = Daily * - **W** = Weekly, based on the last day of the week of the start date. * - **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.). * - **AQ** = Quarterly, based on the start date. * - **AY** = Actual Annual, based on the start date. */ frequency?: 'D' | 'W' | 'AM' | 'AQ' | 'AY'; /** * Include All filter is used to identify included and excluded broker details from * the consensus By default the service would return only the brokers included in * the consensus- * * - **TRUE** = Returns all the brokers included and excluded in the consensus * - **FALSE** = Returns only the broker details included in the consensus */ includeAll?: boolean; /** * The periodicity for the estimates, reflecting Annual, Semi-Annual and Quarterly * Estimates. */ periodicity?: 'ANN' | 'QTR' | 'SEMI'; /** * Relative fiscal period, expressed as an integer, used to filter results. */ relativeFiscalEnd?: number; /** * Relative fiscal period, expressed as an integer, used to filter results. */ relativeFiscalStart?: number; /** * 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. */ startDate?: string; } export interface RollingDetailListParams { /** * 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. \* */ ids: Array; /** * 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). */ metrics: Array; /** * 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). */ currency?: string; /** * End date for point in time of estimates expressed in YYYY-MM-DD format. */ endDate?: string; /** * Controls the frequency of the data returned. * * - **D** = Daily * - **W** = Weekly, based on the last day of the week of the start date. * - **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.). * - **AQ** = Quarterly, based on the start date. * - **AY** = Actual Annual, based on the start date. */ frequency?: 'D' | 'W' | 'AM' | 'AQ' | 'AY'; /** * Include All filter is used to identify included and excluded broker details from * the consensus By default the service would return only the brokers included in * the consensus- * * - **TRUE** = Returns all the brokers included and excluded in the consensus * - **FALSE** = Returns only the broker details included in the consensus */ includeAll?: boolean; /** * The periodicity for the estimates requested, allowing you to fetch Quarterly, * Semi-Annual, and Annual Estimates. * * - **ANN** - Annual * - **QTR** - Quarterly * - **SEMI** - Semi-Annual */ periodicity?: 'ANN' | 'QTR' | 'SEMI'; /** * 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). */ relativeFiscalEnd?: number; /** * 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). */ relativeFiscalStart?: number; /** * Start date for point in time of estimates expressed in YYYY-MM-DD format. */ startDate?: string; } export namespace RollingDetail { export import RollingDetailCreateParams = RollingDetailAPI.RollingDetailCreateParams; export import RollingDetailListParams = RollingDetailAPI.RollingDetailListParams; }