FactSet Fundamentals API

Gain access to current, comprehensive, and comparative information on securities in worldwide developed and emerging markets. Composed of annual and interim/quarterly data and detailed historical financial statement content, FactSet Fundamentals_.

OpenAPI Specification

fundamentals-openapi-original.yml Raw ↑
openapi: 3.0.0
info:
  version: 2.1.0
  title: FactSet Fundamentals API
  contact:
    name: FactSet Research Systems
    email: [email protected]
    url: https://developer.factset.com/contact
  license:
    name: Apache License, Version 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  description: >
    Gain access to current, comprehensive, and comparative information on
    securities in worldwide developed and emerging markets. Composed of annual
    and interim/quarterly data, detailed historical financial statement content,
    per-share data, and calculated ratios, FactSet Fundamentals provides you
    with the information you need for a global investment perspective.
externalDocs:
  description: API Documentation
  url: https://developer.factset.com/api-catalog/factset-fundamentals-api
servers:
  - url: https://api.factset.com/content/factset-fundamentals/v2
    description: Production
security:
  - FactSetApiKey: []
  - FactSetOAuth2: []
paths:
  /fundamentals:
    get:
      tags:
        - Fundamentals
      summary: Factset Returns Company Fundamental Data.
      operationId: getFdsFundamentals
      x-factset-sdk-ignore: true
      description: >
        Retrieves FactSet Fundamental standardized data for specified
        securities. Use the ```/metrics``` endpoint to retrieve a full list of
        valid metrics or data items.



        The ```/fundamentals``` endpoint currently supports Long Running
        asynchronous requests up to **20 minutes** via batch parameter. Id
        limits are increased to 2000 ids per request when using batch
        capability. This 2000 id limit has been derived based on single metric
        for one day. This feature is available for all users.       
      parameters:
        - $ref: '#/components/parameters/idsBatchMax2000'
        - $ref: '#/components/parameters/periodicity'
        - $ref: '#/components/parameters/fiscalPeriodStart'
        - $ref: '#/components/parameters/fiscalPeriodEnd'
        - $ref: '#/components/parameters/metrics'
        - $ref: '#/components/parameters/currency'
        - $ref: '#/components/parameters/updateType'
        - $ref: '#/components/parameters/batch'
      responses:
        '200':
          description: Fundamental data items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/fundamentalsResponse'
              examples:
                Result of Single Company (FDS-US), sales(FF_SALES) details for the given period:
                  $ref: '#/components/examples/resultOfSingleIdwithSingleMetricItem'
                Result of Multiple companies single metric item details:
                  $ref: '#/components/examples/resultOfMultipleIdwithSingleMetricItem'
                Result of Single Company (FDS-US), and Multiple Metrics (FF_SALES, FF_PE):
                  $ref: '#/components/examples/resultOfSingleIdwithMultipleMetricItem'
        '202':
          description: Batch request has been accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchStatusResponse'
              examples:
                Batch Request Accepted:
                  $ref: '#/components/examples/BatchStatusAcceptedResponse'
          headers:
            Location:
              description: Path to Batch Request status.
              schema:
                type: string
              example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c
        '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:
      tags:
        - Fundamentals
      summary: Factset Returns Company Fundamental Data.
      description: >
        Retrieves FactSet Fundamental standardized data for specified
        securities. Use the ```/metrics``` endpoint to retrieve a full list of
        valid metrics or data items.



        The ```/fundamentals``` endpoint currently supports Long Running
        asynchronous requests up to **20 minutes** via batch parameter. Id
        limits are increased to 30000 ids per request when using batch
        capability. This 30000 id limit has been derived based on single metric
        for one day. This feature is available for all users. 
      operationId: getFdsFundamentalsForList
      requestBody:
        required: true
        description: Request object for requesting fundamentals data
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/fundamentalsRequest'
            examples:
              Single Company (FDS-US), sales(FF_SALES) details for the given period:
                $ref: '#/components/examples/postBodyOfSingleIdwithSingleMetricItem'
              Multiple Companies single metric item details:
                $ref: '#/components/examples/postBodyOfMultipleIdwithSingleMetricItem'
              Single Company (FDS-US), and Multiple Metrics (FF_SALES, FF_PE):
                $ref: '#/components/examples/postBodyOfSingleIdwithMultipleMetricItem'
              Batch Request for (FDS-US), and Multiple Metrics (FF_SALES, FF_PE):
                $ref: '#/components/examples/BatchFundamentalsRequestPost'
      responses:
        '200':
          description: Fundamental data items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/fundamentalsResponse'
              examples:
                Result of Single Company (FDS-US), sales(FF_SALES) details for the given period:
                  $ref: '#/components/examples/resultOfSingleIdwithSingleMetricItem'
                Result of Multiple Companies single metric item details:
                  $ref: '#/components/examples/resultOfMultipleIdwithSingleMetricItem'
                Result of Single Company (FDS-US), and Multiple Metrics (FF_SALES, FF_PE):
                  $ref: '#/components/examples/resultOfSingleIdwithMultipleMetricItem'
        '202':
          description: Batch request has been accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchStatusResponse'
              examples:
                Batch Request Accepted:
                  $ref: '#/components/examples/BatchStatusAcceptedResponse'
          headers:
            Location:
              description: Path to Batch Request status.
              schema:
                type: string
              example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c
        '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'
  /segments:
    get:
      tags:
        - Segments
      summary: Factset Returns Company Segments data.
      operationId: getFdsSegments
      x-factset-sdk-ignore: true
      description: >
        Retrieves Fundamentals Metrics data for individual companies.


        The ```/segments``` endpoint currently supports Long Running
        asynchronous requests up to **20 minutes** via batch parameter. Id
        limits are increased to 2000 ids per request when using batch
        capability.This 2000 id limit has been derived based on single metric
        for one day. This feature is available for all users.
      parameters:
        - $ref: '#/components/parameters/idsBatchMax2000'
        - $ref: '#/components/parameters/segmentsPeriodicity'
        - $ref: '#/components/parameters/fiscalPeriodStart'
        - $ref: '#/components/parameters/fiscalPeriodEnd'
        - $ref: '#/components/parameters/segmentsMetrics'
        - $ref: '#/components/parameters/segmentType'
        - $ref: '#/components/parameters/batch'
      responses:
        '200':
          description: Segment data items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/segmentsResponse'
              examples:
                Result of Single Company (AAPL-US), sales(SALES) details for the given period:
                  $ref: >-
                    #/components/examples/resultOfSingleIdwithSingleMetricItemSegment
                Result of Multiple Companies' single metric item details:
                  $ref: >-
                    #/components/examples/resultOfMultipleIdwithSingleMetricItemSegment
        '202':
          description: Batch request has been accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchStatusResponse'
              examples:
                Batch Request Accepted:
                  $ref: '#/components/examples/BatchStatusAcceptedResponse'
          headers:
            Location:
              description: Path to Batch Request status.
              schema:
                type: string
              example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c
        '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:
      tags:
        - Segments
      summary: Factset Returns Company Segment Data.
      description: >
        Retrieves Sales Metrics data for specified companies.


        The ```/segments``` endpoint currently supports Long Running
        asynchronous requests up to **20 minutes** via batch parameter. Id
        limits are increased to 30000 ids per request when using batch
        capability.This 30000 id limit has been derived based on single metric
        for one day. This feature is available for all users.
      operationId: getFdsSegmentsForList
      requestBody:
        required: true
        description: Request object for requesting segments data
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/segmentsRequest'
            examples:
              Single Company (AAPL-US), sales(SALES) details for the given period:
                $ref: >-
                  #/components/examples/postBodyOfSingleIdwithSingleMetricItemSegment
              Multiple Companies single metric item details:
                $ref: >-
                  #/components/examples/postBodyOfMultipleIdwithSingleMetricItemSegment
              Batch Request for (FDS-US), and Multiple Metrics (SALES):
                $ref: '#/components/examples/batchSegmentsRequestPost'
      responses:
        '200':
          description: Segment data items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/segmentsResponse'
              examples:
                Result of Single Company (FDS-US), sales(FF_SALES) details for the given period:
                  $ref: >-
                    #/components/examples/resultOfSingleIdwithSingleMetricItemSegment
                Result of Multiple companies single metric item details:
                  $ref: >-
                    #/components/examples/resultOfMultipleIdwithSingleMetricItemSegment
        '202':
          description: Batch request has been accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchStatusResponse'
              examples:
                Batch Request Accepted:
                  $ref: '#/components/examples/BatchStatusAcceptedResponse'
          headers:
            Location:
              description: Path to Batch Request status.
              schema:
                type: string
              example: batch-status?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c
        '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'
  /metrics:
    get:
      summary: Returns available FactSet Fundamental metrics and ratios.
      operationId: getFdsFundamentalsMetrics
      tags:
        - Metrics
      description: >
        Returns list of available FF_* metrics that can be used in the `metrics`
        parameter of related endpoints. These are related to FactSet
        Fundamentals standardized data. As Reported will be available in future
        endpoints. Leave Category and Subcategory blank to request all available
        items. The Endpoint Data model is optimized for time-series data with
        periodicity. Some items in this list are non-time series.

        **For methodology definitions, reference the `OApageID` or `OAurl`
        response items to launch the available methodology page.**
      parameters:
        - $ref: '#/components/parameters/category'
        - $ref: '#/components/parameters/subcategory'
        - $ref: '#/components/parameters/metricDataType'
      responses:
        '200':
          description: Fundamental data metric items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/metricsResponse'
        '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'
  /batch-status:
    get:
      tags:
        - Batch Status
      summary: |-
        Factset Returns the status for a Batch Request
      description: >-
        Return the status for the underlying batch request that is specified by
        the id.
      operationId: getBatchStatus
      parameters:
        - $ref: '#/components/parameters/batchId'
      responses:
        '201':
          description: >-
            The batch Request has been completed and the response has been
            created.
          headers:
            Location:
              description: Path to Batch Request result.
              schema:
                type: string
              example: batch-result?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchStatusResponse'
              examples:
                Batch Status Done:
                  $ref: '#/components/examples/BatchStatusDoneResponse'
        '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 Status Queued:
                  $ref: '#/components/examples/BatchStatusQueuedResponse'
                Batch Status Executing:
                  $ref: '#/components/examples/BatchStatusExecutingResponse'
                Batch Status Failed:
                  $ref: '#/components/examples/BatchStatusFailedResponse'
        '404':
          $ref: '#/components/responses/404'
      deprecated: false
  /batch-result:
    get:
      tags:
        - Batch Result
      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:
                Fundamentals endpoint response of Single Company (FDS-US), and Multiple Metrics (FF_SALES, FF_PE):
                  $ref: '#/components/examples/resultOfSingleIdwithMultipleMetricItem'
                Segments endpoint response of Single Company (AAPL-US), sales(SALES) details for the given period:
                  $ref: >-
                    #/components/examples/resultOfSingleIdwithSingleMetricItemSegment
        '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/404'
      deprecated: false
