FactSet Quant Factor Library API

The FactSet Quant Factor Library (QFL) API helps to detect investment themes across global equity markets, incorporate ideas into your portfolio construction process, and transform raw data into actionable intelligence.

OpenAPI Specification

quant-factor-library-openapi-original.yml Raw ↑
openapi: 3.0.0
info:
  title: FactSet Quant Factor Library API
  version: 1.0.1
  description: >
    The FactSet FactSet Quant Factor Library (QFL) API helps to detect
    investment themes across global equity markets, incorporate ideas into your
    portfolio construction process, and transform raw data into actionable
    intelligence. Over 2000+ items spanning Factor Groups in-
      * Classification and Reference Data - Asset Data, Country, Industry, and Size
      * Market - Liquidity, Market Sensitivity, Momentum, Technical, Volatility
      * Core Fundamentals - Efficiency, Growth, Management, Profitability, Quality, Solvency, Value
      * Macro and Cross Asset - Commodity, FX Sensitivity, Debt, Economic
      * Alternative - Analyst Sentiment, Corporate Governance, Crowding, Insider Activity.
  termsOfService: http://www.factset.com/api/terms.html
  contact:
    name: FactSet Research Systems
    email: [email protected]
    url: http://www.factset.com/api
  license:
    name: License Information
    url: http://www.factset.com/api/license.html
servers:
  - url: https://api.factset.com/content
    description: Production Server
security:
  - BasicAuth: []
tags:
  - name: Factset Quant Factor Library
paths:
  /factset-quant-factor-library/v1/factors:
    get:
      summary: Factset Retrieves Quant Factors for a small list of ids.
      description: >
        Retrieves Quant Factors for a small list of ids. Request an array of
        specific Factors, or fetch all factors within a Factor Group. Use the
        `library` endpoint to return a full list of available Factors, Factor
        Groups, and related meta data.
      tags:
        - Factset Quant Factor Library
      operationId: getFactors
      parameters:
        - $ref: '#/components/parameters/ids'
        - $ref: '#/components/parameters/factors'
        - $ref: '#/components/parameters/factorGroups'
        - $ref: '#/components/parameters/startDate'
        - $ref: '#/components/parameters/endDate'
        - $ref: '#/components/parameters/frequency'
      responses:
        '200':
          description: Factor Response Object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/factorsResponse'
              examples:
                Specific Factors:
                  $ref: '#/components/examples/allMomentumFactors'
        '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'
    post:
      summary: Factset Retrieves Quant Factors for a large list of ids.
      description: >
        Retrieves Quant Factors for a large list of ids. Use the `library`
        endpoint to return a full list of available Factors, Factor Groups, and
        related meta data.
      tags:
        - Factset Quant Factor Library
      operationId: getFactorsForList
      requestBody:
        description: Request Body for requesting a list or group of Factors and ids.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/factorsRequest'
        required: true
      responses:
        '200':
          description: Factor Response Object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/factorsResponse'
              examples:
                Specific Factors:
                  $ref: '#/components/examples/allMomentumFactors'
        '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'
  /factset-quant-factor-library/v1/library:
    get:
      summary: Factset Retrieve a list of all available factors with relevant meta data.
      description: |
        Fetch the list of all available factors and related meta data.
      tags:
        - Factset Quant Factor Library
      operationId: getFactorLibrary
      parameters:
        - $ref: '#/components/parameters/factorsLibrary'
        - $ref: '#/components/parameters/factorGroups'
      responses:
        '200':
          description: Available Factors and Related Meta Data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/libraryResponse'
              examples:
                Momentum Factor Library:
                  $ref: '#/components/examples/factorLibraryMomentum'
    post:
      summary: Factset Retrieves a list of all available factors with relevant meta data.
      description: |
        Fetch the list of all available factors and related meta data.
      tags:
        - Factset Quant Factor Library
      operationId: getFactorLibraryList
      requestBody:
        description: Available Factors and Related Meta Data.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/libraryRequest'
        required: true
      responses:
        '200':
          description: Library Response Object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/libraryResponse'
              examples:
                Specific Factors:
                  $ref: '#/components/examples/factorLibraryMomentum'