components:
  securitySchemes:
    FactSetOAuth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://auth.factset.com/as/token.oauth2
          scopes: {}
    FactSetApiKey:
      type: http
      scheme: basic
  parameters:
    idsBatchMax2000:
      name: ids
      in: query
      schema:
        type: array
        items:
          type: string
          minItems: 1
          maxItems: 2000
      required: true
      explode: false
      description: >-
        The requested list of security identifiers. Accepted ID types include
        Market Tickers, SEDOL, ISINs, CUSIPs, or FactSet Permanent Ids.<p>***ids
        limit** =  1000 per non-batch request / 2000 per batch request*</p>
        *<p>Make note, 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, it's advised for any requests with large request lines to be
        requested through the respective "POST" method.</p>*
      examples:
        oneEquityId:
          summary: One Equity Market Identifier
          value:
            - AAPL-USA
        multipleEquityIds:
          summary: Multiple Equity Market Identifiers
          value:
            - FDS-US
            - AAPL-US
            - MSFT-US
    periodicity:
      name: periodicity
      in: query
      schema:
        type: string
        enum:
          - ANN
          - ANN_R
          - QTR
          - QTR_R
          - SEMI
          - SEMI_R
          - LTM
          - LTM_R
          - LTM_SEMI
          - LTMSG
          - YTD
        default: ANN
      required: false
      description: >
        Periodicity or frequency of the fiscal periods, where
          * **ANN**  = Annual - Original,
          * **ANN_R** = Annual - Latest - *Includes Restatements*,
          * **QTR**  = Quarterly - Original,
          * **QTR_R** = Quarterly - Latest - *Includes Restatements*,
          * **SEMI** = Semi-Annual,
          * **SEMI_R** = Semi-Annual - Latest - *Includes Restatements*,
          * **LTM**  = Last Twelve Months,
          * **LTM_R**  = Last Twelve Months - Latest - *Includes Restatements*,
          * **LTMSG** = Last Twelve Months Global [OA17959](https://my.apps.factset.com/oa/pages/17959),
          * **LTM_SEMI**  = Last Twelve Months, Semi-Annually Reported Data,
          * **YTD** = Year-to-date.
          <br>

        Please note that the coverage for SEMI_R and LTM_R may be limited as
        fewer companies report with these periodicities.<br>
      examples:
        ANN:
          summary: ANN - Annual Original.
          value: ANN
        ANN_R:
          summary: ANN_R - Annual Latest.
          value: ANN_R
        QTR:
          summary: QTR - Quarterly Original.
          value: QTR
        QTR_R:
          summary: QTR_R - Quarterly Latest.
          value: QTR_R
        SEMI:
          summary: SEMI - Semi-Annual Original.
          value: SEMI
        SEMI_R:
          summary: SEMI_R - Semi-Annual Latest.
          value: SEMI_R
        LTM:
          summary: LTM - Last Twelve Months Original.
          value: LTM
        LTM_R:
          summary: LTM_R - Last Twelve Months Latest.
          value: LTM_R
        LTMSG:
          summary: LTMSG - Last Twelve Months Global.
          value: LTMSG
        LTM_SEMI:
          summary: LTM_SEMI - Last Twelve Months - Semi Annual
          value: LTM_SEMI
        YTD:
          summary: YTD - Year-to-date.
          value: YTD
    segmentsPeriodicity:
      name: periodicity
      in: query
      schema:
        type: string
        enum:
          - ANN
          - ANN_R
        default: ANN
      required: false
      description: |
        Periodicity or frequency of the fiscal periods, where
          * **ANN**  = Annual - Original,
          * **ANN_R** = Annual - Latest - *Includes Restatements*
      examples:
        ANN:
          summary: ANN - Annual Original.
          value: ANN
        ANN_R:
          summary: ANN_R - Annual Latest.
          value: ANN_R
    fiscalPeriodStart:
      name: fiscalPeriodStart
      in: query
      required: false
      schema:
        type: string
        example: '2017-09-01'
      description: >
        The fiscal period start expressed as YYYY-MM-DD.  Calendar date that
        will fall back to the most recent completed period during resolution.
    fiscalPeriodEnd:
      name: fiscalPeriodEnd
      in: query
      required: false
      schema:
        type: string
        example: '2018-03-01'
      description: >
        The fiscal period end expressed YYYY-MM-DD.  Calendar date that will
        fall back to the most recently completed period during resolution.
    metrics:
      name: metrics
      in: query
      required: true
      explode: false
      description: >
        Requested List of Financial Statement Items or Ratios. Use /metrics
        endpoint for a complete list of available FF_* metric items. <p>*When
        requesting multiple metrics, you cannot mix metric data types (e.g.
        strings and floats). Please use /metrics endpoints for context on metric
        dataType to avoid null data.*</p> <p>***metrics limit** =  1600 per
        request*</p>

        *<p>Make note, 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 metrics, 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>*
      schema:
        type: array
        items:
          type: string
        example:
          - FF_SALES
          - FF_EPS
          - FF_PE
        minItems: 1
        maxItems: 1600
      examples:
        Single Metric:
          summary: FF_SALES
          value:
            - FF_SALES
        Multiple Metrics:
          summary: FF_SALES, FF_EPS, FF_PE
          value:
            - FF_SALES
            - FF_EPS
            - FF_PE
    segmentsMetrics:
      name: metrics
      in: query
      required: true
      explode: false
      description: >
        Metrics are the data items available for business and geographic
        segments, where
          * **SALES**  = Sales/Revenue - Total revenues from the business line/geographic region,
          * **OPINC** = Operating Income/Loss - Operating income generated from the business line/geographic region,
          * **ASSETS** = Total Assets - Total assets from the business line/geographic region,
          * **DEP** = Depreciation Exp - Depreciation expense resulting from the business line/geographic segment,
          * **CAPEX** = Capital Expenditures - Capital expenditures resulting from the business line/geographic region
      schema:
        type: string
        enum:
          - SALES
          - OPINC
          - ASSETS
          - DEP
          - CAPEX
        example: SALES
    segmentType:
      name: segmentType
      in: query
      schema:
        type: string
        enum:
          - BUS
          - GEO
        default: BUS
      required: false
      description: |
        Segment type for the metrics, where
          * **BUS**  = Business,
          * **GEO** = Geographic
      examples:
        BUS:
          summary: BUS - Business.
          value: BUS
        GEO:
          summary: GEO - Geographic.
          value: GEO
    batch:
      name: batch
      in: query
      description: >
        Enables the ability to asynchronously "batch" the request, supporting a
        long-running request for up to 20 minutes. Upon requesting batch=Y, the
        service will respond with an HTTP Status Code of 202.

        Once a batch request is submitted, use batch status to see if the job
        has been completed. Once completed, retrieve the results of the request
        via batch-result. When using Batch, ids limit is increased to 30000 ids
        per request, though limits on query string via GET method still apply.
        It's advised to submit large lists of ids via POST method.
      schema:
        type: string
        enum:
          - 'Y'
          - 'N'
        default: 'N'
    batchId:
      name: id
      in: query
      description: Batch Request identifier.
      schema:
        type: string
        format: uuid
      required: true
      allowEmptyValue: false
    currency:
      name: currency
      in: query
      description: >
        Currency code for currency values. For a list of currency ISO codes,
        visit Online Assistant Page
        [OA1470](https://my.apps.factset.com/oa/pages/1470).


        Giving input as "DOC" would give the values in reporting currency for
        the requested ids.
      required: false
      schema:
        type: string
        default: LOCAL
        example: USD
    updateType:
      name: updateType
      in: query
      schema:
        type: string
        enum:
          - RP
          - RF
        default: RP
      required: false
      description: |
        Update Status Flag:
          * **RP** = Include preliminary data,
          * **RF** = Only final data
      examples:
        ANN:
          summary: RP - Include preliminary data.
          value: RP
        QTR:
          summary: RF - Only final data.
          value: RF
    category:
      name: category
      in: query
      schema:
        type: string
        enum:
          - INCOME_STATEMENT
          - BALANCE_SHEET
          - CASH_FLOW
          - RATIOS
          - FINANCIAL_SERVICES
          - INDUSTRY_METRICS
          - PENSION_AND_POSTRETIREMENT
          - MARKET_DATA
          - MISCELLANEOUS
          - DATES
      required: false
      description: |
        Filters the list of FF_* metrics by major category -
          * **INCOME_STATEMENT** = Income Statement line items, such as Sales, Gross Profit, Net Income.
          * **BALANCE_SHEET** = Balance Sheet line items, such as Assets, Liabilities, and Shareholders Equity.
          * **CASH_FLOW** = Cash Flow Statement line items, such as Financing activities, Operation, and Per Share.
          * **RATIOS** = Pre-calculated Ratios, including Financial, Growth Rates, Profitability, Liquidity, Size, and Valuation.
          * **FINANCIAL_SERVICES** = Financial Statement Items modified for Financial Services companies.
          * **INDUSTRY_METRICS** = Industry Specific Line Items or Modifications. View subcategory for list of Industries.
          * **PENSION_AND_POSTRETIREMENT** = Accumulated Pension Benefit Obligations and related data.
          * **MARKET_DATA** = General Market Data, such as Shares Outstanding. *Note - /factset-prices/prices/ endpoints may be better suited for pricing-related market data.*
          * **MISCELLANEOUS** = Corporation Data, Financial Records details, Indicators.
          * **DATES** = Relevant Dates
      examples:
        INCOME_STATEMENT:
          summary: INCOME_STATEMENT - Income Statement.
          value: INCOME_STATEMENT
        BALANCE_SHEET:
          summary: BALANCE_SHEET - Balance Sheet.
          value: BALANCE_SHEET
        CASH_FLOW:
          summary: CASH_FLOW - Cash Flow Statement.
          value: CASH_FLOW
        RATIOS:
          summary: RATIOS - Pre-calculated Ratios.
          value: RATIOS
        FINANCIAL_SERVICES:
          summary: FINANCIAL_SERVICES - Financial Statement.
          value: FINANCIAL_SERVICES
        INDUSTRY_METRICS:
          summary: INDUSTRY_METRICS - Industry Specific.
          value: INDUSTRY_METRICS
        PENSION_AND_POSTRETIREMENT:
          summary: >-
            PENSION_AND_POSTRETIREMENT - Accumulated Pension Benefit
            Obligations.
          value: PENSION_AND_POSTRETIREMENT
        MARKET_DATA:
          summary: MARKET_DATA - General Market Data.
          value: MARKET_DATA
        MISCELLANEOUS:
          summary: >-
            MISCELLANEOUS - Corporation Data, Financial Records details,
            Indicators.
          value: MISCELLANEOUS
        DATES:
          summary: DATES - Relevant Dates.
          value: DATES
    subcategory:
      name: subcategory
      in: query
      schema:
        type: string
        enum:
          - ASSETS
          - BALANCE_SHEET
          - HEALTHCARE
          - LIABILITIES
          - PER_SHARE
          - SHAREHOLDERS_EQUITY
          - SUPPLEMENTAL
          - CASH_FLOW
          - CHANGE_IN_CASH
          - FINANCING
          - INVESTING
          - OPERATING
          - DATES
          - INCOME_STATEMENT
          - NON-OPERATING
          - RETAIL
          - AIRLINES
          - BANK
          - BANKING
          - HOTELS_AND_GAMING
          - METALS_AND_MINING
          - OIL_AND_GAS
          - PHARMACEUTICAL
          - REIT
          - MARKET_DATA
          - CLASSIFICATION
          - CORPORATE_DATA
          - FINANCIAL_RECORDS
          - INDICATOR
          - EMPLOYEES_AND_MANAGEMENT
          - PENSION_AND_POSTRETIREMENT
          - FINANCIAL
          - GROWTH_RATE
          - LIQUIDITY
          - PROFITABILITY
          - SIZE
          - VALUATION
          - OTHER
          - HOMEBUILDING
          - NET_INCOME
          - TELECOM
          - UTILITY
          - INSURANCE
      required: false
      description: >
        Sub-Category Filter for the Primary Category Requested. Choose a related
        sub-category for the Category requested-
          * **INCOME_STATEMENT** - INCOME_STATEMENT, NON-OPERATING, PER_SHARE, SUPPLEMENTAL, OTHER
          * **BALANCE_SHEET** - ASSETS, BALANCE_SHEET, HEALTHCARE, LIABILITIES, PER_SHARE, SHAREHOLDERS_EQUITY, SUPPLEMENTAL
          * **CASH_FLOW** - CASH_FLOW, CHANGE_IN_CASH, FINANCING, INVESTING, OPERATING, PER_SHARE, SUPPLEMENTAL
          * **RATIOS** - FINANCIAL, GROWTH_RATE, LIQUIDITY, PROFITABILITY, SIZE, VALUATION
          * **FINANCIAL_SERVICES** - BALANCE_SHEET, INCOME_STATEMENT, SUPPLEMENTAL
          * **INDUSTRY_METRICS** - AIRLINES, BANKING, HOTELS_AND_GAMING, METALS_AND_MINING, OIL_AND_GAS, PHARMACEUTICAL, REIT, RETAIL, BANK, INSURANCE, UTILITY
          * **PENSION_AND_POSTRETIREMENT** - PENSION_AND_POSTRETIREMENT
          * **MARKET_DATA** - MARKET_DATA
          * **MISCELLANEOUS** - CLASSIFICATION, CORPORATE_DATA, FINANCIAL_RECORDS, INDICATOR, EMPLOYEES_AND_MANAGEMENT
          * **DATES** - DATES
      examples:
        INCOME_STATEMENT_INCOME_STATEMENT:
          summary: INCOME_STATEMENT - INCOME_STATEMENT
          value: INCOME_STATEMENT
        INCOME_STATEMENT_OPERATING:
          summary: INCOME_STATEMENT - NON-OPERATING
          value: OPERATING
        INCOME_STATEMENT_PER_SHARE:
          summary: INCOME_STATEMENT - PER_SHARE
          value: PER_SHARE
        INCOME_STATEMENT_SUPPLEMENTAL:
          summary: INCOME_STATEMENT - SUPPLEMENTAL
          value: SUPPLEMENTAL
        INCOME_STATEMENT_NET_INCOME:
          summary: INCOME_STATEMENT - NET_INCOME
          value: NET_INCOME
        INCOME_STATEMENT_OTHER:

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