components:
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
  parameters:
    ids:
      name: ids
      in: query
      required: true
      schema:
        type: array
        items:
          type: string
        minItems: 1
        maxItems: 3500
      explode: false
      description: >
        Security or Entity identifiers. FactSet Identifiers, tickers, CUSIP and

        SEDOL are accepted as inputs. **NOTE:** Fixed Income identifiers, ETFs,
        and Options are not accepted in this endpoint. <p>***Maximum possible
        ids limit** =  3500 per request*</p>

        `NOTE:` *The maximum possible ids limit for a request will **decrease**
        based on the size of the historical date range, the number of factors or
        factorGroups requested.*

        *<p> GET Method URL request lines are also limited to a total

        length of 8192 bytes (8KB). In cases where the service allows for
        thousands

        of ids, which may lead to exceeding this request line limit of 8KB, its

        advised for any requests with large request lines to be requested
        through

        the respective "POST" method.</p>*
      examples:
        oneId:
          summary: Single id
          value:
            - FDS-US
        multipleIds:
          summary: Multiple ids
          value:
            - FDS-US
            - IBM-US
            - AAPL-US
    factors:
      name: factors
      in: query
      required: true
      schema:
        type: array
        items:
          type: string
        minItems: 1
        maxItems: 20
      explode: false
      description: >
        Array of individual Factor Items requested. For a list of all available
        factors and descriptions use the `/library` endpoint.***<p>factors
        limit** = 20 individual factors per request*
      example:
        - rsi21D
        - ulcer252D
        - turbulence21D
    factorsLibrary:
      name: factors
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
        minItems: 1
        maxItems: 20
      explode: false
      description: >
        Array of individual Factor Items requested for the library endpoint. Use
        the factorGroups parameter to pull for a full list of factors based off
        the input group. 
      example:
        - rsi21D
        - ulcer252D
        - turbulence21D
    factorGroups:
      name: factorGroups
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
        minItems: 1
        maxItems: 5
      description: >
        Fetch a collection of Factors that fall within one of the below
        "groups". For example, resting factorGroup=Momentum will return all
        factors under the momentum group. To know which items are available in
        each group use the /library endpoint.***<p>factor groups limit** = 5
        factor groups per request*

        ### Classification and Reference

        |Group|Descriptions|

        |||

        |Asset_Data|Easily input security-level metadata into your quantitative
        research process. Common metrics used include Days Since Report, Days to
        Report, ADR Flag, and Minimum Lot Size. Integrate variables from FactSet
        Reference, FactSet Fundamentals, and FactSet Estimates databases to
        impose portfolio constraints and access general reference data.|

        |Country|Evaluate securities based on the countries in which they have
        the highest exposure. Analyze company-level exposures across various
        countries and measure how concentrated a firm’s business is within their
        countries of operation. Metrics are derived from FactSet Reference and
        FactSet Geographic Revenue Exposure (GeoRev) databases and include
        Country Exposure, Country of Incorporation, and Country of Risk.|

        |Industry|Classify securities based on the industries in which they
        generate the majority of their revenues. Incorporate variables from the
        FactSet Revere Business and Industry Classification System (RBICS)
        database to measure how concentrated a firm’s business is within the
        industries they operate and across various sub-sectors. Common metrics
        include Industry Classifications, Industry Exposures, and Industry
        Concentration.|

        |Size|Assess how large or small a company is relative to industry peers.
        Create size buckets and clarify the systematic portion of company
        returns using variables from FactSet Prices, FactSet RBICS, FactSet
        Fundamentals, and FactSet Estimates. Common metrics include Size
        Classification, Enterprise Value, and Market Share.|

        ### Market Factors

        |Group|Descriptions|

        |||

        |Liquidity|Assess how investible a security is, as well as the potential
        market impact of a trade using signals built off pricing and volume data
        from FactSet Prices. Integrate factors as components into your alpha
        models to evaluate systematic risk or input them into your portfolio
        construction models to dictate how much of an asset can be bought or
        sold based on liquidity levels. Common metrics include Average Dollars
        Traded, Share Turnover, and Bid Ask Spread.|

        |Market Sensitivity|Clarify the common variations in stock returns
        attributable to the performance of their local market indices. Leverage
        regressions performed between security-level and market-index returns
        across different return horizons and methodologies. Metrics are derived
        from FactSet Prices and include Beta R-Squared, Up Market Beta, and Down
        Market Beta.|

        |Momentum|Analyze the historical momentum of a security and uncover how
        each underlying data item, calculation, and horizon can be meaningful in
        different situations. Metrics are derived from FactSet Prices and
        include 52W Position, Return Momentum, and Velocity.|

        |Technical|Forecast the direction of future price movements based on
        historical market data and leverage heuristic or pattern-based signals
        from FactSet Prices. Common metrics include Average True Range, Ulcer
        Performance Index, and Money Flow Volume.|

        |Volatility|Measure the uncertainty in asset price movements with
        indicators from the FactSet Prices database. Capture various forms of
        uncertainty by employing statistical calculations on security
        performance data. Common metrics include Return Volatility,
        Semivariance, and Turbulence.|

        ### Core Fundamentals

        |Group|Descriptions|

        |||

        |Efficiency|Leverage core financial data to determine how effectively a
        company uses its assets, collects payments, and operates its business.
        Most variables are measured as turnover ratios and include changes over
        time to provide transparency into the efficiency of each business
        process. Metrics are derived from FactSet Fundamentals and FactSet
        Estimates and include Asset Turnover, Receivables Turnover, and Cash
        Conversion Cycle|

        |Growth|Measure a company’s ability to grow faster than its peers.
        Compare the future expected growth of a company with its historical
        growth and view growth rates adjusted for stability. Integrate variables
        from FactSet RBICS, FactSet Fundamentals, and FactSet Estimates to
        analyze growth rates over multiple horizons including Market Share,
        Sales, and EPS Growth|

        |Management|Gain insight into how management finances their business and
        the decisions they make that impact the core financial statements. These
        choices are reflected in changes to total debt or equity, the overall
        size of the balance sheet, and decisions around the accounting methods
        used. Metrics are derived from FactSet Fundamentals and FactSet
        Estimates and include Capital Expenditures (CAPEX) Growth, Equity
        Buyback Ratio, and Depreciation & Amortization Variability|

        |Profitability|Evaluate a company’s ability to generate income relative
        to its revenue or balance sheet metrics. Identify lucrative businesses
        relative to their industry, region, and size profile. Metrics are
        derived from FactSet Fundamentals and FactSet Estimates and include
        Return on Assets, Return on Invested Capital Change, and Return on Total
        Equity

        |Quality|Understand the overall financial health and quality of a
        company’s business. Use historical data from FactSet Fundamentals to
        analyze balance sheet health, stability of earnings and profit margins,
        variability in cash flows, and trends that look beyond headline
        financial metrics. Common metrics include Cash Earnings Ratio
        Variability, Revenue Stability, and Accruals Ratios. Composite quality
        scores (i.e., the Piotroski F-Score, Beneish M-Score, and Altman
        Z-Score) and their underlying components are also available as
        individual metrics.|

        |Solvency|Measure a company’s ability to meet their short- and long-term
        financial obligations and determine the degree of leverage employed to
        run their business. Incorporate financial ratios from FactSet
        Fundamentals and FactSet Estimates to quantify liability or debt
        obligation relative to earnings, cash flows, equities, or items from the
        asset side of the balance sheet. Common metrics include Current Ratio,
        Current Asset Liquidity, and Debt to Equity Change.|

        |Value|Quickly determine how cheap or expensive a company is based on
        common security-level characteristics from FactSet Prices, FactSet
        Fundamentals, and FactSet Estimates. Apply factors as an intersection
        between other factors for a more customized analysis, such as finding
        the cheapest stocks among the highest quality companies. Common metrics
        include Earnings Yield, Book to Price, and Revenue to Enterprise Value.|

        ### Macro and Cross-Asset

        |Group|Descriptions|

        |||

        |Commodity|Quantify the impact movements in the commodity markets have
        on equity prices. Metrics are derived from FactSet Prices and allow you
        to measure company-level exposure to commodities such as Gold, Crude
        Oil, Coffee, and Live Cattle.|

        |FX_Sensitivity| Analyze security-level sensitivity to fluctuations in
        the currency markets. Metrics are derived from FactSet Prices and allow
        you to identify company exposures to currencies such as USD, EUR, JPY,
        and CNY.

        |Debt|Uncover details related to company debt through issuer-level
        factor exposures. Use the FactSet Fixed Income Prices & Derived
        Analytics database to aggregate metrics at the company level. Common
        metrics include Effective Duration, Option Adjusted Spread, and Yield to
        Worst.|

        |Economic|Capture daily security exposures to leading economic indicator
        forecasts. Leverage the Quant Factor Library’s detailed country exposure
        model to attribute economic measures to individual companies. Metrics
        are derived from FactSet Economic Estimates and include Real GPD Growth,
        Industrial Production Growth, Core CPI Inflation, and Policy Rates.

        ### Alternative

        |Group|Descriptions|

        |||

        |Analyst_Sentiment|Analyze a security’s outlook from the perspective of
        a sell-side research analyst. Leverage consensus estimates data from the
        FactSet Estimates database to analyze the directional change in estimate
        revisions for various financial statement items and time periods. Common
        metrics include Sales Estimate Revisions, Free Cash Flow Estimate
        Revisions, and Robust Estimate Revisions.|

        |Corporate_Governance|Identify companies with strong corporate
        governance. Analyze the profile of a company’s management and board
        based on tenure, diversity, compensation incentives, and more factors
        from the FactSet People database. Common metrics include Management -
        Average Age, Board - Activist Member, and Executives - Average Bonus.|

        |Crowding|Understand the degree to which investors own, purchase, or
        sell a security. View characteristics of each investor’s profile and
        characterize crowding from passive, active, institutional, ETF, and
        hedge fund investors. Use metrics from FactSet Ownership, FactSet
        Prices, and FactSet Fundamentals to help identify potential effects of
        crowding such as whether certain investor types are acquiring or
        divesting from a given security. Common metrics include Active Buyer
        Percent of Portfolio Change, ETF Days to Liquidate, and Hedge Fund
        Percent Outstanding.|

        |Insider_Activity|Measure the degree to which insiders own, purchase, or
        sell their company’s stock. Analyze the sentiment of those with access
        to material non-public information or determine how the amount of
        insider ownership may impact management’s key business decisions.
        Metrics are derived from FactSet Ownership and include Insider Percent
        Outstanding, Insider Number of Buys, and Insider Seller Position Change.

        |ESG|Analyze Environmental, Social and Governance (ESG) behavior, which
        are aggregated and categorized into continuously updated, material ESG
        scores to uncover risks and opportunities from companies. Truvalue Labs
        focuses on company ESG behavior from external sources and includes both
        positive and negative events that go beyond traditional sources of ESG
        risk data.
      explode: false
      example:
        - Momentum
        - Technical
        - Volatility
    startDate:
      name: startDate
      in: query
      required: true
      schema:
        type: string
      description: >
        The start date requested for a given date range in **YYYY-MM-DD**
        format. Future dates (T+1) are not accepted in this endpoint.
      example: '2020-11-30'
    endDate:
      name: endDate
      in: query
      required: true
      schema:
        type: string
      description: >
        The end date requested for a given date range in **YYYY-MM-DD** format.
        Future dates (T+1) are not accepted in this endpoint. **NOTE:** The
        input endDate must come AFTER the input startDate.
      example: '2021-11-30'
    frequency:
      name: frequency
      in: query
      schema:
        type: string
        enum:
          - D
          - W
          - M
          - AM
          - CQ
          - AY
          - CY
          - ''
        default: M
      description: |
        Controls the display frequency of the data returned.
          * **D** = Daily
          * **W** = Weekly, based on the last day of the week of the start date.
          * **M** = Monthly, based on the last trading day of the month.
          * **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.).
          * **CQ** = Quarterly based on the last trading day of the calendar quarter (March, June, September, or December).
          * **AY** = Actual Annual, based on the start date.
          * **CY** = Calendar Annual, based on the last trading day of the calendar year.
      example: M
  schemas:
    factorsRequest:
      title: Factors Request Body
      description: Request object for requesting factors.
      type: object
      properties:
        ids:
          $ref: '#/components/schemas/ids'
        factors:
          $ref: '#/components/schemas/factorsParam'
        factorGroups:
          $ref: '#/components/schemas/factorGroupsParam'
        startDate:
          $ref: '#/components/schemas/startDate'
        endDate:
          $ref: '#/components/schemas/endDate'
        frequency:
          $ref: '#/components/schemas/frequency'
      required:
        - ids
        - factors
        - startDate
        - endDate
    factorsResponse:
      type: object
      title: Factors Response Object
      properties:
        data:
          description: Array of factors objects
          type: array
          items:
            $ref: '#/components/schemas/factors'
    factors:
      title: Factors Object
      type: object
      properties:
        requestId:
          description: Identifier that was used for the request.
          type: string
          example: TSLA-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: HTM0LK-R
        date:
          description: The as of date of the factors in YYYY-MM-DD format.
          type: integer
          example: 20210204
      additionalProperties:
        type: object
        properties:
          integer:
            description: >-
              Factors with an Integer Data Type. These include commonly Flags or
              Indicators.
            type: integer
            example:
              adrFlag: 1
          text:
            description: >-
              Factors with a String Data Type. These include reference and
              classification fields.
            type: string
            example:
              countryOfRisk: US
          number:
            description: >-
              Factors with a Number/Double data type. This is the most common
              factor type, encompassing the pre-calculated factor values.
            type: number
            format: double
            example:
              rsi21D: 12.34
      required:
        - requestId
        - fsymId
        - date
    libraryRequest:
      title: Factors Request Body
      description: Request object for requesting factors.
      type: object
      properties:
        factors:
          $ref: '#/components/schemas/factorsParam'
        factorGroups:
          $ref: '#/components/schemas/factorGroupsParam'
    libraryResponse:
      type: object
      title: Library Response Object
      properties:
        data:
          description: Array of library objects
          type: array
          items:
            $ref: '#/components/schemas/library'
    library:
      title: Library Object
      type: object
      properties:
        factor:
          description: The Factor field that can be requested in the factors endpoint.
          type: string
          example: rsi21D
        name:
          description: The Name or Description of the Factor
          type: string
          example: 21D Relative Strength Index
        factorGroup:
          description: The Factor Group associated to the Factor.
          type: string
          example: Momentum
        sdfName:
          description: The Standard DataFeed name of the factor for use of mapping.
          type: string
          example: RSI_21D
        formula:
          description: The FactSet formula associated to the factor
          type: string
          example: QFL_RSI(0,21D)
        tags:
          description: Associated Tags regarding the factor for enhanced searching.
          type: string
          example: momentum,prices
        format:
          description: The data type of the factor, including integer, double, or string.
          type: string
          example: double
    ids:
      type: array
      items:
        type: string
      minItems: 1
      maxItems: 3500
      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
    factorsParam:
      type: array
      items:
        type: string
      minItems: 1
      maxItems: 20
      description: |
        List of Factors.
      example:
        - rsi21D
        - ulcer252D
    factorGroupsParam:
      type: array
      items:
        type: string
      minItems: 1
      maxItems: 5
      description: |
        List of Factor Groupings to return all factors within the group.
      example:
        - Momentum
        - Technical
    startDate:
      type: string
      description: >
        The start date requested for a given date range in **YYYY-MM-DD**
        format. Future dates (T+1) are not accepted in this endpoint.
      example: '2019-01-01'
    endDate:
      type: string
      description: >
        The end date requested for a given date range in **YYYY-MM-DD** format.
        Future dates (T+1) are not accepted in this endpoint. **NOTE:** The
        input endDate must come AFTER the input startDate.
      example: '2019-12-31'
    frequency:
      type: string
      enum:
        - D
        - W
        - M
        - AM
        - CQ
        - AY
        - CY
        - ''
      default: D
      description: |
        Controls the display frequency of the data returned.
          * **D** = Daily
          * **W** = Weekly, based on the last day of the week of the start date.
          * **M** = Monthly, based on the last trading day of the month.
          * **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.).
          * **CQ** = Quarterly based on the last trading day of the calendar quarter (March, June, September, or December).
          * **AY** = Actual Annual, based on the start date.
          * **CY** = Calendar Annual, based on the last trading day of the calendar year.
      example: D
    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-quant-factor-library/v1/factors
        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
  responses:
    '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'
    '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'
    '403':
      description: >-
        The USERNAME-SERIAL attempted to request the endpoint is not authorized
        to access. The request was a legal request, but the servier 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'
    '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'
    '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'
  examples:
    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 Re

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/factset/refs/heads/main/openapi/quant-factor-library-openapi-original.yml